@unbrained/pm-cli 2026.10.11 → 2026.10.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/CHANGELOG.md +45 -0
- package/dist/cli/after-command-context-usage.d.ts +8 -8
- package/dist/cli/bundle-integrity.d.ts +23 -23
- package/dist/cli/commander-usage.d.ts +31 -31
- package/dist/cli/commander-usage.js +3 -3
- package/dist/cli/error-guidance.d.ts +158 -161
- package/dist/cli/error-guidance.js +2 -2
- package/dist/cli/extension-command-help.d.ts +68 -68
- package/dist/cli/extension-command-options.d.ts +20 -20
- package/dist/cli/extension-recovery.d.ts +20 -20
- package/dist/cli/help-content.d.ts +16 -16
- package/dist/cli/help-content.js +2 -2
- package/dist/cli/help-json-payload.d.ts +40 -40
- package/dist/cli/help-json-payload.js +1 -1
- package/dist/cli/invocation-profile.d.ts +8 -8
- package/dist/cli/main.d.ts +166 -165
- package/dist/cli/main.js +4 -4
- package/dist/cli/migration-gates.d.ts +20 -20
- package/dist/cli/register-list-query.d.ts +4 -4
- package/dist/cli/register-mutation-options.d.ts +2 -2
- package/dist/cli/register-operations.d.ts +68 -63
- package/dist/cli/register-operations.js +1 -1
- package/dist/cli/register-setup.d.ts +1 -1
- package/dist/cli/register-structured-mutation.d.ts +3 -3
- package/dist/cli/register-structured-mutation.js +1 -1
- package/dist/cli/runtime/activation.d.ts +3 -3
- package/dist/cli/runtime/invocation-options.js +1 -1
- package/dist/cli/runtime/selection.d.ts +6 -6
- package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
- package/dist/cli-bundle/bundle-manifest.json +1 -1
- package/dist/cli-bundle/chunks/{chunk-K2UTE75T.js → chunk-AM2XOZKE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-S445XEYT.js → chunk-APWPC4ZZ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +234 -0
- package/dist/cli-bundle/chunks/{chunk-RUT3CCAG.js → chunk-DUK5DHI6.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-HXHFKXLV.js +2 -0
- package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +20 -0
- package/dist/cli-bundle/chunks/{chunk-OBLO45UM.js → chunk-LBDWFWPK.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZWRLAOA4.js → chunk-N5EXRYCZ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-PSNS537F.js +30 -0
- package/dist/cli-bundle/chunks/{chunk-2JYTSTQP.js → chunk-RL45OYTL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ESRACL6K.js → chunk-UBTYYZIE.js} +49 -49
- package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-SSY4OSJR.js → chunk-YH6H3UVE.js} +10 -10
- package/dist/cli-bundle/chunks/{register-list-query-T6BOR67M.js → register-list-query-BJ742QOR.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-6NXR7SAJ.js → register-mutation-GGGBRIH2.js} +3 -3
- package/dist/cli-bundle/chunks/register-operations-E6HXYHNM.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-MAYFPKBX.js → register-setup-4ZVTVEPY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-EIOQNLBQ.js → chunk-3LQEBXU5.js} +12 -12
- package/dist/cli-bundle/focused-chunks/{chunk-PLTTMQAW.js → chunk-6BTUISKV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-73UNAJHD.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-WAOXID5J.js → chunk-DVK7VKZL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SIEGIPNT.js → chunk-F5J3ATMV.js} +16 -16
- package/dist/cli-bundle/focused-chunks/chunk-IIKFTJVC.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-AU6VJGTY.js → chunk-KGFRQ34R.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-NNW5BS5L.js +3 -0
- package/dist/cli-bundle/focused-chunks/{chunk-KNJR2WUO.js → chunk-QMNAY25P.js} +62 -62
- package/dist/cli-bundle/focused-chunks/{chunk-W5AE7GKZ.js → chunk-R23T7GFZ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-RAA7SVRA.js +8 -0
- package/dist/cli-bundle/focused-chunks/{chunk-52UJEHEV.js → chunk-RU6GCFN3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-JGFSSR3G.js → chunk-S6ITXQ5T.js} +5 -5
- package/dist/cli-bundle/focused-chunks/{chunk-DMSADMEU.js → chunk-SOB7X4FJ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +26 -0
- package/dist/cli-bundle/main.js +22 -22
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +31 -31
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +51 -51
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/cli.d.ts +4 -4
- package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
- package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
- package/dist/core/config/nested-settings.d.ts +26 -26
- package/dist/core/config/positional-value.d.ts +16 -16
- package/dist/core/diagnostics/remediation.d.ts +6 -6
- package/dist/core/diagnostics/remediation.js +1 -1
- package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
- package/dist/core/extensions/activation-summary.d.ts +54 -54
- package/dist/core/extensions/activation-transaction.d.ts +7 -7
- package/dist/core/extensions/capability-usage.d.ts +26 -26
- package/dist/core/extensions/command-hook-context.d.ts +26 -26
- package/dist/core/extensions/contribution-inventory.d.ts +21 -21
- package/dist/core/extensions/extension-candidate.d.ts +14 -14
- package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
- package/dist/core/extensions/extension-policy.d.ts +80 -80
- package/dist/core/extensions/extension-types.d.ts +1294 -1285
- package/dist/core/extensions/extension-types.js +1 -1
- package/dist/core/extensions/flag-definition-validation.d.ts +4 -4
- package/dist/core/extensions/item-fields.d.ts +3 -2
- package/dist/core/extensions/item-fields.js +1 -1
- package/dist/core/extensions/loader.d.ts +36 -36
- package/dist/core/extensions/loader.js +1 -1
- package/dist/core/extensions/manifest-schema.d.ts +16 -16
- package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
- package/dist/core/extensions/read-output-contract.d.ts +5 -0
- package/dist/core/extensions/read-output-contract.js +2 -0
- package/dist/core/extensions/registration-values.d.ts +1 -1
- package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
- package/dist/core/extensions/version-compat.d.ts +10 -10
- package/dist/core/fs/fs-utils.d.ts +1 -1
- package/dist/core/fs/host-environment-errors.d.ts +14 -14
- package/dist/core/governance/content-fields.d.ts +31 -31
- package/dist/core/governance/issue-codes.d.ts +27 -27
- package/dist/core/governance/metadata-coverage.d.ts +91 -91
- package/dist/core/history/drift-scan.d.ts +26 -26
- package/dist/core/history/event-classification.d.ts +1 -1
- package/dist/core/history/event-classification.js +1 -1
- package/dist/core/history/event-index.d.ts +41 -41
- package/dist/core/history/history-compact-bulk.d.ts +22 -22
- package/dist/core/history/history-diff.d.ts +22 -22
- package/dist/core/history/history-rewrite.d.ts +66 -66
- package/dist/core/history/history-storage-stats.d.ts +31 -31
- package/dist/core/history/history-stream-policy.d.ts +12 -12
- package/dist/core/history/history.d.ts +22 -22
- package/dist/core/history/identity.d.ts +6 -6
- package/dist/core/history/operation-contract.d.ts +9 -9
- package/dist/core/history/projection.d.ts +15 -15
- package/dist/core/history/read.d.ts +4 -4
- package/dist/core/history/replay.d.ts +51 -49
- package/dist/core/history/replay.js +1 -1
- package/dist/core/history/workspace-history.d.ts +101 -101
- package/dist/core/io/bulk-ids-input.d.ts +4 -4
- package/dist/core/item/actionability.d.ts +40 -40
- package/dist/core/item/id.d.ts +3 -3
- package/dist/core/item/item-format-version.d.ts +8 -8
- package/dist/core/item/item-format.d.ts +37 -35
- package/dist/core/item/item-format.js +2 -2
- package/dist/core/item/item-type-definition.d.ts +2 -2
- package/dist/core/item/parent-reference-policy.d.ts +1 -1
- package/dist/core/item/parse.d.ts +12 -12
- package/dist/core/item/sprint-release-format.d.ts +2 -2
- package/dist/core/item/status-filter.d.ts +4 -4
- package/dist/core/item/toon-decode.d.ts +9 -9
- package/dist/core/item/type-registry.d.ts +40 -40
- package/dist/core/lock/lock-gc.d.ts +50 -50
- package/dist/core/lock/lock.d.ts +37 -37
- package/dist/core/output/mutation-projection.d.ts +6 -6
- package/dist/core/output/output-control.d.ts +4 -4
- package/dist/core/output/output.d.ts +40 -40
- package/dist/core/output/query-summary.d.ts +5 -5
- package/dist/core/packages/manifest.d.ts +50 -50
- package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
- package/dist/core/policy/workflow-policy-store.d.ts +7 -7
- package/dist/core/policy/workflow-policy.d.ts +81 -81
- package/dist/core/profile/profile-describe.d.ts +40 -40
- package/dist/core/profile/profile-lint.d.ts +20 -20
- package/dist/core/profile/profile-plan.d.ts +84 -84
- package/dist/core/profile/profile-presets.d.ts +52 -52
- package/dist/core/reproducibility/context.d.ts +6 -6
- package/dist/core/schema/fields-file.d.ts +54 -54
- package/dist/core/schema/item-types-file.d.ts +36 -36
- package/dist/core/schema/runtime-field-values.d.ts +2 -2
- package/dist/core/schema/runtime-schema.d.ts +86 -86
- package/dist/core/schema/status-defs-file.d.ts +36 -36
- package/dist/core/schema/type-inference.d.ts +14 -14
- package/dist/core/schema/type-workflows.d.ts +22 -22
- package/dist/core/search/background-refresh.d.ts +9 -9
- package/dist/core/search/bm25.d.ts +19 -19
- package/dist/core/search/cache.d.ts +35 -35
- package/dist/core/search/corpus.d.ts +12 -12
- package/dist/core/search/embedding-batches.d.ts +48 -48
- package/dist/core/search/eval.d.ts +49 -49
- package/dist/core/search/http-client.d.ts +38 -38
- package/dist/core/search/providers.d.ts +41 -41
- package/dist/core/search/relevance.d.ts +20 -20
- package/dist/core/search/semantic-defaults.d.ts +8 -8
- package/dist/core/search/staleness.d.ts +4 -4
- package/dist/core/search/vector-stores.d.ts +78 -78
- package/dist/core/search/vectorization-metadata.d.ts +6 -6
- package/dist/core/sentry/helpers.d.ts +15 -15
- package/dist/core/sentry/instrument.d.ts +40 -40
- package/dist/core/session/session-state.d.ts +32 -32
- package/dist/core/shared/agent-session-context.d.ts +14 -14
- package/dist/core/shared/author.d.ts +128 -128
- package/dist/core/shared/command-types.d.ts +40 -40
- package/dist/core/shared/conflict-markers.d.ts +6 -6
- package/dist/core/shared/constants.d.ts +13 -13
- package/dist/core/shared/errors.d.ts +194 -183
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/shared/secret-rules.d.ts +97 -97
- package/dist/core/shared/serial-queue.d.ts +8 -8
- package/dist/core/shared/split-comma-list.d.ts +6 -6
- package/dist/core/shared/time.d.ts +23 -23
- package/dist/core/store/item-format-migration.d.ts +10 -10
- package/dist/core/store/item-metadata-cache.d.ts +38 -38
- package/dist/core/store/item-metadata-query-index.d.ts +79 -79
- package/dist/core/store/item-metadata-read-work.d.ts +6 -6
- package/dist/core/store/item-store.d.ts +110 -110
- package/dist/core/store/paths.d.ts +2 -2
- package/dist/core/store/settings-read-cache.d.ts +12 -12
- package/dist/core/store/settings-validator.d.ts +165 -165
- package/dist/core/store/settings.d.ts +59 -59
- package/dist/core/telemetry/observability.d.ts +17 -17
- package/dist/core/telemetry/policy.d.ts +3 -3
- package/dist/core/telemetry/runtime.d.ts +242 -242
- package/dist/core/telemetry/runtime.js +2 -2
- package/dist/core/test/background-runs.d.ts +186 -185
- package/dist/core/test/background-runs.js +2 -2
- package/dist/core/test/item-test-run-tracking.d.ts +6 -6
- package/dist/core/test/run-selectors.d.ts +18 -18
- package/dist/core/validate/fix-planning.d.ts +50 -50
- package/dist/core/validate/missing-by-type.d.ts +4 -4
- package/dist/core/validate/missing-link-owners.d.ts +30 -30
- package/dist/core/validate/stale-file-classification.d.ts +8 -8
- package/dist/mcp/http-server.d.ts +28 -28
- package/dist/mcp/legacy-adapter.d.ts +33 -33
- package/dist/mcp/runtime-capabilities.d.ts +16 -16
- package/dist/mcp/server.d.ts +50 -50
- package/dist/mcp/tool-definitions.d.ts +36 -36
- package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
- package/dist/sdk/agent/command-recovery.d.ts +4 -0
- package/dist/sdk/agent/command-recovery.js +1 -1
- package/dist/sdk/agent/command-suggestions.d.ts +2 -0
- package/dist/sdk/agent/command-suggestions.js +1 -1
- package/dist/sdk/agent/identity-config.d.ts +32 -32
- package/dist/sdk/agent/item-addressing.d.ts +8 -8
- package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
- package/dist/sdk/agent/refusal-closure.d.ts +42 -42
- package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
- package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
- package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
- package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
- package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
- package/dist/sdk/agent-capability-contracts.d.ts +37 -37
- package/dist/sdk/annotations.d.ts +106 -106
- package/dist/sdk/author-attribution.d.ts +76 -76
- package/dist/sdk/authoring.d.ts +1 -1
- package/dist/sdk/authoring.js +1 -1
- package/dist/sdk/cli-bootstrap.d.ts +70 -70
- package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
- package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
- package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
- package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
- package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
- package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
- package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/registration-helpers.d.ts +37 -40
- package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
- package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
- package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
- package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +55 -55
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
- package/dist/sdk/comments.d.ts +44 -44
- package/dist/sdk/compile-cache.d.ts +4 -4
- package/dist/sdk/completion/shared.d.ts +22 -22
- package/dist/sdk/compose.d.ts +156 -156
- package/dist/sdk/config.d.ts +123 -123
- package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
- package/dist/sdk/context/usage-ledger.d.ts +20 -20
- package/dist/sdk/context-intent-contracts.d.ts +50 -50
- package/dist/sdk/context-intent-contracts.js +1 -1
- package/dist/sdk/context-intent-runtime.d.ts +8 -8
- package/dist/sdk/context-packing.d.ts +78 -78
- package/dist/sdk/context-relevance.d.ts +189 -180
- package/dist/sdk/context-relevance.js +1 -1
- package/dist/sdk/context-signal-store.d.ts +84 -84
- package/dist/sdk/context-usage.d.ts +92 -92
- package/dist/sdk/core.d.ts +1 -0
- package/dist/sdk/core.js +1 -1
- package/dist/sdk/corpus-shape.d.ts +101 -101
- package/dist/sdk/define.d.ts +2 -2
- package/dist/sdk/dependencies.d.ts +116 -116
- package/dist/sdk/dependency-flag-validation.d.ts +14 -12
- package/dist/sdk/dependency-flag-validation.js +1 -1
- package/dist/sdk/dependency-provenance.d.ts +30 -30
- package/dist/sdk/docs.d.ts +32 -32
- package/dist/sdk/duplicates.d.ts +21 -21
- package/dist/sdk/environment/agent-environment.d.ts +196 -196
- package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
- package/dist/sdk/environment/source-context.d.ts +6 -6
- package/dist/sdk/error-code-catalog.d.ts +40 -40
- package/dist/sdk/errors.d.ts +29 -29
- package/dist/sdk/eval.d.ts +45 -45
- package/dist/sdk/extension/author-manifest.d.ts +14 -14
- package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
- package/dist/sdk/extension/describe.d.ts +36 -36
- package/dist/sdk/extension/doctor.d.ts +29 -29
- package/dist/sdk/extension/install-plan.d.ts +55 -55
- package/dist/sdk/extension/install-receipts.d.ts +2 -2
- package/dist/sdk/extension/install-runtime.d.ts +8 -8
- package/dist/sdk/extension/install-snapshot.d.ts +14 -14
- package/dist/sdk/extension/install-sources.d.ts +96 -96
- package/dist/sdk/extension/managed-state.d.ts +66 -66
- package/dist/sdk/extension/migrations.d.ts +82 -82
- package/dist/sdk/extension/output-ownership.d.ts +24 -24
- package/dist/sdk/extension/runtime-summary.d.ts +5 -5
- package/dist/sdk/extension/scaffold.d.ts +12 -12
- package/dist/sdk/extension/shared.d.ts +15 -15
- package/dist/sdk/extension/source-resolution.d.ts +30 -30
- package/dist/sdk/extension/static-inventory.d.ts +42 -42
- package/dist/sdk/extension/update-check.d.ts +10 -10
- package/dist/sdk/extension.d.ts +320 -320
- package/dist/sdk/files.d.ts +157 -157
- package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
- package/dist/sdk/governance/artifact-ledgers.js +1 -1
- package/dist/sdk/governance/assurance-action.d.ts +68 -68
- package/dist/sdk/governance/assurance-action.js +1 -1
- package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
- package/dist/sdk/governance/assurance-presets.d.ts +24 -24
- package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
- package/dist/sdk/governance/assurance.d.ts +353 -353
- package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
- package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
- package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
- package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
- package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
- package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
- package/dist/sdk/governance/defect-recurrence.js +1 -1
- package/dist/sdk/governance/extension-host-version.d.ts +16 -16
- package/dist/sdk/governance/gc.d.ts +48 -48
- package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
- package/dist/sdk/governance/health.d.ts +188 -188
- package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
- package/dist/sdk/governance/linked-file-report.d.ts +26 -26
- package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
- package/dist/sdk/governance/provenance-health.d.ts +64 -64
- package/dist/sdk/governance/reindex.d.ts +89 -89
- package/dist/sdk/governance/reliability.d.ts +56 -56
- package/dist/sdk/governance/stale-work.d.ts +22 -22
- package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
- package/dist/sdk/governance/storage-integrity.d.ts +54 -54
- package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
- package/dist/sdk/governance/upgrade.d.ts +104 -104
- package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
- package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
- package/dist/sdk/governance/validate.d.ts +191 -191
- package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
- package/dist/sdk/governance/workflow-policy.d.ts +28 -28
- package/dist/sdk/governance/workspace-position.d.ts +46 -46
- package/dist/sdk/graph/adapter.d.ts +66 -66
- package/dist/sdk/graph/analytics.d.ts +54 -54
- package/dist/sdk/graph/assembly.d.ts +80 -80
- package/dist/sdk/graph/cache.d.ts +29 -29
- package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
- package/dist/sdk/graph/cardinality-integrity.js +2 -0
- package/dist/sdk/graph/centrality.d.ts +34 -34
- package/dist/sdk/graph/conformance.d.ts +33 -33
- package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
- package/dist/sdk/graph/durable-cache.d.ts +26 -26
- package/dist/sdk/graph/governance.d.ts +165 -165
- package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
- package/dist/sdk/graph/index.d.ts +1 -0
- package/dist/sdk/graph/index.js +1 -1
- package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
- package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
- package/dist/sdk/graph/query-contracts.d.ts +10 -10
- package/dist/sdk/graph/remediation.d.ts +25 -25
- package/dist/sdk/graph/run.d.ts +392 -392
- package/dist/sdk/graph/scheduling.d.ts +38 -38
- package/dist/sdk/graph/traversal.d.ts +14 -14
- package/dist/sdk/guide-topics.d.ts +32 -32
- package/dist/sdk/guide.d.ts +62 -62
- package/dist/sdk/history/attestation-command.d.ts +12 -12
- package/dist/sdk/history/attestation-contract.d.ts +78 -78
- package/dist/sdk/history/attestation-scan.d.ts +6 -6
- package/dist/sdk/history/maintenance.d.ts +46 -46
- package/dist/sdk/history/salvage.d.ts +18 -18
- package/dist/sdk/history/subject.d.ts +9 -9
- package/dist/sdk/history-analytics.d.ts +84 -84
- package/dist/sdk/history-compact.d.ts +103 -103
- package/dist/sdk/history-mcp.d.ts +8 -8
- package/dist/sdk/history-provenance.d.ts +59 -59
- package/dist/sdk/history-read.d.ts +36 -36
- package/dist/sdk/history-redact.d.ts +78 -78
- package/dist/sdk/history-repair.d.ts +158 -158
- package/dist/sdk/history-repair.js +1 -1
- package/dist/sdk/improvement-ledger.d.ts +102 -102
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/init-agent-guidance.d.ts +70 -70
- package/dist/sdk/init.d.ts +152 -152
- package/dist/sdk/item-children.d.ts +28 -28
- package/dist/sdk/item-schedule.d.ts +12 -12
- package/dist/sdk/item-transaction.d.ts +100 -100
- package/dist/sdk/learnings.d.ts +42 -42
- package/dist/sdk/lifecycle/append.d.ts +14 -14
- package/dist/sdk/lifecycle/claim.d.ts +60 -60
- package/dist/sdk/lifecycle/close-many.d.ts +94 -94
- package/dist/sdk/lifecycle/close.d.ts +27 -27
- package/dist/sdk/lifecycle/copy.d.ts +18 -18
- package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
- package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
- package/dist/sdk/lifecycle/create.d.ts +82 -82
- package/dist/sdk/lifecycle/create.js +1 -1
- package/dist/sdk/lifecycle/delete.d.ts +28 -28
- package/dist/sdk/lifecycle/focus.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
- package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
- package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
- package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
- package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
- package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
- package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
- package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
- package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
- package/dist/sdk/lifecycle/plan.d.ts +217 -217
- package/dist/sdk/lifecycle/reopen.d.ts +29 -24
- package/dist/sdk/lifecycle/reopen.js +1 -1
- package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
- package/dist/sdk/lifecycle/restore.d.ts +33 -33
- package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
- package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
- package/dist/sdk/lifecycle/update-many.d.ts +79 -79
- package/dist/sdk/lifecycle/update.d.ts +131 -132
- package/dist/sdk/lifecycle/update.js +2 -2
- package/dist/sdk/lifecycle-completion.d.ts +22 -22
- package/dist/sdk/lifecycle-policy.d.ts +52 -52
- package/dist/sdk/linked-artifacts.d.ts +69 -69
- package/dist/sdk/mcp/apps.d.ts +32 -32
- package/dist/sdk/mcp/authorization.d.ts +76 -76
- package/dist/sdk/mcp/discovery.d.ts +111 -111
- package/dist/sdk/mcp/interactions.d.ts +61 -61
- package/dist/sdk/mcp/protocol.d.ts +78 -78
- package/dist/sdk/mcp/skills.d.ts +88 -88
- package/dist/sdk/mcp/subscriptions.d.ts +39 -39
- package/dist/sdk/mcp/tasks.d.ts +75 -75
- package/dist/sdk/mcp/transport.d.ts +11 -11
- package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
- package/dist/sdk/merge/driver.d.ts +60 -60
- package/dist/sdk/merge/install.d.ts +64 -64
- package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
- package/dist/sdk/merge/receipt-operation.d.ts +6 -6
- package/dist/sdk/merge/receipt-schema.d.ts +2 -2
- package/dist/sdk/merge/receipts.d.ts +156 -156
- package/dist/sdk/merge/reconcile.d.ts +36 -36
- package/dist/sdk/merge/reconcile.js +1 -1
- package/dist/sdk/merge/three-way.d.ts +77 -76
- package/dist/sdk/merge/three-way.js +1 -1
- package/dist/sdk/mutation-events.d.ts +84 -84
- package/dist/sdk/mutation-guard.d.ts +106 -106
- package/dist/sdk/notes.d.ts +52 -52
- package/dist/sdk/output/table-rows.d.ts +8 -8
- package/dist/sdk/output-contracts.d.ts +38 -38
- package/dist/sdk/output-projection.d.ts +142 -142
- package/dist/sdk/output-token-accounting.d.ts +27 -27
- package/dist/sdk/output.d.ts +28 -28
- package/dist/sdk/package-import-adapters.d.ts +54 -54
- package/dist/sdk/pagination.d.ts +29 -29
- package/dist/sdk/profile.d.ts +123 -123
- package/dist/sdk/provenance.d.ts +58 -58
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/activity.d.ts +118 -118
- package/dist/sdk/query/aggregate.d.ts +140 -140
- package/dist/sdk/query/calendar.d.ts +144 -144
- package/dist/sdk/query/complete-list.d.ts +53 -53
- package/dist/sdk/query/context.d.ts +395 -395
- package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
- package/dist/sdk/query/get.d.ts +77 -77
- package/dist/sdk/query/history.d.ts +72 -72
- package/dist/sdk/query/item-filter-options.d.ts +79 -79
- package/dist/sdk/query/list-filter-shared.d.ts +1 -1
- package/dist/sdk/query/list.d.ts +188 -188
- package/dist/sdk/query/multi-value-filters.d.ts +4 -4
- package/dist/sdk/query/next-ready-budget.d.ts +14 -14
- package/dist/sdk/query/next.d.ts +137 -137
- package/dist/sdk/query/projection-contracts.d.ts +8 -8
- package/dist/sdk/query/search/corpus.d.ts +8 -8
- package/dist/sdk/query/search/filters.d.ts +5 -5
- package/dist/sdk/query/search/input.d.ts +4 -4
- package/dist/sdk/query/search/response.d.ts +8 -8
- package/dist/sdk/query/search/semantic.d.ts +106 -106
- package/dist/sdk/query/search/types.d.ts +85 -85
- package/dist/sdk/query/search-contracts.d.ts +65 -65
- package/dist/sdk/query/search-pagination.d.ts +19 -19
- package/dist/sdk/query/search-rendering.d.ts +25 -25
- package/dist/sdk/query/search.d.ts +46 -46
- package/dist/sdk/read-output/continuation.d.ts +8 -8
- package/dist/sdk/read-output/continuation.js +1 -1
- package/dist/sdk/read-output/extension.d.ts +7 -0
- package/dist/sdk/read-output/extension.js +2 -0
- package/dist/sdk/read-output/options.d.ts +6 -4
- package/dist/sdk/read-output/options.js +1 -1
- package/dist/sdk/read-output/provenance.d.ts +8 -8
- package/dist/sdk/read-output-budget.d.ts +10 -10
- package/dist/sdk/read-output-contracts.d.ts +192 -186
- package/dist/sdk/read-output-contracts.js +1 -1
- package/dist/sdk/read-output-rows.d.ts +6 -6
- package/dist/sdk/read-output-session.d.ts +50 -50
- package/dist/sdk/relationship-analytics.d.ts +78 -78
- package/dist/sdk/relationship-context.d.ts +81 -81
- package/dist/sdk/relationship-history.d.ts +109 -109
- package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
- package/dist/sdk/relationship-migration.d.ts +26 -26
- package/dist/sdk/relationships.d.ts +78 -78
- package/dist/sdk/reproducibility/process.d.ts +3 -3
- package/dist/sdk/runtime/context.d.ts +11 -11
- package/dist/sdk/runtime-action-aliases.d.ts +2 -2
- package/dist/sdk/runtime-extended-actions.d.ts +8 -8
- package/dist/sdk/runtime-input.d.ts +3 -3
- package/dist/sdk/runtime-public-contracts.d.ts +78 -78
- package/dist/sdk/runtime.d.ts +305 -305
- package/dist/sdk/runtime.js +1 -1
- package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
- package/dist/sdk/schema-migration.d.ts +86 -86
- package/dist/sdk/schema.d.ts +355 -355
- package/dist/sdk/similarity-scoring.d.ts +10 -10
- package/dist/sdk/similarity.d.ts +113 -113
- package/dist/sdk/stats.d.ts +108 -108
- package/dist/sdk/structured-mutations.d.ts +16 -16
- package/dist/sdk/structured-mutations.js +1 -1
- package/dist/sdk/telemetry.d.ts +53 -53
- package/dist/sdk/templates.d.ts +39 -39
- package/dist/sdk/test/batch.d.ts +85 -85
- package/dist/sdk/test/batch.js +1 -1
- package/dist/sdk/test/command-args.d.ts +4 -0
- package/dist/sdk/test/command-args.js +2 -0
- package/dist/sdk/test/entry.d.ts +3 -0
- package/dist/sdk/test/entry.js +1 -1
- package/dist/sdk/test/execution-receipts.d.ts +3 -3
- package/dist/sdk/test/execution.d.ts +279 -268
- package/dist/sdk/test/execution.js +2 -2
- package/dist/sdk/test/json-path.d.ts +2 -2
- package/dist/sdk/test/linked-command-detection.d.ts +10 -10
- package/dist/sdk/test/measurements.d.ts +11 -11
- package/dist/sdk/test/parsers.d.ts +1 -1
- package/dist/sdk/test/parsers.js +1 -1
- package/dist/sdk/test/prerequisites.d.ts +6 -0
- package/dist/sdk/test/prerequisites.js +2 -0
- package/dist/sdk/test/runs.d.ts +52 -52
- package/dist/sdk/test/trust.d.ts +12 -12
- package/dist/sdk/test/trust.js +1 -1
- package/dist/sdk/test/update.d.ts +55 -0
- package/dist/sdk/test/update.js +2 -0
- package/dist/sdk/testing.d.ts +319 -319
- package/dist/sdk/traceability/source-traceability.d.ts +65 -65
- package/dist/sdk/workspace-contracts.d.ts +37 -37
- package/dist/sdk/workspace-memory.d.ts +60 -60
- package/dist/sdk/workspace-recipe.d.ts +9 -9
- package/dist/sdk/workspace-snapshot.d.ts +97 -97
- package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
- package/dist/sdk/workspace-transaction.d.ts +47 -47
- package/dist/sdk/workspace.d.ts +6 -6
- package/dist/types.d.ts +978 -974
- package/dist/types.js +1 -1
- package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
- package/docs/DEFECT_RECURRENCE.md +12 -0
- package/docs/EXTENSIONS.md +2 -2
- package/docs/LINKED_TEST_EDITS.md +79 -0
- package/docs/MERGE_SAFETY.md +27 -1
- package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
- package/docs/RELATIONSHIP_GRAPH.md +26 -0
- package/docs/RELEASING.md +25 -8
- package/docs/SDK.md +204 -637
- package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
- package/docs/SDK_EVIDENCE_TRACEABILITY.md +4 -0
- package/docs/TESTING.md +13 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -3
- package/docs/performance/runner-qualification.md +36 -0
- package/marketplace.json +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/core/package.json +2 -2
- package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/resources/package.json +3 -3
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
- package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
- package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
- package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
- package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
- package/node_modules/@sentry/core/build/cjs/index.js +3 -0
- package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/cjs/server.js +3 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
- package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
- package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/esm/browser.js +1 -0
- package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
- package/node_modules/@sentry/core/build/esm/index.js +1 -0
- package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
- package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
- package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
- package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
- package/node_modules/@sentry/core/build/esm/package.json +1 -1
- package/node_modules/@sentry/core/build/esm/server.js +1 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
- package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
- package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
- package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
- package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
- package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
- package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
- package/node_modules/@sentry/core/package.json +3 -2
- package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
- package/node_modules/@sentry/node/build/esm/package.json +1 -1
- package/node_modules/@sentry/node/package.json +7 -6
- package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
- package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
- package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
- package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
- package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
- package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
- package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
- package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
- package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
- package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
- package/node_modules/@sentry/node-core/package.json +5 -4
- package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
- package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
- package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
- package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
- package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
- package/node_modules/@sentry/opentelemetry/package.json +4 -3
- package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
- package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
- package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
- package/node_modules/@sentry/server-utils/package.json +4 -3
- package/node_modules/cjs-module-lexer/README.md +8 -3
- package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
- package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
- package/node_modules/cjs-module-lexer/lexer.js +48 -9
- package/node_modules/cjs-module-lexer/package.json +3 -2
- package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
- package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
- package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
- package/node_modules/es-module-lexer/package.json +1 -1
- package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
- package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
- package/node_modules/import-in-the-middle/package.json +1 -1
- package/package.json +2 -2
- package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +1 -1
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +1 -1
- package/scripts/finalize-build.mjs +37 -0
- package/dist/cli-bundle/chunks/chunk-BXSXT5Z6.js +0 -2
- package/dist/cli-bundle/chunks/chunk-KNW3RSLS.js +0 -30
- package/dist/cli-bundle/chunks/chunk-MEWBSWE3.js +0 -2
- package/dist/cli-bundle/chunks/chunk-RBPOO46D.js +0 -20
- package/dist/cli-bundle/chunks/chunk-YMLF6QT7.js +0 -234
- package/dist/cli-bundle/chunks/register-operations-PDOBQZUJ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2CJWTLQG.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-B3YW6H2I.js +0 -26
- package/dist/cli-bundle/focused-chunks/chunk-GVGFUD52.js +0 -8
- package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-PBCYGO7X.js +0 -3
- package/dist/cli-bundle/focused-chunks/chunk-WOEZJUA2.js +0 -2
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import{b as on,g as St,i as Tt,j as Ct,l as $i,m as Hi,n as dn,o as zi,p as Ui,q as Bi}from"./chunk-PBCYGO7X.js";import{h as fn}from"./chunk-YLVHHWHN.js";import{$ as w,$a as Mi,$b as qi,$c as $e,$d as tt,A as ki,Ce as xr,De as Rr,F as nn,G as rn,H as vr,J as Ii,Ja as Ri,Mc as me,Me as ye,Nc as Sr,Ne as se,Oa as Ai,Oc as ln,P as ve,Pa as Di,Pc as _e,Qc as Tr,Ra as Ni,Rb as Fi,Rc as ke,Sa as Li,Sc as Cr,V as Pe,Va as sn,Vc as Ot,W as Si,Wb as Wi,Xa as Pi,Xd as Ji,Yd as Ie,Z as k,Zd as pe,_ as Me,_a as an,_b as Vi,_d as Qi,aa as h,ae as he,bd as Gi,cb as et,db as kr,dd as Or,de as Zi,eb as Ir,ee as es,fb as fe,fd as Ki,fe as W,gd as Xi,hb as ji,i as Qt,ka as ue,kd as Yi,pa as Ti,q as Zt,r as bi,ra as Ci,s as wi,sa as je,t as vi,ta as Fe,tb as D,u as Ei,ua as ne,ub as ie,va as Ee,vb as cn,wa as Oi,wb as T,xa as Er,xd as un,y as en,ya as K,z as tn,za as xi}from"./chunk-B3YW6H2I.js";import{AsyncLocalStorage as Qc}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1fbb183b-c6d8-5834-b4cb-e4fb515572b9")}catch{}})();var Ar=new Qc,ts=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function mn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function He(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=mn(n.id,128),o=mn(n.parent_id,128);if(r===void 0||!ts.test(r)||o!==void 0&&!ts.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=mn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function nt(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=mn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Zc(e,t,n){let r=Ar.getStore(),o=nt({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=He(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...nt(r?.provenance),...o,...nt(e?.provenance)},a=He(e?.episode,!1)??He(n,!1)??i??He(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function Dr(e,t){return Zc(e.session_context,t,e.client_info?.episode)??{}}function Yp(e,t){let n=Ar.getStore(),r=He(e.episode,!0),o=He(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...nt(n?.provenance),...nt(e.provenance)};return Ar.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Jp(e){let t=nt(e.provenance),n=He(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Vr}from"node:async_hooks";import{createHash as od}from"node:crypto";import V from"node:fs";import ls from"node:os";import Be from"node:path";import{createHash as ns}from"node:crypto";import{existsSync as Nr,promises as rs,readFileSync as ed}from"node:fs";import ae from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06c9f6f4-c2f0-549c-9a0f-4f4269cc5f49")}catch{}})();var td="session.json";function Lr(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function os(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Lr(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Lr(c,128)),a=t.focused_item_id===void 0||Lr(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function nd(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=os(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Pr(e){return ae.join(ji(e),td)}async function is(e){try{let t=await rs.readFile(Pr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=nd(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Mr(e,t){let n=await W(e,"session-state",k.locks.ttl_seconds,"session-state",!1,!0,k.locks.wait_ms);try{let r=await is(e);t(r);let o=Pr(e);await rs.mkdir(ae.dirname(o),{recursive:!0}),await K(o,JSON.stringify(r))}finally{await n()}}function jr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${ns("sha256").update(e).digest("hex").slice(0,24)}`}function Fr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function $r(e){let t=[...new Set(e)].sort((r,o)=>r.localeCompare(o));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${ns("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Hr(e,t,n){await Mr(e,r=>{let o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i,Object.keys(o).length===0?delete r.semantic_attribution:r.semantic_attribution=o})}async function sh(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??$r(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function ah(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??$r(r),confidence:o?"high":"medium",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function ch(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??$r(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function rd(e,t){let n=t.PM_PATH?.trim();if(n){let o=ae.resolve(e,n);if(Nr(ae.join(o,"settings.json")))return o;let i=ae.join(o,".agents","pm");if(Nr(ae.join(i,"settings.json")))return i}let r=ae.resolve(e);for(let o=0;o<32;o+=1){let i=ae.join(r,".agents","pm");if(Nr(ae.join(i,"settings.json")))return i;let s=ae.dirname(r);if(s===r)break;r=s}}function ss(e){if(!e.key)return;let t=rd(e.cwd,e.env);if(t)try{let n=JSON.parse(ed(Pr(t),"utf8"));return os(n.semantic_attribution?.[e.key])}catch{return}}async function dh(e){return(await is(e)).focused_item}async function lh(e,t){await Mr(e,n=>{n.focused_item=t})}async function uh(e){await Mr(e,t=>{delete t.focused_item})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a69b86e2-6633-5abc-81b7-6a54a592d36c")}catch{}})();var qr=["model","effort","role","topic","version"],hn=new Vr,us=new Vr,yn=new Vr,Gr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],fs=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),id=Object.freeze({...fs,max_bytes:4194304}),zr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function sd(e){let t=Te(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?id:fs,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var ms=Object.freeze(Gr.filter(e=>e.harness!=="ci").map(sd).sort((e,t)=>e.harness.localeCompare(t.harness))),Ue=new Map,rt=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Se(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Te(e){let t=e.harness.trim().toLowerCase();if(!zr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Se(e.environment_keys),model_environment_keys:Se(e.model_environment_keys),session_environment_keys:Se(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Se(r)]).filter(([n])=>zr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&zr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Se(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Se(e.argv_markers).map(n=>n.toLowerCase()),client_names:Se(e.client_names).map(n=>n.toLowerCase())}}var _s=Gr.map(Te);function ad(e,t){return JSON.stringify(e)===JSON.stringify(t)}function pn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(n=>n.length>0).includes(t)||e.trim().toLowerCase()===t}function Kr(e=[]){let t=new Map(Gr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Te(o)]));for(let{adapter:o}of Ue.values())t.set(o.harness,Te(o.descriptor));let n=[...t.values(),..._s.filter(o=>o.harness==="ci"),...[...rt.values()].map(o=>o.descriptor),...yn.getStore()?.descriptors??[],...e.map(Te)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function Xr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function cd(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function ps(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var dd=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function ze(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return dd.has(n)?n:void 0}function Ur(e,t){return P(e?.[t])?.slice(0,256)}var ld=1048576,Wr=4194304,_n=new Map,as=Object.freeze({}),Br=new Map,cs=Object.freeze({});function ds(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function ud(e){let t;try{t=JSON.parse(e)}catch{return cs}let n=ds(t);if(!n)return cs;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=ds(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function hs(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return Fe(t)?"missing":"failed"}}function fd(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Be.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:hs(i)}})}catch(o){return{status:Fe(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function ys(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let r=Be.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),o=Be.join(e.home_dir??ls.homedir(),".claude","projects"),i=Be.join(o,r,`${n}.jsonl`),s=P(e.session_file),a=s&&Be.basename(s)===`${n}.jsonl`?s:void 0;for(let c of[a,i]){if(!c)continue;let d=hs(c);if(d==="available")return{status:d,path:c};if(d==="failed")return{status:d}}return fd(o,n)}function md(e,t,n){let r=ys(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Br.get(s);if(a)return a[e];let c=Math.min(i.size,ld),d=Math.min(c,Math.ceil(c/2)),l=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(l);l>0&&V.readSync(o,m,0,l,i.size-l);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
|
|
1
|
+
import{b as on,g as St,i as Tt,j as Ct,l as Ui,m as Bi,n as dn,o as Wi,p as Vi,q as qi}from"./chunk-NNW5BS5L.js";import{h as fn}from"./chunk-YLVHHWHN.js";import{$ as w,$a as Mi,$c as Or,$d as tt,A as ki,Ce as xr,De as Rr,F as nn,G as rn,H as vr,J as Ii,Ja as Ri,Me as ye,Nc as me,Ne as se,Oa as Ai,Oc as Sr,P as ve,Pa as Di,Pc as ln,Qc as _e,Ra as Ni,Rc as Tr,Sa as Li,Sc as ke,Tc as Cr,V as Pe,Va as sn,W as Si,Wc as Ot,Xa as Pi,Xd as Ji,Yd as Ie,Z as k,Zc as Gi,Zd as pe,_ as Me,_a as an,_d as Qi,aa as h,ae as he,cb as et,db as kr,de as Zi,eb as Ir,ed as $e,ee as es,fb as fe,fe as W,gd as Ki,hb as ji,hd as Xi,i as Qt,ib as D,jb as ie,ka as ue,kb as cn,lb as T,ld as Yi,pa as Ti,q as Zt,qb as Fi,r as bi,ra as Ci,s as wi,sa as je,t as vi,ta as Fe,u as Ei,ua as ne,ub as $i,va as Ee,vb as Hi,wa as Oi,xa as Er,xc as zi,y as en,ya as K,yd as un,z as tn,za as xi}from"./chunk-UPJA45K7.js";import{AsyncLocalStorage as Qc}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1fbb183b-c6d8-5834-b4cb-e4fb515572b9")}catch{}})();var Ar=new Qc,ts=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function mn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function He(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=mn(n.id,128),o=mn(n.parent_id,128);if(r===void 0||!ts.test(r)||o!==void 0&&!ts.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=mn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function nt(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=mn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Zc(e,t,n){let r=Ar.getStore(),o=nt({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=He(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...nt(r?.provenance),...o,...nt(e?.provenance)},a=He(e?.episode,!1)??He(n,!1)??i??He(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function Dr(e,t){return Zc(e.session_context,t,e.client_info?.episode)??{}}function Jp(e,t){let n=Ar.getStore(),r=He(e.episode,!0),o=He(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...nt(n?.provenance),...nt(e.provenance)};return Ar.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Qp(e){let t=nt(e.provenance),n=He(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Vr}from"node:async_hooks";import{createHash as od}from"node:crypto";import V from"node:fs";import ls from"node:os";import Be from"node:path";import{createHash as ns}from"node:crypto";import{existsSync as Nr,promises as rs,readFileSync as ed}from"node:fs";import ae from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06c9f6f4-c2f0-549c-9a0f-4f4269cc5f49")}catch{}})();var td="session.json";function Lr(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function os(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Lr(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Lr(c,128)),a=t.focused_item_id===void 0||Lr(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function nd(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=os(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Pr(e){return ae.join(ji(e),td)}async function is(e){try{let t=await rs.readFile(Pr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=nd(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Mr(e,t){let n=await W(e,"session-state",k.locks.ttl_seconds,"session-state",!1,!0,k.locks.wait_ms);try{let r=await is(e);t(r);let o=Pr(e);await rs.mkdir(ae.dirname(o),{recursive:!0}),await K(o,JSON.stringify(r))}finally{await n()}}function jr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${ns("sha256").update(e).digest("hex").slice(0,24)}`}function Fr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function $r(e){let t=[...new Set(e)].sort((r,o)=>r.localeCompare(o));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${ns("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Hr(e,t,n){await Mr(e,r=>{let o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i,Object.keys(o).length===0?delete r.semantic_attribution:r.semantic_attribution=o})}async function ah(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??$r(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function ch(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??$r(r),confidence:o?"high":"medium",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function dh(e){let t=jr(e.principal);await Hr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??$r(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Fr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function rd(e,t){let n=t.PM_PATH?.trim();if(n){let o=ae.resolve(e,n);if(Nr(ae.join(o,"settings.json")))return o;let i=ae.join(o,".agents","pm");if(Nr(ae.join(i,"settings.json")))return i}let r=ae.resolve(e);for(let o=0;o<32;o+=1){let i=ae.join(r,".agents","pm");if(Nr(ae.join(i,"settings.json")))return i;let s=ae.dirname(r);if(s===r)break;r=s}}function ss(e){if(!e.key)return;let t=rd(e.cwd,e.env);if(t)try{let n=JSON.parse(ed(Pr(t),"utf8"));return os(n.semantic_attribution?.[e.key])}catch{return}}async function lh(e){return(await is(e)).focused_item}async function uh(e,t){await Mr(e,n=>{n.focused_item=t})}async function fh(e){await Mr(e,t=>{delete t.focused_item})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a69b86e2-6633-5abc-81b7-6a54a592d36c")}catch{}})();var qr=["model","effort","role","topic","version"],hn=new Vr,us=new Vr,yn=new Vr,Gr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],fs=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),id=Object.freeze({...fs,max_bytes:4194304}),zr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function sd(e){let t=Te(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?id:fs,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var ms=Object.freeze(Gr.filter(e=>e.harness!=="ci").map(sd).sort((e,t)=>e.harness.localeCompare(t.harness))),Ue=new Map,rt=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Se(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Te(e){let t=e.harness.trim().toLowerCase();if(!zr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Se(e.environment_keys),model_environment_keys:Se(e.model_environment_keys),session_environment_keys:Se(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Se(r)]).filter(([n])=>zr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&zr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Se(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Se(e.argv_markers).map(n=>n.toLowerCase()),client_names:Se(e.client_names).map(n=>n.toLowerCase())}}var _s=Gr.map(Te);function ad(e,t){return JSON.stringify(e)===JSON.stringify(t)}function pn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(n=>n.length>0).includes(t)||e.trim().toLowerCase()===t}function Kr(e=[]){let t=new Map(Gr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Te(o)]));for(let{adapter:o}of Ue.values())t.set(o.harness,Te(o.descriptor));let n=[...t.values(),..._s.filter(o=>o.harness==="ci"),...[...rt.values()].map(o=>o.descriptor),...yn.getStore()?.descriptors??[],...e.map(Te)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function Xr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function cd(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function ps(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var dd=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function ze(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return dd.has(n)?n:void 0}function Ur(e,t){return P(e?.[t])?.slice(0,256)}var ld=1048576,Wr=4194304,_n=new Map,as=Object.freeze({}),Br=new Map,cs=Object.freeze({});function ds(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function ud(e){let t;try{t=JSON.parse(e)}catch{return cs}let n=ds(t);if(!n)return cs;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=ds(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function hs(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return Fe(t)?"missing":"failed"}}function fd(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Be.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:hs(i)}})}catch(o){return{status:Fe(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function ys(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let r=Be.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),o=Be.join(e.home_dir??ls.homedir(),".claude","projects"),i=Be.join(o,r,`${n}.jsonl`),s=P(e.session_file),a=s&&Be.basename(s)===`${n}.jsonl`?s:void 0;for(let c of[a,i]){if(!c)continue;let d=hs(c);if(d==="available")return{status:d,path:c};if(d==="failed")return{status:d}}return fd(o,n)}function md(e,t,n){let r=ys(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Br.get(s);if(a)return a[e];let c=Math.min(i.size,ld),d=Math.min(c,Math.ceil(c/2)),l=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(l);l>0&&V.readSync(o,m,0,l,i.size-l);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
|
|
2
2
|
`):[...f.toString("utf8").split(`
|
|
3
3
|
`).slice(0,4096),...m.toString("utf8").split(`
|
|
4
4
|
`).slice(-4096)];for(let g of _){if(g.length===0||g.length>262144)continue;let S=ud(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let b=Object.freeze(p);return Br.clear(),Br.set(s,b),b[e]}finally{V.closeSync(o)}}catch{return}}function _d(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=V.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=Be.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let d=r(c,i+1);if(d)return d}}};return r(e,0)}function pd(e){if(e<=Wr)return[{offset:0,length:e}];let t=Math.floor(Wr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function hd(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=P(o?.model)?.slice(0,256),e.effort??=P(o?.effort)?.slice(0,256)}function yd(e,t){let n={},r=4096;for(let o of pd(t)){let i=Buffer.alloc(o.length);V.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
5
|
-
`).reverse().slice(0,r);r-=s.length;for(let a of s)if(hd(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function gd(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Be.join(t.home_dir??ls.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=_n.get(i);if(s)return s[e];let a=_d(o,r);if(!a){_n.set(i,as);return}try{let c=V.openSync(a,"r");try{let d=V.fstatSync(c).size,l=yd(c,d);return _n.set(i,l),l[e]}finally{V.closeSync(c)}}catch{_n.set(i,as);return}}function bd(e,t,n,r){let o=yn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let i=r?.provenance_resolvers[e];if(i==="claude_session_file")return md(e,t,n);if(i==="codex_session_file")return gd(e,t,n);if(i==="ai_agent_version"){let s=P(n.AI_AGENT);return!s||!r||!pn(s,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(s)?.[1]?.slice(0,256)}}function wd(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&pn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":ys(n,r).status}function Yr(e){return e||(us.getStore()??{env:process.env,argv:process.argv})}function vd(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return pn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||pn(r,a));return o||i||s}function Ed(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function kd(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function Id(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...qr,...Object.keys(r?.provenance_environment_keys??{})]),c,d,l;a.has(e)&&(c=ze(e,P(n[s])?.slice(0,256)),l=ze(e,ps(t.argv??[],e)),d=ze(e,cd(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=Ur(o?.provenance,e),_=ze(e,Xr(n,f[e])),b=ze(e,Ur(m,e)),g=ze(e,Ur(t.provenance,e)),S=bd(e,t,n,r);return kd([[c,"override"],[p,"session"],[l,"argv"],[_,"environment"],[b,"mcp_client"],[g,"host"],[S,"probe"]])??Ed(e,i)??(d?{value:d,source:"argv"}:void 0)}function Sd(e,t){if(!(!e||!t))return od("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function Td(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...qr,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=Id(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function vh(e){let t=e.map(Te),n=new Map(_s.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=rt.get(i.harness);if(s&&!ad(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=rt.get(i.harness);rt.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=rt.get(i.harness);!s||s.registrations<=1?rt.delete(i.harness):s.registrations-=1}}}}function Cd(e){let t=Te(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=P(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>Wr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(Se(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function Eh(){let e=new Map(ms.map(t=>[t.harness,t]));for(let{adapter:t}of Ue.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function kh(e){let t=e.map(Cd),n=new Map(ms.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Ue.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Ue.get(i.harness);Ue.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Ue.get(i.harness);!s||s.registrations<=1?Ue.delete(i.harness):s.registrations-=1}}}}function Ih(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function Sh(e,t){return us.run(e,t)}function Th(e,t,n={}){let r=e.map(Te);return Kr(r),yn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Jr(e){let t=Yr(e),n=t.env??{},r=Kr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>vd(_,n,o,i)),a=Dr(t,n),c=[Xr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=Sd(s?.harness,c),l=ss({cwd:t.cwd??process.cwd(),env:n,key:d}),f=Td(t,n,s,a,l),m=f.model,p=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(_=>_[1]!==void 0))}function Od(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function xd(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=wd(a,n,r,o);return{...Od(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function gs(e){let t=Yr(e),n=Jr(t),r=Kr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&yn.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Dr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Xr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ps(t.argv??[],"role")].some(d=>{let l=P(d)?.slice(0,256);return l!==void 0&&ze("role",l)===void 0}),c=Object.fromEntries(qr.map(d=>[d,xd(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function Ch(){return process.env.PM_AUTHOR}function Oh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function xh(e){return Jr(e).harness}function Rd(e,t,n){let r=Yr(n),o=Jr(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function bs(e){let t=hn.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function ws(e){let t=hn.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function vs(e){let t=hn.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Es(e,t){let n=Rd(e,t);return hn.enterWith(n),n.author}import{createHash as Ad}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ca5b60a5-80a7-5e7d-917f-4c7649bcbab6")}catch{}})();var Dh=["sha256","sha512"],Dd="sha256",ks="sha256";function We(e){if(e===void 0)return Dd;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function Ce(e,t){return Ad(We(t)).update(e,"utf8").digest("hex")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="13e158d2-14a0-5c14-a11c-a374b3e6ceac")}catch{}})();var Qr=1,Zr=1;function Is(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:1}function Ss(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=1))return e}function Nd(e,t=1){return e<t?"outdated":e>t?"ahead":"current"}function Lh(e,t=1){let n=[],r=[];for(let o of e){let i=Nd(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="515840b7-cf86-5d71-8ac1-beac7fd7c8a8")}catch{}})();var Ld={"in-progress":"in_progress",cancelled:"canceled"};function gn(e,t){if(t){let o=zi(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ld[n]??n;if(Zt.includes(r))return r}function ot(e,t){return gn(e,t)??e}function ge(e,t){return t.terminal_statuses.has(ot(e,t))}import{encode as Gd}from"@toon-format/toon";import{isDeepStrictEqual as Rs}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d5692ce-ec33-5eb4-bd9b-7497ffe25b0e")}catch{}})();var Pd=16;function eo(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function Md(e){return[...new Set([Bi(e),eo(e.key),eo(e.cli_flag),...e.cli_aliases.map(t=>eo(t))])]}function Os(e,t){for(let n of Md(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function xs(e){return Array.isArray(e)?e.flatMap(t=>xs(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function Ts(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new h(`${t} must be one of true|false|1|0|yes|no`,w.USAGE)}function Cs(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new h(`${t} must be a number`,w.USAGE);return r}function jd(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new h(`${t} must be valid JSON ${n}`,w.USAGE)}function Fd(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function $d(e,t,n){if(t.const!==void 0&&D(e)!==D(t.const))return`${n} must equal ${D(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>D(r)===D(e)))return`${n} must be one of ${t.enum.map(r=>D(r)).join("|")}`;if(!Fd(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Qi(e))return`${n} must be an RFC 3339 date-time`}}function Hd(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=bn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function zd(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=bn(s,a,`${n}.${i}`,r+1);if(c)return c}}function bn(e,t,n,r=0){if(r>Pd)return`${n} value schema exceeds maximum depth`;let o=$d(e,t,n);if(o)return o;let i=Hd(e,t,n,r);if(i)return i;let s=zd(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(bn(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function Ve(e,t,n){if(!e.value_schema||t===void 0)return t;let r=bn(t,e.value_schema,n);if(r)throw new h(r,w.USAGE);return t}function Ud(e,t,n,r){let o=r==="option"&&Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return Ve(e,jd(o,n,e.type),n)}function xt(e,t,n,r="option"){let o=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object")return Ud(e,t,o,r);if(e.repeatable||e.type==="string_array"){let s=xs(t);return e.type==="number"?Ve(e,s.map(a=>Cs(a,o)),o):e.type==="boolean"?Ve(e,s.map(a=>Ts(a,o)),o):Ve(e,s,o)}let i=Array.isArray(t)?t[t.length-1]:t;if(i!==void 0)return e.type==="number"?Ve(e,Cs(i,o),o):e.type==="boolean"?Ve(e,Ts(i,o),o):Ve(e,typeof i=="string"?i:String(i),o)}function Bd(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Wh(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Os(e,i);if(s===void 0){Bd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=xt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Vh(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=Os(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=xt(s,a)))}return r}import{decode as Wd}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aaa2be03-9478-5fbe-82e6-e4fc86e3735b")}catch{}})();function to(e){return{value:Wd(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="79626299-17a8-573a-9b66-ce37c65e2f5d")}catch{}})();var Vd=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function qd(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(Vd);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function wn(e){return qd(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2f15e0b-06b0-5e02-a91e-2886f94ffc63")}catch{}})();var io=new Set(["schema","tracker","auto","none"]),Ns=new Set(["source","isolated","snapshot"]),Kd=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Xd=new Set(["passed","failed","stopped","canceled"]),Yd=new Set(Ii);function at(e){return e.replaceAll("\\","/")}function Ls(e){for(let t of e)if(t!==0)return t;return 0}function En(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Ps=["id","title","description","created_at","updated_at"],Jd=new Set(ve);function Ms(e){if(e?.schema)return{statusRegistry:dn(e.schema),fieldRegistry:Ui(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Qd(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Oe(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new h(`Invalid item metadata: ${e}`,w.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function Dt(e,t){throw new h(t,w.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function js(e,t){if(!t||typeof e!="object"||e===null)return;let n=Is(e);if(!(n<=Zr))throw new h(`Stored item uses format version ${n}; this runtime supports up to ${Zr}. Upgrade pm before reading or changing this item.`,w.CONFLICT,{code:"item_format_version_unsupported",format_version:n,required:"Upgrade to a pm runtime supporting the stored item format.",nextSteps:["Preserve the original item and history; do not lower pm_format_version to bypass compatibility checks."]})}function Fs(e){let t=new Set(Jd);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||Oe(t)}function Nt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Oe(t),e}function no(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(pe(n),`${t} must be a valid ISO timestamp`)}function As(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function so(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(pe(r),`${n} must be a valid ISO timestamp`))}function Zd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(rn.includes(n),`event.recurrence.by_weekday entries must be one of: ${rn.join(", ")}`)}}}function el(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function tl(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(pe(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function nl(e){let t=Nt(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(nn.includes(n),`event.recurrence.freq must be one of: ${nn.join(", ")}`),As(t,"interval","event.recurrence.interval"),As(t,"count","event.recurrence.count"),so(t,"until","event.recurrence.until"),Zd(t.by_weekday),el(t.by_month_day),tl(t.exdates)}function rl(e){for(let r of Ps)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=Qr,`pm_format_version must be an integer >= ${Qr}`),t}function ol(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=gn(n,r),i=r?r.definitions.map(s=>s.id):[...Zt];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function il(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function sl(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||tn.includes(n);I(r,`confidence string value must be one of: ${[...tn,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function al(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Oe("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||en.includes(n);I(r,`severity value must be one of: ${[...en,"med"].join(", ")}`)}function cl(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Oe("regression must be a boolean")}function dl(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Nt(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(pe(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function ll(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function ul(e){e.recurrence!==void 0&&(nl(e.recurrence),e.recurrence.until!==void 0&&I(he(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function fl(e){let t=Nt(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(pe(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(pe(t.end_at),"event.end_at must be a valid ISO timestamp"),I(he(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),ll(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),ul(t)}function ml(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)fl(n)}}function _l(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function pl(e){let t=e.type_options;if(t===void 0)return;let n=Nt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function hl(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Qd(r,t)&&Oe(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`,"metadata")}catch(i){Oe(String(i?.message).replace(/^Invalid\s+/u,""))}}}function yl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Fs(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Oe(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function ao(e,t){let n=Nt(e,"item metadata must be an object"),r=rl(n);ol(n,t),il(n),sl(n),al(n),cl(n),no(n,"created_at"),no(n,"updated_at"),n.deadline!==void 0&&no(n,"deadline"),dl(n),ml(n),so(n,"closed_at","closed_at"),so(n,"completed_at","completed_at"),_l(n),pl(n),hl(n,r,t),yl(n,t)}function gl(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=he(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function ro(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=he(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function bl(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=he(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function wl(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!nn.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>rn.includes(s)))).sort((s,a)=>vr(s)-vr(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>pe(s)))).sort((s,a)=>he(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function vl(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(El).sort(kl)}function El(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:wl(e.recurrence)};return En(t),t}function kl(e,t){return Ls([he(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function Il(e){if(!(!e||e.length===0))return e.map(t=>({path:at(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function Sl(e){if(!e||e.length===0)return;let t=e.map(xl).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>Ls([he(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function it(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Tl(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function oo(e){return typeof e=="string"?e:""}function Cl(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function vn(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Ol(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:vn(n.requested_pm_context_mode,io),pm_context_mode:vn(n.pm_context_mode,io),workspace_context_mode:vn(n.workspace_context_mode,Ns),trust_reason:vn(n.trust_reason,Kd)}));return t.length>0?t:void 0}function xl(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Xd.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:oo(e.started_at),finished_at:oo(e.finished_at),recorded_at:oo(e.recorded_at),attempt:Tl(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:it(e.passed)??0,failed:it(e.failed)??0,skipped:it(e.skipped)??0,items:it(e.items),linked_tests:it(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Cl(e.measurements),executions:Ol(e.executions)};return En(o),o}function Rl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Pl)}function Rt(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function lo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function uo(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Ds(e){if(!lo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!uo(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Al(e){if(!lo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!uo(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Dl(e){let t=e?.trim().toLowerCase();if(!(!t||!io.has(t)))return t}function Nl(e){let t=e?.trim().toLowerCase();if(!(!t||!Ns.has(t)))return t}function Ll(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!lo(e))return{provenance_invalid:!0};let n=E(e.author),r=E(e.created_at),o=e.source_kind;return!n||!r||!pe(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:E(e.source_ref)}}}function Pl(e){let t={command:e.command?.trim()||void 0,path:e.path?at(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:Dl(e.pm_context_mode),workspace_context_mode:Nl(e.workspace_context_mode),...Ll(e.provenance,e.provenance_invalid),env_set:Ds(e.env_set),env_clear:Rt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Rt(e.assert_stdout_contains),assert_stdout_regex:Rt(e.assert_stdout_regex),assert_stderr_contains:Rt(e.assert_stderr_contains),assert_stderr_regex:Rt(e.assert_stderr_regex),assert_stdout_min_lines:it(e.assert_stdout_min_lines),assert_json_field_equals:Ds(e.assert_json_field_equals),assert_json_field_gte:Al(e.assert_json_field_gte),note:e.note?.trim()||void 0};return En(t),t}function Ml(e){if(!(!e||e.length===0))return[...e].map(t=>({path:at(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function E(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function jl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.id),i=E(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=E(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function Fl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:at(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function $l(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.command),i=E(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=at(i));let a=E(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Hl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:at(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function zl(e){if(e===null||typeof e!="object")return;let t=e,n=E(t.id),r=E(t.title),o=E(t.status),i=o&&Yd.has(o)?o:void 0,s=Ri(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Ul(d,t),d}function Ul(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=E(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",jl],["files","files",Fl],["tests","tests",$l],["docs","docs",Hl]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Bl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=zl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Wl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=E(r.rationale);c&&(a.rationale=c);let d=E(r.evidence);d&&(a.evidence=d);let l=E(r.step_id);l&&(a.step_id=l),t.push(a)}return t.length>0?t:void 0}function Vl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=E(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=E(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function ql(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.text);if(!o)continue;let i={text:o},s=E(r.command);s&&(i.command=s);let a=E(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Gl(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function st(e){let t=0;for(;t<e.length&&e[t]===`
|
|
6
|
-
`;)t+=1;return e.slice(t).trimEnd()}function Kl(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(tn.includes(t))return t}function Xl(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(en.includes(t))return t}function At(e){return e||void 0}function Yl(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))uo(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Jl(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`,"metadata"))}}function Ql(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Fs(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length>0&&t.unknownFieldPolicy==="reject"&&Oe(`unknown schema fields are not allowed: ${r.join(", ")}`),r.length>0&&t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`)}function kn(e,t={}){let n=Ms(t),r=gn(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:Ss(e.pm_format_version),source_type:
|
|
5
|
+
`).reverse().slice(0,r);r-=s.length;for(let a of s)if(hd(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function gd(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Be.join(t.home_dir??ls.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=_n.get(i);if(s)return s[e];let a=_d(o,r);if(!a){_n.set(i,as);return}try{let c=V.openSync(a,"r");try{let d=V.fstatSync(c).size,l=yd(c,d);return _n.set(i,l),l[e]}finally{V.closeSync(c)}}catch{_n.set(i,as);return}}function bd(e,t,n,r){let o=yn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let i=r?.provenance_resolvers[e];if(i==="claude_session_file")return md(e,t,n);if(i==="codex_session_file")return gd(e,t,n);if(i==="ai_agent_version"){let s=P(n.AI_AGENT);return!s||!r||!pn(s,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(s)?.[1]?.slice(0,256)}}function wd(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&pn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":ys(n,r).status}function Yr(e){return e||(us.getStore()??{env:process.env,argv:process.argv})}function vd(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return pn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||pn(r,a));return o||i||s}function Ed(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function kd(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function Id(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...qr,...Object.keys(r?.provenance_environment_keys??{})]),c,d,l;a.has(e)&&(c=ze(e,P(n[s])?.slice(0,256)),l=ze(e,ps(t.argv??[],e)),d=ze(e,cd(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=Ur(o?.provenance,e),_=ze(e,Xr(n,f[e])),b=ze(e,Ur(m,e)),g=ze(e,Ur(t.provenance,e)),S=bd(e,t,n,r);return kd([[c,"override"],[p,"session"],[l,"argv"],[_,"environment"],[b,"mcp_client"],[g,"host"],[S,"probe"]])??Ed(e,i)??(d?{value:d,source:"argv"}:void 0)}function Sd(e,t){if(!(!e||!t))return od("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function Td(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...qr,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=Id(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function Eh(e){let t=e.map(Te),n=new Map(_s.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=rt.get(i.harness);if(s&&!ad(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=rt.get(i.harness);rt.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=rt.get(i.harness);!s||s.registrations<=1?rt.delete(i.harness):s.registrations-=1}}}}function Cd(e){let t=Te(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=P(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>Wr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(Se(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function kh(){let e=new Map(ms.map(t=>[t.harness,t]));for(let{adapter:t}of Ue.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function Ih(e){let t=e.map(Cd),n=new Map(ms.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Ue.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Ue.get(i.harness);Ue.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Ue.get(i.harness);!s||s.registrations<=1?Ue.delete(i.harness):s.registrations-=1}}}}function Sh(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function Th(e,t){return us.run(e,t)}function Ch(e,t,n={}){let r=e.map(Te);return Kr(r),yn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Jr(e){let t=Yr(e),n=t.env??{},r=Kr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>vd(_,n,o,i)),a=Dr(t,n),c=[Xr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=Sd(s?.harness,c),l=ss({cwd:t.cwd??process.cwd(),env:n,key:d}),f=Td(t,n,s,a,l),m=f.model,p=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(_=>_[1]!==void 0))}function Od(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function xd(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=wd(a,n,r,o);return{...Od(c),resolver:a,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function gs(e){let t=Yr(e),n=Jr(t),r=Kr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&yn.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Dr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Xr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ps(t.argv??[],"role")].some(d=>{let l=P(d)?.slice(0,256);return l!==void 0&&ze("role",l)===void 0}),c=Object.fromEntries(qr.map(d=>[d,xd(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function Oh(){return process.env.PM_AUTHOR}function xh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function Rh(e){return Jr(e).harness}function Rd(e,t,n){let r=Yr(n),o=Jr(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function bs(e){let t=hn.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function ws(e){let t=hn.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function vs(e){let t=hn.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Es(e,t){let n=Rd(e,t);return hn.enterWith(n),n.author}import{createHash as Ad}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ca5b60a5-80a7-5e7d-917f-4c7649bcbab6")}catch{}})();var Nh=["sha256","sha512"],Dd="sha256",ks="sha256";function We(e){if(e===void 0)return Dd;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function Ce(e,t){return Ad(We(t)).update(e,"utf8").digest("hex")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="13e158d2-14a0-5c14-a11c-a374b3e6ceac")}catch{}})();var Qr=1,Zr=1;function Is(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=1?t:1}function Ss(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=1))return e}function Nd(e,t=1){return e<t?"outdated":e>t?"ahead":"current"}function Ph(e,t=1){let n=[],r=[];for(let o of e){let i=Nd(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="515840b7-cf86-5d71-8ac1-beac7fd7c8a8")}catch{}})();var Ld={"in-progress":"in_progress",cancelled:"canceled"};function gn(e,t){if(t){let o=Wi(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ld[n]??n;if(Zt.includes(r))return r}function ot(e,t){return gn(e,t)??e}function ge(e,t){return t.terminal_statuses.has(ot(e,t))}import{encode as Gd}from"@toon-format/toon";import{isDeepStrictEqual as Rs}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d5692ce-ec33-5eb4-bd9b-7497ffe25b0e")}catch{}})();var Pd=16;function eo(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function Md(e){return[...new Set([qi(e),eo(e.key),eo(e.cli_flag),...e.cli_aliases.map(t=>eo(t))])]}function Os(e,t){for(let n of Md(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function xs(e){return Array.isArray(e)?e.flatMap(t=>xs(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function Ts(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new h(`${t} must be one of true|false|1|0|yes|no`,w.USAGE)}function Cs(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new h(`${t} must be a number`,w.USAGE);return r}function jd(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new h(`${t} must be valid JSON ${n}`,w.USAGE)}function Fd(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function $d(e,t,n){if(t.const!==void 0&&D(e)!==D(t.const))return`${n} must equal ${D(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>D(r)===D(e)))return`${n} must be one of ${t.enum.map(r=>D(r)).join("|")}`;if(!Fd(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!Qi(e))return`${n} must be an RFC 3339 date-time`}}function Hd(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=bn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function zd(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=bn(s,a,`${n}.${i}`,r+1);if(c)return c}}function bn(e,t,n,r=0){if(r>Pd)return`${n} value schema exceeds maximum depth`;let o=$d(e,t,n);if(o)return o;let i=Hd(e,t,n,r);if(i)return i;let s=zd(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(bn(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function Ve(e,t,n){if(!e.value_schema||t===void 0)return t;let r=bn(t,e.value_schema,n);if(r)throw new h(r,w.USAGE);return t}function Ud(e,t,n,r){let o=r==="option"&&Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return Ve(e,jd(o,n,e.type),n)}function xt(e,t,n,r="option"){let o=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object")return Ud(e,t,o,r);if(e.repeatable||e.type==="string_array"){let s=xs(t);return e.type==="number"?Ve(e,s.map(a=>Cs(a,o)),o):e.type==="boolean"?Ve(e,s.map(a=>Ts(a,o)),o):Ve(e,s,o)}let i=Array.isArray(t)?t[t.length-1]:t;if(i!==void 0)return e.type==="number"?Ve(e,Cs(i,o),o):e.type==="boolean"?Ve(e,Ts(i,o),o):Ve(e,typeof i=="string"?i:String(i),o)}function Bd(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Vh(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Os(e,i);if(s===void 0){Bd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=xt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function qh(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=Os(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=xt(s,a)))}return r}import{decode as Wd}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aaa2be03-9478-5fbe-82e6-e4fc86e3735b")}catch{}})();function to(e){return{value:Wd(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="79626299-17a8-573a-9b66-ce37c65e2f5d")}catch{}})();var Vd=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function qd(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(Vd);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function wn(e){return qd(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fb315276-2021-54aa-a880-5b4eb508e8d6")}catch{}})();var io=new Set(["schema","tracker","auto","none"]),Ns=new Set(["source","isolated","snapshot"]),Kd=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Xd=new Set(["passed","failed","stopped","canceled"]),Yd=new Set(Ii);function at(e){return e.replaceAll("\\","/")}function Ls(e){for(let t of e)if(t!==0)return t;return 0}function En(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Ps=["id","title","description","created_at","updated_at"],Jd=new Set(ve);function Ms(e){if(e?.schema)return{statusRegistry:dn(e.schema),fieldRegistry:Vi(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Qd(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Oe(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new h(`Invalid item metadata: ${e}`,w.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function Dt(e,t){throw new h(t,w.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function js(e,t){if(!t||typeof e!="object"||e===null)return;let n=Is(e);if(!(n<=Zr))throw new h(`Stored item uses format version ${n}; this runtime supports up to ${Zr}. Upgrade pm before reading or changing this item.`,w.CONFLICT,{code:"item_format_version_unsupported",format_version:n,required:"Upgrade to a pm runtime supporting the stored item format.",nextSteps:["Preserve the original item and history; do not lower pm_format_version to bypass compatibility checks."]})}function Fs(e){let t=new Set(Jd);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||Oe(t)}function Nt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Oe(t),e}function no(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(pe(n),`${t} must be a valid ISO timestamp`)}function As(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function so(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(pe(r),`${n} must be a valid ISO timestamp`))}function Zd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(rn.includes(n),`event.recurrence.by_weekday entries must be one of: ${rn.join(", ")}`)}}}function el(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function tl(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(pe(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function nl(e){let t=Nt(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(nn.includes(n),`event.recurrence.freq must be one of: ${nn.join(", ")}`),As(t,"interval","event.recurrence.interval"),As(t,"count","event.recurrence.count"),so(t,"until","event.recurrence.until"),Zd(t.by_weekday),el(t.by_month_day),tl(t.exdates)}function rl(e){for(let r of Ps)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=Qr,`pm_format_version must be an integer >= ${Qr}`),t}function ol(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=gn(n,r),i=r?r.definitions.map(s=>s.id):[...Zt];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function il(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function sl(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||tn.includes(n);I(r,`confidence string value must be one of: ${[...tn,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function al(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Oe("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||en.includes(n);I(r,`severity value must be one of: ${[...en,"med"].join(", ")}`)}function cl(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Oe("regression must be a boolean")}function dl(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Nt(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(pe(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function ll(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function ul(e){e.recurrence!==void 0&&(nl(e.recurrence),e.recurrence.until!==void 0&&I(he(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function fl(e){let t=Nt(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(pe(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(pe(t.end_at),"event.end_at must be a valid ISO timestamp"),I(he(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),ll(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),ul(t)}function ml(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)fl(n)}}function _l(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function pl(e){let t=e.type_options;if(t===void 0)return;let n=Nt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function hl(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Qd(r,t)&&Oe(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`,"metadata")}catch(i){Oe(String(i?.message).replace(/^Invalid\s+/u,""))}}}function yl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Fs(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Oe(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function ao(e,t){let n=Nt(e,"item metadata must be an object"),r=rl(n);ol(n,t),il(n),sl(n),al(n),cl(n),no(n,"created_at"),no(n,"updated_at"),n.deadline!==void 0&&no(n,"deadline"),dl(n),ml(n),so(n,"closed_at","closed_at"),so(n,"completed_at","completed_at"),_l(n),pl(n),hl(n,r,t),yl(n,t)}function gl(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=he(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function ro(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=he(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function bl(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=he(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function wl(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!nn.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>rn.includes(s)))).sort((s,a)=>vr(s)-vr(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>pe(s)))).sort((s,a)=>he(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function vl(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(El).sort(kl)}function El(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:wl(e.recurrence)};return En(t),t}function kl(e,t){return Ls([he(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function Il(e){if(!(!e||e.length===0))return e.map(t=>({path:at(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function Sl(e){if(!e||e.length===0)return;let t=e.map(xl).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>Ls([he(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function it(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Tl(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function oo(e){return typeof e=="string"?e:""}function Cl(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function vn(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Ol(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:vn(n.requested_pm_context_mode,io),pm_context_mode:vn(n.pm_context_mode,io),workspace_context_mode:vn(n.workspace_context_mode,Ns),trust_reason:vn(n.trust_reason,Kd)}));return t.length>0?t:void 0}function xl(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Xd.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:oo(e.started_at),finished_at:oo(e.finished_at),recorded_at:oo(e.recorded_at),attempt:Tl(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:it(e.passed)??0,failed:it(e.failed)??0,skipped:it(e.skipped)??0,items:it(e.items),linked_tests:it(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Cl(e.measurements),executions:Ol(e.executions)};return En(o),o}function Rl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Pl)}function Rt(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function lo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function uo(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Ds(e){if(!lo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!uo(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Al(e){if(!lo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!uo(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Dl(e){let t=e?.trim().toLowerCase();if(!(!t||!io.has(t)))return t}function Nl(e){let t=e?.trim().toLowerCase();if(!(!t||!Ns.has(t)))return t}function Ll(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!lo(e))return{provenance_invalid:!0};let n=v(e.author),r=v(e.created_at),o=e.source_kind;return!n||!r||!pe(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:v(e.source_ref)}}}function Pl(e){let t={command:e.command?.trim()||void 0,path:e.path?at(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:Dl(e.pm_context_mode),workspace_context_mode:Nl(e.workspace_context_mode),...Ll(e.provenance,e.provenance_invalid),updated_by:v(e.updated_by),updated_at:v(e.updated_at),env_set:Ds(e.env_set),env_clear:Rt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Rt(e.assert_stdout_contains),assert_stdout_regex:Rt(e.assert_stdout_regex),assert_stderr_contains:Rt(e.assert_stderr_contains),assert_stderr_regex:Rt(e.assert_stderr_regex),assert_stdout_min_lines:it(e.assert_stdout_min_lines),assert_json_field_equals:Ds(e.assert_json_field_equals),assert_json_field_gte:Al(e.assert_json_field_gte),note:e.note?.trim()||void 0};return En(t),t}function Ml(e){if(!(!e||e.length===0))return[...e].map(t=>({path:at(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function v(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function jl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=v(r.id),i=v(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=v(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function Fl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=v(r.path);if(!o)continue;let i={path:at(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=v(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function $l(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=v(r.command),i=v(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=at(i));let a=v(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Hl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=v(r.path);if(!o)continue;let i={path:at(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=v(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function zl(e){if(e===null||typeof e!="object")return;let t=e,n=v(t.id),r=v(t.title),o=v(t.status),i=o&&Yd.has(o)?o:void 0,s=Ri(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Ul(d,t),d}function Ul(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=v(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",jl],["files","files",Fl],["tests","tests",$l],["docs","docs",Hl]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Bl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=zl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Wl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=v(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=v(r.rationale);c&&(a.rationale=c);let d=v(r.evidence);d&&(a.evidence=d);let l=v(r.step_id);l&&(a.step_id=l),t.push(a)}return t.length>0?t:void 0}function Vl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=v(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=v(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function ql(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=v(r.text);if(!o)continue;let i={text:o},s=v(r.command);s&&(i.command=s);let a=v(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Gl(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function st(e){let t=0;for(;t<e.length&&e[t]===`
|
|
6
|
+
`;)t+=1;return e.slice(t).trimEnd()}function Kl(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(tn.includes(t))return t}function Xl(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(en.includes(t))return t}function At(e){return e||void 0}function Yl(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))uo(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Jl(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`,"metadata"))}}function Ql(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Fs(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length>0&&t.unknownFieldPolicy==="reject"&&Oe(`unknown schema fields are not allowed: ${r.join(", ")}`),r.length>0&&t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`)}function kn(e,t={}){let n=Ms(t),r=gn(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:Ss(e.pm_format_version),source_type:v(e.source_type),type_options:Gl(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:gl(e.dependencies),comments:ro(e.comments),notes:ro(e.notes),learnings:ro(e.learnings),files:Il(e.files),tests:Rl(e.tests),test_runs:Sl(e.test_runs),docs:Ml(e.docs),deadline:At(e.deadline),reminders:bl(e.reminders),events:vl(e.events),closed_at:At(e.closed_at),completed_at:At(e.completed_at),assignee:v(e.assignee),claim_principal:v(e.claim_principal),source_owner:v(e.source_owner),author:At(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:v(e.definition_of_ready),order:e.order,goal:v(e.goal),objective:v(e.objective),value:v(e.value),impact:v(e.impact),outcome:v(e.outcome),why_now:v(e.why_now),parent:v(e.parent),reviewer:v(e.reviewer),risk:e.risk??void 0,confidence:Kl(e.confidence),sprint:v(e.sprint),release:v(e.release),blocked_by:v(e.blocked_by),blocked_reason:v(e.blocked_reason),unblock_note:v(e.unblock_note),reporter:v(e.reporter),severity:Xl(e.severity),environment:v(e.environment),repro_steps:v(e.repro_steps),resolution:v(e.resolution),expected_result:v(e.expected_result),actual_result:v(e.actual_result),affected_version:v(e.affected_version),fixed_version:v(e.fixed_version),component:v(e.component),regression:e.regression,customer_impact:v(e.customer_impact),close_reason:At(e.close_reason),plan_mode:v(e.plan_mode),plan_scope:v(e.plan_scope),plan_harness:v(e.plan_harness),plan_resume_context:v(e.plan_resume_context),plan_steps:Bl(e.plan_steps),plan_decisions:Wl(e.plan_decisions),plan_discoveries:Vl(e.plan_discoveries),plan_validation:ql(e.plan_validation)};return Yl(i,e),Jl(i,n),Ql(i,n),En(i),i}function $s(e){return T(e,ve)}function Zl(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function eu(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Zl(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function tu(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
|
|
7
7
|
`,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function co(e,t){return kn(e,{...t,onWarning:void 0})}function nu(e,t,n={}){let r=tu(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=eu(r.content);o||(e.trimStart().startsWith("{")&&Dt("json_markdown","JSON front matter is not valid JSON"),Dt("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Dt("json_markdown","JSON front matter is not valid JSON")}return js(s,n.requireSupportedFormat),ao(s,t),{metadata:co(s,n),body:st(i)}}function ru(e,t,n={}){let r;try{r=to(e).value}catch{Dt("toon","TOON item document is not valid TOON")}I(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(js(Object.prototype.hasOwnProperty.call(o,"front_matter")?o.front_matter:o,n.requireSupportedFormat),!Ps.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Dt("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return ao(o.front_matter,t),I(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:co(o.front_matter,n),body:st(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return I(i===void 0||typeof i=="string","TOON item document body must be a string"),ao(s,t),{metadata:co(s,n),body:st(typeof i=="string"?i:"")}}function ou(e,t={}){let n=kn(e.metadata,t),r=$s(n),o=JSON.stringify(r,null,2),i=st(e.body??"");return i?`${o}
|
|
8
8
|
|
|
9
9
|
${i}
|
|
10
10
|
`:`${o}
|
|
11
11
|
`}function iu(e,t={}){let n=kn(e.metadata,t),r=$s(n),o=st(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Gd(s),c;try{c=to(a).value}catch(d){throw new h("Refusing to persist a TOON item document that the configured decoder cannot read back.",w.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:d instanceof Error?d.message:String(d)})}if(!Rs(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},l=Object.keys(s).find(f=>!Rs(s[f],d[f]))??"document";throw new h(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${l}".`,w.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:l,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
|
|
12
|
-
`}function In(e,t={}){let n=wn(e);if(n)throw new h(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=Ms(t);return r==="toon"?ru(e,o,t):nu(e,o,t)}function Hs(e,t={}){return(t.format??"toon")==="toon"?iu(e,t):ou(e,t)}function re(e,t={}){return{metadata:kn(e.metadata,t),body:st(e.body??"")}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cfedb84f-0525-5e02-af0a-d0e5691b5e0a")}catch{}})();async function su(e,t){let n=await Ee(e);if(n===null)return{raw:n,entries:[]};if(await ke({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=wn(n);if(r)throw new h(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new h(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,w.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:n,entries:o}}async function be(e,t){return(await su(e,t)).entries}import To from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfeb8d2-52c2-587a-9611-c4d5817cb47e")}catch{}})();function zs(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import sa from"fast-json-patch";import na from"node:fs/promises";import Pu from"node:path";import j from"node:fs/promises";import z from"node:path";import{randomUUID as Bs}from"node:crypto";import{createRequire as mu}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="
|
|
12
|
+
`}function In(e,t={}){let n=wn(e);if(n)throw new h(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=Ms(t);return r==="toon"?ru(e,o,t):nu(e,o,t)}function Hs(e,t={}){return(t.format??"toon")==="toon"?iu(e,t):ou(e,t)}function re(e,t={}){return{metadata:kn(e.metadata,t),body:st(e.body??"")}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cfedb84f-0525-5e02-af0a-d0e5691b5e0a")}catch{}})();async function su(e,t){let n=await Ee(e);if(n===null)return{raw:n,entries:[]};if(await ke({path:e,scope:"project"}),n.trim()==="")return{raw:n,entries:[]};let r=wn(n);if(r)throw new h(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,w.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new h(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,w.GENERIC_FAILURE,{code:"history_json_invalid",nextSteps:[`Run pm history-repair ${t} --salvage-tail --dry-run to check whether only an invalid suffix is damaged.`]})}}return{raw:n,entries:o}}async function be(e,t){return(await su(e,t)).entries}import To from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfeb8d2-52c2-587a-9611-c4d5817cb47e")}catch{}})();function zs(e){let t=[],n=e[0]?.op==="history_compact_baseline",r=n?1:void 0,o=!1;for(let[i,s]of e.entries())s.op==="delete"&&(o=!0),s.op==="create"&&(r!==void 0&&t.push({prior_genesis_index:r,repeated_create_index:i+1,sequence:o?"delete_then_create":n?"checkpoint_then_create":"multiple_creates"}),r??=i+1,o=!1);return t}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="82c79093-2a40-5b4c-8d41-637b0ae03c4f")}catch{}})();import sa from"fast-json-patch";import na from"node:fs/promises";import Pu from"node:path";import j from"node:fs/promises";import z from"node:path";import{randomUUID as Bs}from"node:crypto";import{createRequire as mu}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3c2c29c0-0034-54d4-9dbd-2e9af047784e")}catch{}})();var au=["docs_add","files_add","history:author-acknowledge","history_author_acknowledge","history_compact","history_compact_baseline","history_redact","history_repair","history_salvage","normalize","release","test_run_track","tests_add","tests_remove","tests_update","update_audit","update_ownership_bypass"],cu=["append","cancel","claim","close","comment_add","create","learning_add","note_add","reopen"],du=new Set(au),lu=new Set(cu),uu=new Set(["actual_result","affected_version","assignee","blocked_by","blocked_reason","close_reason","confidence","customer_impact","definition_of_ready","dependencies","docs","environment","expected_result","files","fixed_version","goal","impact","learnings","notes","objective","order","outcome","parent","release","reminders","reporter","repro_steps","resolution","reviewer","severity","sprint","tests","test_runs","unblock_note","updated_at","value","why_now"]);function fu(e){let t=e.path.split("/").filter(Boolean);return t[0]==="metadata"||t[0]==="front_matter"?t[1]:t[0]==="body"?"body":void 0}function ct(e){return e.event_class==="substantive"||e.event_class==="maintenance"?e.event_class:du.has(e.op)?"maintenance":lu.has(e.op)||e.op!=="update"?"substantive":Array.isArray(e.patch)&&e.patch.length>0&&e.patch.every(t=>{let n=fu(t);return n!==void 0&&uu.has(n)})?"maintenance":"substantive"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="812b558d-59f3-58d6-b04e-6a4f8689e866")}catch{}})();function fo(e){let t=process.emitWarning;process.emitWarning=(n,...r)=>{n==="SQLite is an experimental feature and might change at any time"&&r[0]==="ExperimentalWarning"||Reflect.apply(t,process,[n,...r])};try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}finally{process.emitWarning=t}}function Sn(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?fo(t):null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59e8ff0e-d2af-5f7a-a64b-1b86e075acdc")}catch{}})();var _u="history-event-index.sqlite",po="5",pu=8,hu="history-event-index",ho=300,Ws=3e4,yu="history-event-index-invalidation",gu="history-event-index-invalidations",bu=ho*2*1e3,xn=Symbol("history-index-lock-contended"),qe=new Map;function Pt(e){return z.join(e,"runtime",_u)}function An(e){return z.join(e,"runtime",gu)}async function wu(e){let t=await j.readdir(An(e)).catch(n=>{if(ne(n))return[];throw n});return{pending:t.filter(n=>n.endsWith(".pending")).sort(),committed:t.filter(n=>n.endsWith(".committed")).sort()}}async function _o(e){let t=await wu(e);return{pending:(await Promise.all(t.pending.map(async n=>{let r=/^(\d+)-(unknown|\d+)-(\d+)-.+\.pending$/u.exec(n);if(r!==null){let o=r[2];if(await es({pid:Number(r[1]),...o==="unknown"?{}:{process_start_identity:o}},Math.max(0,Date.now()-Number(r[3])),bu))return n}return await j.rm(z.join(An(e),n),{force:!0}),null}))).filter(n=>n!==null),committed:t.committed}}async function Lt(e,t){let n=await W(e,yu,ho,`history-event-index-invalidation:${process.pid}`,!1,!1,Ws);try{return await t()}finally{await n()}}async function vu(e){let t=An(e);await j.mkdir(t,{recursive:!0});let n=Bs(),r=await Zi(),o=z.join(t,`${r.pid}-${r.process_start_identity??"unknown"}-${Date.now()}-${n}.pending`);return await j.writeFile(o,`pending
|
|
13
13
|
`,{flag:"wx"}),{pendingPath:o,committedPath:z.join(t,`${n}.committed`)}}function Eu(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}async function Tn(e){try{await j.rm(Pt(e),{force:!0})}catch{}}async function Dn(e,t){let n=await W(e,hu,ho,`history-event-index:${process.pid}`,!1,!1,Ws);try{return await t()}finally{await n()}}async function Vs(e){let t=z.join(e,"history"),n=await j.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=qe.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!qe.has(e);for(let s of n.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).sort((a,c)=>a.name.localeCompare(c.name))){let a=s.name.slice(0,-6);o.add(a);let c=z.join(t,s.name),d=await j.stat(c,{bigint:!0}),l=[d.dev,d.ino,d.size,d.mtimeNs,d.ctimeNs].join(":");if(r.streams.get(a)?.signature===l)continue;let f=await qs(c,a);r.streams.set(a,{signature:l,byte_size:Number(d.size),events:f.map((m,p)=>({stream_id:a,stream_offset:p,entry:m}))}),i=!0}for(let s of r.streams.keys())o.has(s)||(r.streams.delete(s),i=!0);if(i&&(r.ordered_events=[...r.streams.values()].flatMap(s=>s.events).sort(yo)),qe.delete(e),qe.set(e,r),qe.size>pu){let s=qe.keys().next().value;qe.delete(s)}return{events:r.ordered_events,stream_byte_sizes:new Map([...r.streams].map(([s,a])=>[s,a.byte_size]))}}async function qs(e,t){let n=await be(e,t);for(let[r,o]of n.entries())if(typeof o.ts!="string"||!tt(o.ts.trim()))throw new h(`History for ${t} contains an invalid or sub-millisecond timestamp at line ${r+1}. Repair or restore the history stream and retry.`,w.GENERIC_FAILURE,{code:"history_timestamp_invalid"});return n.map(r=>({...r,ts:new Date(r.ts.trim()).toISOString()}))}async function ku(e){return(await Vs(e)).events}var mo;function Nn(){return mo!==void 0||(mo=Sn(process.versions.node,mu(import.meta.url))),mo}function Iu(e){e.exec(`
|
|
14
14
|
PRAGMA journal_mode = OFF;
|
|
15
15
|
PRAGMA synchronous = OFF;
|
|
@@ -49,7 +49,7 @@ ${i}
|
|
|
49
49
|
stream_id, stream_offset, ts, author, agent_harness,
|
|
50
50
|
agent_instance, op, event_class, entry_json
|
|
51
51
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,n.ts,n.author,n.agent_harness??null,n.agent_instance??null,n.op,ct(n),JSON.stringify(n))}function Ks(e){let t=JSON.parse(String(e.entry_json));return typeof t.ts!="string"||!tt(t.ts.trim())?null:{stream_id:String(e.stream_id),stream_offset:Number(e.stream_offset),entry:{...t,ts:new Date(t.ts.trim()).toISOString()}}}function Xs(e,t,n){e.prepare(`INSERT INTO streams(stream_id, byte_size) VALUES (?, ?)
|
|
52
|
-
ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function Su(e){let t=Nn();return t?Dn(e,async()=>{let n;try{n=await Lt(e,()=>_o(e))}catch(s){if(s instanceof h&&s.code==="lock_conflict")return!1;throw s}if(n.pending.length>0)return!1;let r=Pt(e);await j.mkdir(z.dirname(r),{recursive:!0});let o=`${r}.${Bs()}.tmp`,i;try{i=new t(o),Iu(i),i.exec("BEGIN IMMEDIATE");let s=await Vs(e);for(let c of s.events)Gs(i,c);for(let[c,d]of s.stream_byte_sizes)Xs(i,c,d);i.exec("COMMIT"),i.close(),i=void 0;let a=await Lt(e,async()=>{let c=await _o(e);return c.pending.length>0||!Eu(n.committed,c.committed)?!1:(await j.rm(r,{force:!0}),await j.rename(o,r),await Promise.all(n.committed.map(d=>j.rm(z.join(An(e),d),{force:!0}))),!0)});return a||await j.rm(o,{force:!0}),a}catch(s){throw i?.close(),await j.rm(o,{force:!0}),s}}):!1}function Cn(e,t){return!t||t.length===0||t.includes(e)}function yo(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function Rn(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function Tu(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(yo(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:Rn(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<Rn(t.since_ts))return!1;return!0}function Cu(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function Ou(e,t){return!Tu(e,t)||!Cn(e.entry.op,t.ops)||!Cn(e.entry.author,t.authors)||!Cn(e.entry.agent_instance??"",t.agent_instances)||!Cn(e.stream_id,t.stream_ids)||!Cu(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function
|
|
52
|
+
ON CONFLICT(stream_id) DO UPDATE SET byte_size = excluded.byte_size`).run(t,n)}async function Su(e){let t=Nn();return t?Dn(e,async()=>{let n;try{n=await Lt(e,()=>_o(e))}catch(s){if(s instanceof h&&s.code==="lock_conflict")return!1;throw s}if(n.pending.length>0)return!1;let r=Pt(e);await j.mkdir(z.dirname(r),{recursive:!0});let o=`${r}.${Bs()}.tmp`,i;try{i=new t(o),Iu(i),i.exec("BEGIN IMMEDIATE");let s=await Vs(e);for(let c of s.events)Gs(i,c);for(let[c,d]of s.stream_byte_sizes)Xs(i,c,d);i.exec("COMMIT"),i.close(),i=void 0;let a=await Lt(e,async()=>{let c=await _o(e);return c.pending.length>0||!Eu(n.committed,c.committed)?!1:(await j.rm(r,{force:!0}),await j.rename(o,r),await Promise.all(n.committed.map(d=>j.rm(z.join(An(e),d),{force:!0}))),!0)});return a||await j.rm(o,{force:!0}),a}catch(s){throw i?.close(),await j.rm(o,{force:!0}),s}}):!1}function Cn(e,t){return!t||t.length===0||t.includes(e)}function yo(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function Rn(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():e}function Tu(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(yo(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:Rn(t.after_ts)}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<Rn(t.since_ts))return!1;return!0}function Cu(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function Ou(e,t){return!Tu(e,t)||!Cn(e.entry.op,t.ops)||!Cn(e.entry.author,t.authors)||!Cn(e.entry.agent_instance??"",t.agent_instances)||!Cn(e.stream_id,t.stream_ids)||!Cu(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function Ly(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await ku(e)).filter(o=>Ou(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function Ys(e,t,n){let r=z.dirname(z.dirname(e)),o=Nn();if(!o){await n();return}let i=!1;try{await Dn(r,async()=>{let s=Pt(r);try{await j.access(s)}catch{await n();return}let a;try{if(a=new o(s),a.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==po)throw new TypeError("Unsupported history event index version")}catch{a?.close(),await j.rm(s,{force:!0}),await n();return}try{a.exec("PRAGMA busy_timeout = 5000"),a.exec("BEGIN IMMEDIATE")}catch(d){throw a.close(),d}let c=!1;try{await n(),c=!0,i=!0;let d=z.basename(e,".jsonl"),l=a.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(d);Gs(a,{stream_id:d,stream_offset:Number(l.value),entry:t}),Xs(a,d,(await j.stat(e)).size),a.exec("COMMIT"),a.close()}catch(d){if(a?.close(),!c)throw d;await Tn(r)}})}catch(s){if(i){await Tn(r);return}if(!(s instanceof h)||s.code!=="lock_conflict")throw s;let a;try{await Lt(r,async()=>{let c=await vu(r);a=c.pendingPath;try{await n(),i=!0}catch(d){throw await j.rm(c.pendingPath,{force:!0}),d}await j.rename(c.pendingPath,c.committedPath),await Tn(r)})}catch(c){if(i){await Tn(r);try{await j.rm(a,{force:!0})}catch{}return}throw c}}}async function go(e){await j.rm(Pt(z.dirname(z.dirname(e))),{force:!0})}function On(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function xu(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function Js(e,t){let n=await _o(e);if(n.pending.length>0||n.committed.length>0)return;let r=new t(Pt(e),{readOnly:!0});try{if(r.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value===po)return r}catch(o){throw r.close(),o}r.close()}async function Py(e,t){let n=Nn();if(!n)return null;let r=[],o=[];if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))");let a=Rn(t.after_ts);o.push(a,a,t.after_stream_id,a,t.after_stream_id,t.after_stream_offset)}else t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(Rn(t.since_ts)));On(r,o,"op",t.ops),On(r,o,"author",t.authors),xu(r,o,t.harnesses,t.harness_alias_authors),On(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);On(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{return await Dn(e,async()=>Lt(e,async()=>{if(s=await Js(e,n),!s)return null;let a=await Au(s,e,t.stream_ids);if(!await Zs(s,e,a))return s.close(),s=void 0,null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
53
53
|
FROM events${i}
|
|
54
54
|
ORDER BY ts, stream_id, stream_offset
|
|
55
55
|
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),d=c.slice(0,t.limit).map(Ks);return s.close(),s=void 0,d.includes(null)?null:{events:d,has_more:c.length>t.limit}}))}catch{return s?.close(),null}}function Qs(e,t){let n=Object.create(null);for(let r of e){if(!t.has(r.stream_id)||ct(r.entry)!=="substantive")continue;let o=n[r.stream_id];(o===void 0||yo(o,r)<0)&&(n[r.stream_id]=r)}return n}async function Ru(e,t){if(z.basename(t)!==t)return null;try{return(await j.stat(z.join(e,"history",`${t}.jsonl`))).size}catch(n){if(ne(n))return 0;throw n}}async function Zs(e,t,n){for(let r=0;r<n.length;r+=500){let o=n.slice(r,r+500),i=new Map(e.prepare(`SELECT stream_id, byte_size FROM streams
|
|
@@ -64,12 +64,12 @@ ${i}
|
|
|
64
64
|
WHERE event_class = 'substantive'
|
|
65
65
|
AND stream_id IN (${a.map(()=>"?").join(", ")})
|
|
66
66
|
)
|
|
67
|
-
WHERE recency_rank = 1`).all(...a).map(Ks);if(c.includes(null))return o.close(),o=void 0,null;i.push(...c)}return o.close(),o=void 0,Qs(i,r)}))}catch(i){return o?.close(),i instanceof h&&i.code==="lock_conflict"?xn:null}}async function
|
|
67
|
+
WHERE recency_rank = 1`).all(...a).map(Ks);if(c.includes(null))return o.close(),o=void 0,null;i.push(...c)}return o.close(),o=void 0,Qs(i,r)}))}catch(i){return o?.close(),i instanceof h&&i.code==="lock_conflict"?xn:null}}async function My(e,t){let n=[...new Set(t.filter(a=>a.trim().length>0&&z.basename(a)===a))];if(n.length===0)return{};let r=new Set(n),o=Nn(),i=await Us(o,e,n,r);if(i!==null&&i!==xn)return i;if(o&&i!==xn)try{if(await Su(e)){let a=await Us(o,e,n,r);if(a!==null&&a!==xn)return a}}catch{}let s=[];return await Promise.all(n.map(async a=>{let c=z.join(e,"history",`${a}.jsonl`);(await qs(c,a).catch(d=>{if(d instanceof h&&d.code==="history_timestamp_invalid")return[];throw d})).forEach((d,l)=>{s.push({stream_id:a,stream_offset:l,entry:d})})})),Qs(s,r)}import bo from"node:fs/promises";import dt from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="687cbe24-6d5c-5322-962d-455048eb84b5")}catch{}})();var Du=dt.join("runtime","history-drift-cache.json"),ea={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function ta(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Nu(e){let t=dt.join(e,Du),n=!1,r="invalid_cache_path";try{n=(await bo.stat(await bo.realpath(e))).isDirectory()}catch(o){let i=ta(o);r=i===void 0?"unknown":ea[i]??"filesystem_error"}if(!n){xr(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
68
68
|
`);return}try{await bo.rm(t,{force:!0})}catch(o){let i=ta(o);if(ne(o))return;let s=i===void 0?"unknown":ea[i]??"filesystem_error";xr(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
69
|
-
`)}}async function Ln(e){let t=dt.dirname(dt.resolve(e));dt.basename(t)==="history"&&await Nu(dt.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4a3c3c82-0398-549c-8910-fdc69d971cb2")}catch{}})();var Mu={front_matter:{},body:""},Ge=3,Mt=[1,2,3],ju=1,Fu=[1];function aa(e){return Ce(D(e),e.hash_algorithm)}function lt(e){return cn(D(e))}function
|
|
70
|
-
`,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new h("This item identity is reserved by an existing history stream.",w.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function ft(e,t){let n=await Ot("history_append",{history_path:e,entry:t});if(n.handled&&await Yu(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:fa(t)},o=ko({...r,hash_algorithm:We(r.hash_algorithm),event_class:ct(r)});await Ys(e,o,async()=>{await Eo(e,vo(o,o))}),await Ln(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="
|
|
69
|
+
`)}}async function Ln(e){let t=dt.dirname(dt.resolve(e));dt.basename(t)==="history"&&await Nu(dt.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4a3c3c82-0398-549c-8910-fdc69d971cb2")}catch{}})();var Mu={front_matter:{},body:""},Ge=3,Mt=[1,2,3],ju=1,Fu=[1];function aa(e){return Ce(D(e),e.hash_algorithm)}function lt(e){return cn(D(e))}function sg(e){return cn(D(e))}function ko(e){let t={...e,record_hash_version:ju},{record_hash:n,...r}=t;return{...t,record_hash:aa(r)}}function jn(e){try{We(e.hash_algorithm)}catch{return{ok:!1,error:"unsupported_history_hash_algorithm"}}if(e.record_hash_version===void 0&&e.record_hash===void 0)return{ok:!0,coverage:"item_state_only"};if(e.record_hash_version===void 0||e.record_hash===void 0)return{ok:!1,error:"incomplete_record_hash_envelope"};if(!Fu.includes(e.record_hash_version))return{ok:!1,error:"unsupported_record_hash_version"};let{record_hash:t,...n}=e;return aa(n)===e.record_hash?{ok:!0,coverage:"record_and_item_state"}:{ok:!1,error:"record_hash_mismatch"}}function $u(e,t){let n={before_hash:e.before_hash,after_hash:e.after_hash,patch_hash:lt(e.patch)};return e.hash_algorithm!==void 0&&(n.hash_algorithm=e.hash_algorithm),e.item_hash_version!==void 0&&(n.item_hash_version=e.item_hash_version),t.retainOriginalPatch&&(n.patch=structuredClone(e.patch)),t.retainPriorRecordHash!==!1&&e.record_hash_version!==void 0&&e.record_hash!==void 0&&(n.record_hash_version=e.record_hash_version,n.record_hash=e.record_hash,n.record=structuredClone(e)),n}function ca(e,t,n={}){let r=jn(e);if(!r.ok)throw new TypeError(r.error);let o=lt(e.patch),i=n.retainPriorRecord===!0||e.before_hash!==t.before_hash||e.after_hash!==t.after_hash||e.item_hash_version!==t.item_hash_version||e.hash_algorithm!==t.hash_algorithm||o!==lt(t.patch),s=ko({...t,...i?{reanchor_evidence:[...t.reanchor_evidence??[],$u(e,n)]}:{}}),a=Io(s);if(!a.ok)throw new TypeError(a.error);return s}function da(e){return!Array.isArray(e)||Object.keys(e).length!==e.length?!1:e.every(t=>!Ke(t)||typeof t.path!="string"?!1:t.op==="move"||t.op==="copy"?typeof t.from=="string":["add","replace","test"].includes(t.op)?Object.hasOwn(t,"value"):t.op==="remove")}function Hu(e){return Ke(e)&&typeof e.ts=="string"&&typeof e.author=="string"&&typeof e.op=="string"&&typeof e.before_hash=="string"&&typeof e.after_hash=="string"&&da(e.patch)}function zu(e){let t=e.record_hash_version!==void 0,n=e.record_hash!==void 0;return t===n}function Uu(e){return!Ke(e)||!zu(e)||typeof e.before_hash!="string"||typeof e.after_hash!="string"||typeof e.patch_hash!="string"||!/^[a-f0-9]{64}$/u.test(e.patch_hash)||e.patch!==void 0&&!da(e.patch)||e.record_hash_version!==void 0&&typeof e.record_hash_version!="number"||e.record_hash!==void 0&&(typeof e.record_hash!="string"||!/^(?:[a-f0-9]{64}|[a-f0-9]{128})$/u.test(e.record_hash))?!1:e.record===void 0||Hu(e.record)}function Bu(e){try{for(let t of e){if(!Uu(t))return!1;We(t.hash_algorithm)}return!0}catch{return!1}}function Wu(e){let t=e.record;return t!==void 0&&t.before_hash===e.before_hash&&t.after_hash===e.after_hash&&t.item_hash_version===e.item_hash_version&&t.hash_algorithm===e.hash_algorithm&&t.record_hash_version===e.record_hash_version&&t.record_hash===e.record_hash&<(t.patch)===e.patch_hash}function Vu(e,t,n){if(t.patch&<(t.patch)!==t.patch_hash)return{kind:"patch_hash_mismatch"};if(t.record)return Wu(t)?{kind:"record",entry:t.record}:{kind:"record_hash_mismatch"};let r=t.patch??e.patch;if(lt(r)!==t.patch_hash)return{kind:"digest_only"};let o={...e,before_hash:t.before_hash,after_hash:t.after_hash,patch:r,hash_algorithm:t.hash_algorithm,...t.item_hash_version===void 0?{}:{item_hash_version:t.item_hash_version},...t.record_hash_version===void 0?{}:{record_hash_version:t.record_hash_version},...t.record_hash===void 0?{}:{record_hash:t.record_hash},...n.length===0?{}:{reanchor_evidence:n}};return t.hash_algorithm===void 0&&delete o.hash_algorithm,n.length===0&&delete o.reanchor_evidence,t.item_hash_version===void 0&&delete o.item_hash_version,t.record_hash_version===void 0||t.record_hash===void 0?{kind:"legacy",entry:o}:{kind:"record",entry:o}}function Io(e){let t=e.reanchor_evidence;if(t===void 0)return{ok:!0,coverage:"none"};if(!Array.isArray(t)||!Bu(t))return{ok:!1,error:"rewrite_evidence_invalid"};if(t.length===0)return{ok:!0,coverage:"none"};let n=e;for(let r=t.length-1;r>=0;r-=1){let o=t[r],i=Vu(n,o,t.slice(0,r));if(i.kind==="patch_hash_mismatch")return{ok:!1,error:"rewrite_evidence_patch_hash_mismatch"};if(i.kind==="record_hash_mismatch")return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};if(i.kind==="digest_only")return{ok:!0,coverage:"digest_only"};if(i.kind==="legacy")return{ok:!0,coverage:"legacy_anchor_only"};if(!jn(i.entry).ok)return{ok:!1,error:"rewrite_evidence_record_hash_mismatch"};n=i.entry}return{ok:!0,coverage:"complete"}}function Pn(e,t){return(e??"").localeCompare(t??"")}function ra(e,t){return(e??0)-(t??0)}function xe(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function qu(e,t){return[e.scope.localeCompare(t.scope),Pn(e.path,t.path),Pn(e.command,t.command),ra(e.timeout_seconds,t.timeout_seconds),Pn(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,xe(e.env_clear,t.env_clear,[]),xe(e.env_set,t.env_set,{}),xe(e.assert_stdout_contains,t.assert_stdout_contains,[]),xe(e.assert_stdout_regex,t.assert_stdout_regex,[]),xe(e.assert_stderr_contains,t.assert_stderr_contains,[]),xe(e.assert_stderr_regex,t.assert_stderr_regex,[]),ra(e.assert_stdout_min_lines,t.assert_stdout_min_lines),xe(e.assert_json_field_equals,t.assert_json_field_equals,{}),xe(e.assert_json_field_gte,t.assert_json_field_gte,{}),Pn(e.note,t.note)].find(n=>n!==0)??0}function Gu(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Ku(e,t){let n=Gu(t);if(n.length===0)return!0;let r=e;for(let o of n){let i=/^(0|[1-9]\d*)$/.test(o)?Number(o):-1,s=Array.isArray(r)?i>=0&&i<r.length?r[i]:void 0:Ke(r)&&Object.prototype.hasOwnProperty.call(r,o)?r[o]:void 0;if(s===void 0)return!1;r=s}return!0}function Xu(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Ku(r,o.path)?{...o,op:"add"}:o;n.push(i),r=sa.applyPatch(r,[i],!0,!0).newDocument}return n}function Mn(e,t,n=!1){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=re(e),o=t===1||t===2&&n?{...r.metadata,...r.metadata.dependencies===void 0?{}:{dependencies:r.metadata.dependencies.map(s=>({...s,id:s.id.toLowerCase()}))},...r.metadata.tests===void 0?{}:{tests:r.metadata.tests.map(({workspace_context_mode:s,provenance:a,provenance_invalid:c,...d})=>d)},...r.metadata.test_runs===void 0?{}:{test_runs:r.metadata.test_runs.map(({executions:s,...a})=>a)}}:r.metadata,i=t===1&&o.tests?{...o,tests:[...o.tests].sort(qu)}:o;return{front_matter:T(i,ve),body:r.body}}function oa(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let t=re(e);return{metadata:T(t.metadata,ve),body:t.body}}function ag(e){return la(e,Ge)}function la(e,t,n){if(!Mt.some(r=>r===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return Ce(D(Mn(e,t)),n)}function ua(e,t,n){let r=la(e,t,n);return t===2?[r,Ce(D(Mn(e,t,!0)),n)]:[r]}function cg(){return cn(D(Mu))}function ut(e){let t=fn(e.op),n=Mn(e.before,Ge),r=Mn(e.after,Ge),o=oa(e.before),i=oa(e.after),s=sa.compare(o,i),a=Xu(o,s),c=ws(e.author),d=c.harness?Object.fromEntries(Object.entries(gs().provenance_outcomes).filter(([p,_])=>_.resolver!==void 0&&(_.status!=="resolved"||c.provenance?.[p]?.source==="probe"))):void 0,l=d===void 0||Object.keys(d).length===0?e.context:{...e.context,agent_provenance_outcomes:d},f=e.hashAlgorithm??ks,m={hash_algorithm:f,ts:e.nowIso,author:e.author,author_source:e.authorSource??bs(e.author),...c.harness?{agent_harness:c.harness}:{},...c.model?{agent_model:c.model}:{},...c.model_source?{agent_model_source:c.model_source}:{},...c.instance?{agent_instance:c.instance}:{},...c.provenance?{agent_provenance:c.provenance}:{},...c.episode?{agent_episode:c.episode}:{},op:t,patch:a,before_hash:Ce(D(n),f),after_hash:Ce(D(r),f),item_hash_version:Ge,message:e.message===void 0?void 0:e.message,...l===void 0?{}:{context:l}};return ko({...m,event_class:ct(m)})}function Ke(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wo(e){return new h(e,w.GENERIC_FAILURE,{code:"history_timestamp_invalid"})}function fa(e){let t=e.ts.trim();if(t.length===0)return Ie();if(!tt(t))throw wo("History timestamp must be a valid RFC 3339 date-time with millisecond precision");if(t!==e.ts)throw wo("History timestamp must not contain surrounding whitespace");return e.ts}function ia(e,t){let n=e.ts;if(typeof n=="string"&&n.trim().length>0){if(!tt(n))throw wo("History timestamp must be a valid RFC 3339 date-time with millisecond precision");return e}return{...e,ts:t}}function vo(e,t){let n=fa(t);if(typeof e=="string"){let r;try{r=JSON.parse(e)}catch{return e}return Ke(r)?JSON.stringify(ia(r,n)):e}return Ke(e)?JSON.stringify(ia(e,n)):JSON.stringify(e)}async function Yu(e,t,n){if(n===!1)return!0;if(typeof n=="string"){let s=vo(n,t);return await Eo(e,s),await Ln(e),await go(e),!0}if(typeof n!="object"||n===null)return!1;let r=n;if(r.skip===!0)return!0;let o=typeof r.history_path=="string"?r.history_path:e,i=vo(typeof r.line=="string"?r.line:r.entry??t,t);return await Eo(o,i),await Ln(o),await go(o),!0}async function Eo(e,t){let n;try{n=JSON.parse(t)}catch{n=null}if(!Ke(n)||n.op!=="create"){await xi(e,t);return}await na.mkdir(Pu.dirname(e),{recursive:!0});try{await na.writeFile(e,`${t}
|
|
70
|
+
`,{encoding:"utf8",flag:"wx"})}catch(r){throw r.code!=="EEXIST"?r:new h("This item identity is reserved by an existing history stream.",w.CONFLICT,{code:"item_identity_reserved",required:"Choose a new item ID or restore the original item from its history.",nextSteps:["Run pm history <id> --full, then pm restore <id> <version> to recover the original item."]})}}async function ft(e,t){let n=await Ot("history_append",{history_path:e,entry:t});if(n.handled&&await Yu(e,t,n.result))return;let r=t.ts.trim().length>0?t:{...t,ts:fa(t)},o=ko({...r,hash_algorithm:We(r.hash_algorithm),event_class:ct(r)});await Ys(e,o,async()=>{await Eo(e,vo(o,o))}),await Ln(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0c0cb8c7-4d7d-53f8-8ec2-d6dc98fc6dc5")}catch{}})();var mt={metadata:{},body:""};function Fn(){return structuredClone(mt)}function gg(e,t=Ge,n){return So(e,t,n)[0]}function So(e,t,n){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return ua($n(e),t,n)}catch{}let r=Ce(D({replay_fallback:!0,metadata:e.metadata,body:e.body}),n);return t===2?[r,r]:[r]}function pa(e,t,n,r,o){let i=We(r.hash_algorithm),s=`${n}:${i}`,a=o?.before.get(s)??So(e,n,i),c=So(t,n,i);return o?.after.set(s,c),{beforeHashes:a,afterHashes:c,pairIndex:a.findIndex((d,l)=>d===r.before_hash&&c[l]===r.after_hash),beforeIndex:a.indexOf(r.before_hash),afterIndex:c.indexOf(r.after_hash)}}function $n(e){return{metadata:e.metadata,body:e.body}}function bg(e,t={}){return re($n(e),t)}function wg(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=re(e);return{metadata:T(t.metadata,ve),body:t.body}}function ma(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function Ju(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function ha(e){return Array.isArray(e)?e.filter(Ju).map(t=>({...t,path:ma(t.path),from:typeof t.from=="string"?ma(t.from):void 0})):[]}function Qu(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function Xe(e,t){try{let n=ha(t),r=To.applyPatch(structuredClone(e),n,!0,!0).newDocument;return Qu(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function Zu(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&Mt.includes(t)))]}function ya(e){return e!==void 0&&!Mt.includes(e)}function ef(e,t){return e!==void 0?[e]:t===void 0?[...Mt]:[t]}function ga(e){let t=jn(e);if(!t.ok)return t.error;let n=Io(e);return n.ok?void 0:n.error}function tf(e,t){let n=ga(e);if(n)return{ok:!1,error:n};let r=Xe(t,e.patch);return r.ok?{ok:!0,document:r.document}:{ok:!1,error:"patch_apply_failed"}}function nf(e,t){let n=ga(e);if(n)throw new TypeError(`${n}:entry_${t+1}`)}function rf(e,t,n,r,o){let i=[];for(let s of n){let a=pa(e,t,s,r,o);if(i.push({version:s,match:a}),a.pairIndex>=0)break}return i}function ba(e){let t=Fn(),n=new Map,r,o,i=zs(e).map(s=>`verify_failed:duplicate_create:entry_${s.repeated_create_index}:prior_${s.prior_genesis_index}`);for(let s=0;s<e.length;s+=1){let a=e[s],c=a.item_hash_version,d=ya(c);d&&i.push(`verify_failed:unsupported_item_hash_version:${String(c)}:entry_${s+1}`);let l=tf(a,t);if(!l.ok)return{ok:!1,errors:[...i,`verify_failed:${l.error}:entry_${s+1}`]};if(d){t=l.document,n=new Map,r=void 0,o=void 0;continue}let f=ef(c,o),m={before:n,after:new Map},p=rf(t,l.document,f,a,m),_=p.find(({match:g})=>g.pairIndex>=0);if(_===void 0){let g=p.some(({match:S})=>S.beforeIndex>=0);return{ok:!1,errors:[...i,`verify_failed:${g?"after":"before"}_hash_mismatch:entry_${s+1}`]}}let b=_.version;t=l.document,n=m.after,r=b,o=c??o}return i.length>0?{ok:!1,errors:i,...r===void 0?{}:{item_hash_version:r}}:{ok:!0,errors:[],...r===void 0?{}:{item_hash_version:r}}}function we(e){let t=ba(e);return{ok:t.ok,errors:t.errors}}function _a(e,t){try{return{ok:!0,document:To.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function of(e,t){let n=structuredClone(e),r=0,o=0;for(let s of ha(t)){let a=_a(n,s);if(a.ok){n=a.document;continue}if(s.op==="replace"){let c=_a(n,{...s,op:"add"});if(c.ok){n=c.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function sf(e){let t=Zu(e);if(t.length===1)return t[0];let n=ba(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:Ge}function af(e,t,n=t.patch){let r=Xe(e,n);if(r.ok)return{next:r.document,patch:n,repaired:D(n)!==D(t.patch),converted:0,skipped:0};let o=of(e,n);return{next:o.document,patch:To.compare(e,o.document),repaired:!0,converted:o.convertedReplaceToAdd,skipped:o.skippedOps}}function cf(e,t,n){return af(e,t,n.projectPatch?.(t,e))}function vg(e,t=sf(e),n={}){let r=e.findIndex(p=>ya(p.item_hash_version));if(r>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[r]?.item_hash_version)}:entry_${r+1}`);let o=Fn(),i=[],s=[],a=0,c=0,d=0,l=0,f,m=t!==1||e.some(p=>p.item_hash_version!==void 0);for(let p=0;p<e.length;p+=1){let _=e[p];nf(_,p);let b=cf(o,_,n),{next:g,patch:S,repaired:A,converted:L,skipped:$}=b;d+=L,l+=$,c+=Number(A);let x=pa(o,g,t,_);f===void 0||n.continuousHashSurface!==!0?f=[x.pairIndex,x.beforeIndex,x.afterIndex,Math.min(f??0,x.beforeHashes.length-1)].find(te=>te>=0):f=Math.min(f,x.beforeHashes.length-1);let q=x.beforeHashes[f],B=x.afterHashes[f],Q=q!==_.before_hash||B!==_.after_hash;Q&&(a+=1);let G={..._,patch:S,before_hash:q,after_hash:B};m?G.item_hash_version=t:delete G.item_hash_version;let ee=G.item_hash_version!==_.item_hash_version;(Q||A||ee)&&(G=ca(_,G,{retainOriginalPatch:A})),i.push(G),s.push({index:p+1,rehashed:Q,patch_repaired:A,converted_replace_to_add:L,skipped_ops:$}),o=g}return{entries:i,finalDocument:o,entriesRehashed:a,entriesPatchRepaired:c,convertedReplaceToAdd:d,skippedOps:l,details:s,itemHashVersion:t,explicitItemHashVersion:m}}function Eg(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
71
71
|
`)}
|
|
72
|
-
`}import cf from"node:crypto";import Hn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="664124e5-715d-5f86-ae69-89f203db76c3")}catch{}})();function va(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function jt(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ye(e,t){let n=va(t),r=jt(e);return r.startsWith(n)?r:`${n}${r}`}function df(e){let t=Ji(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=cf.randomInt(0,36).toString(36);return n}async function lf(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Hn.join(e,o,`${t}.md`),Hn.join(e,o,`${t}.toon`)]);return r.push(Hn.join(e,"history",`${t}.jsonl`)),(await Promise.all(r.map(o=>je(o)))).some(Boolean)}var wa=4,Ea=12;function uf(e){return typeof e!="number"||!Number.isFinite(e)?wa:Math.min(Ea,Math.max(wa,Math.trunc(e)))}async function Og(e,t,n={}){let r=uf(n.tokenLength),o=Math.min(r+6,Ea),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${va(t)}${df(r)}`;if(!await(n.probeExisting===!1?je(Hn.join(e,"history",`${a}.jsonl`)):lf(e,a,n.typeToFolder??Pe)))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Oa from"node:fs/promises";import Ft from"node:path";import{isUtf8 as _f}from"node:buffer";import ff from"node:fs/promises";import _t from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="af606b47-d071-5724-b1e7-de4e1e5d7385")}catch{}})();var pt="_workspace";function zn(e){return _t.join(e,"history",`${pt}.jsonl`)}function mf(e,t){return{metadata:{id:pt,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function Un(e,t=e.length){let n=Fn();for(let r of e.slice(0,t))n=Xe(n,r.patch).document;return $n(n)}function Co(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Bn(e){throw new h(`Workspace history verification failed: ${e.join(", ")}`,w.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function ka(e,t){let n=_t.resolve(t),r=_t.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||_t.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function zg(e){let t=await be(zn(e),pt),n=we(t);n.ok||Bn(n.errors);let r=Co(t.length===0?Me:Un(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let l=ka(e,_t.resolve(e,c));if(d=await Ee(l.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(D(f)===D(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function Ia(e){let t=zn(e.pmRoot),n=await be(t,pt),r=we(n);r.ok||Bn(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(f=>f.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=Ie(),s=n.length===0?Me:Un(n),a=Co(s),c=a[e.documentPath];if(c!==void 0&&D(c)!==D(e.before))throw new h(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,w.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=mf({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),l=ut({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await ft(t,l),{entry:l,historyPath:t}}async function Ug(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ia(e)}finally{await t()}}async function Sa(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=zn(e.pmRoot),r=await be(n,pt),o=we(r);o.ok||Bn(o.errors);let i=r.length===0?Me:Un(r),s=ut({nowIso:Ie(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await ft(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Ta(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await K(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Ia({pmRoot:e.pmRoot,documentPath:_t.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,idempotencyKey:e.idempotencyKey,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await ff.rm(e.filePath,{force:!0}):await K(e.filePath,t),o}return!0}async function Ca(e){let{documentPath:t}=ka(e.pmRoot,e.filePath),n=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let r=await Ee(e.filePath);if(e.dryRun===!0||e.idempotencyKey!==void 0){let i=await be(zn(e.pmRoot),pt),s=we(i);s.ok||Bn(s.errors);let a=Co(i.length===0?Me:Un(i))[t];if(a!==void 0&&D(a)!==D(r===null?null:JSON.parse(r)))throw new h(`Workspace history state for "${t}" changed outside the audited mutation path.`,w.CONFLICT,{code:"workspace_history_state_conflict"});if(e.idempotencyKey!==void 0&&i.some(c=>c.op===`${e.op}:${e.idempotencyKey}`))return{changed:!1,result:void 0,replayed:!0}}let o=await e.mutate(r);return JSON.parse(o.raw),e.dryRun===!0?{changed:r!==o.raw,result:o.result}:{changed:await Ta({...e,raw:o.raw},r),result:o.result}}finally{await n()}}async function Bg(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ta(e,await Ee(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7db1d069-0038-57f8-8c3e-0b0ba66579ca")}catch{}})();var pf=1048576,hf=4194304;async function xa(e,t){let n=Ft.dirname(e);for(;n!==Ft.parse(e).root;){let o=await Oa.stat(n).catch(i=>{if(ne(i))return null;throw i});if(o!==null){if(!o.isDirectory())throw new h("Workflow policy storage ancestor must be a directory.",w.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Restore the policy or approval history directory before retrying."]});break}n=Ft.dirname(n)}let r=await Oa.open(e,"r").catch(o=>{if(ne(o))return null;throw o});if(r===null)return null;try{let o=(await r.stat()).size,i=Buffer.alloc(Math.min(t,o)+1),s=0;for(;s<i.length;){let a=await r.read(i,s,i.length-s,s);if(a.bytesRead===0)break;s+=a.bytesRead}if(s===i.length||!_f(i.subarray(0,s)))throw new h("Workflow policy input exceeds its byte bound or is not valid UTF-8.",w.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Inspect the policy and approval history; reduce the declaration or use verified history compaction before retrying."]});return i.toString("utf8",0,s)}finally{await r.close()}}function yf(e){if(e===null)return{version:1,enforcement:"advise",policies:[]};let t;try{t=JSON.parse(e)}catch{throw new h("schema/policies.json must contain valid JSON.",w.CONFLICT,{code:"workflow_policy_registry_invalid",nextSteps:["Restore valid policy JSON before retrying the mutation."]})}return Wi(t)}async function gf(e){return yf(await xa(Ft.join(e,"schema","policies.json"),pf))}async function bf(e,t){let n=await xa(fe(e,t),hf);if(n===null)return[];let r;try{if(r=n.split(/\r?\n/).filter(o=>o.trim()).map(o=>JSON.parse(o)),!we(r).ok)throw new Error("invalid chain")}catch{throw new h("Approval evidence requires a valid item history chain.",w.CONFLICT,{code:"workflow_policy_approval_history_invalid",nextSteps:[`Run pm history ${t} --verify before recording or using an approval.`]})}return r.flatMap(o=>{let i=o.context?.workflow_approval;if(o.op!=="policy_approve"||o.record_hash_version!==1||typeof o.record_hash!="string"||typeof i!="object"||i===null)return[];let s=i;return typeof s.policy_fingerprint!="string"||typeof s.content_fingerprint!="string"?[]:[{policy_fingerprint:s.policy_fingerprint,content_fingerprint:s.content_fingerprint,author:o.author}]})}async function wf(e,t,n){let r=n.before?.status!==n.after?.status&&t.policies.some(s=>s.rule.kind==="approval"&&Vi(s,n)),o=n.before?.id??n.after?.id,i=r&&typeof o=="string"?await bf(e,o):[];return qi(t,{...n,approvals:i})}async function Oo(e){let t=await gf(e.pmRoot),n=await wf(e.pmRoot,t,{operation:e.operation,author:e.author,before:e.before?{...e.before.metadata,body:e.before.body}:null,after:e.after?{...e.after.metadata,body:e.after.body}:null});if(n.allowed)return n;let r=n.decisions.filter(l=>!l.satisfied&&l.effect==="refuse");if(!e.dryRun)try{await Sa({pmRoot:e.pmRoot,op:"policy_refused",author:e.author,context:{item_id:e.after?.metadata.id??e.before?.metadata.id,operation:e.operation,workflow_policies:n.decisions},message:"Workflow policy refused a proposed item mutation.",lockTtlSeconds:e.settings.locks.ttl_seconds,lockWaitMs:e.settings.locks.wait_ms})}catch(l){let f=new h("Workflow policy refusal could not be recorded in workspace history.",w.CONFLICT,{code:"workflow_policy_audit_failed",nextSteps:["Resolve workspace-history lock or storage failures, then retry the refused mutation; no item changes were written."]});throw f.cause=l,f}let o=r.slice(0,3).map(l=>({policy_id:l.policy_id,rule:l.rule,description:t.policies.find(f=>f.id===l.policy_id).description,missing_fields:l.missing_fields})),i=[...new Set(o.flatMap(l=>l.missing_fields))],s=o.map(l=>`${l.policy_id} (${l.rule})`).join(", "),a=r.length>3?` and ${r.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,d=i.map(l=>{if(e.before===null)return`Supply ${l} in the original ${e.operation} request, then retry; the item was not created.`;let f=Ni("update",l);return f===void 0?`Supply ${l} using its declared SDK or package mutation contract, then retry.`:$e(["update",c,Li("update",f),`<${l}>`,"--pm-path",Ft.resolve(e.pmRoot)])});throw new h(`Workflow policy refused ${e.operation}: ${s}${a}.${i.length?` Missing: ${i.join(", ")}.`:""}`,w.CONFLICT,{code:"workflow_policy_refused",reason:o.map(l=>l.policy_id).join(","),policy_violations:o,policy_violation_count:r.length,required:i.length?`Supply missing fields: ${i.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:o.map(l=>l.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:i},nextSteps:[...d,...new Set(r.slice(0,3).filter(l=>l.missing_fields.length===0).map(l=>l.remediation)),...r.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as vf}from"node:async_hooks";import{channel as Ef}from"node:diagnostics_channel";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b2b2d49a-bb8c-54d7-89d2-1dbe76879129")}catch{}})();var xo=new vf,Ro=Ef("@unbrained/pm-cli/item-metadata-enumeration/v1");function Wn(e){Ro.publish(e)}async function sb(e){let t={enumeration_calls:0,metadata_rows:0},n=r=>{xo.getStore()?.includes(t)&&(t.enumeration_calls+=1,t.metadata_rows+=r)};Ro.subscribe(n);try{return{result:await xo.run([...xo.getStore()??[],t],e),work:{...t}}}finally{Ro.unsubscribe(n)}}import Je from"node:fs/promises";import Aa from"node:path";import{randomUUID as kf}from"node:crypto";import{createRequire as If}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="84a3dae8-69b6-589d-a8ec-11f77c1d103a")}catch{}})();var Sf="metadata-query-index.sqlite",$t="5",Ao;function Ht(){return Ao!==void 0||(Ao=Sn(process.versions.node,If(import.meta.url))),Ao}function Ra(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function ht(e){return Aa.join(e,"runtime",Sf)}function Tf(e){e.exec(`
|
|
72
|
+
`}import df from"node:crypto";import Hn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="664124e5-715d-5f86-ae69-89f203db76c3")}catch{}})();function va(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function jt(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function Ye(e,t){let n=va(t),r=jt(e);return r.startsWith(n)?r:`${n}${r}`}function lf(e){let t=Ji(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=df.randomInt(0,36).toString(36);return n}async function uf(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Hn.join(e,o,`${t}.md`),Hn.join(e,o,`${t}.toon`)]);return r.push(Hn.join(e,"history",`${t}.jsonl`)),(await Promise.all(r.map(o=>je(o)))).some(Boolean)}var wa=4,Ea=12;function ff(e){return typeof e!="number"||!Number.isFinite(e)?wa:Math.min(Ea,Math.max(wa,Math.trunc(e)))}async function xg(e,t,n={}){let r=ff(n.tokenLength),o=Math.min(r+6,Ea),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${va(t)}${lf(r)}`;if(!await(n.probeExisting===!1?je(Hn.join(e,"history",`${a}.jsonl`)):uf(e,a,n.typeToFolder??Pe)))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Oa from"node:fs/promises";import Ft from"node:path";import{isUtf8 as pf}from"node:buffer";import mf from"node:fs/promises";import _t from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="af606b47-d071-5724-b1e7-de4e1e5d7385")}catch{}})();var pt="_workspace";function zn(e){return _t.join(e,"history",`${pt}.jsonl`)}function _f(e,t){return{metadata:{id:pt,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function Un(e,t=e.length){let n=Fn();for(let r of e.slice(0,t))n=Xe(n,r.patch).document;return $n(n)}function Co(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function Bn(e){throw new h(`Workspace history verification failed: ${e.join(", ")}`,w.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function ka(e,t){let n=_t.resolve(t),r=_t.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||_t.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Ug(e){let t=await be(zn(e),pt),n=we(t);n.ok||Bn(n.errors);let r=Co(t.length===0?Me:Un(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let l=ka(e,_t.resolve(e,c));if(d=await Ee(l.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(D(f)===D(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function Ia(e){let t=zn(e.pmRoot),n=await be(t,pt),r=we(n);r.ok||Bn(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(f=>f.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=Ie(),s=n.length===0?Me:Un(n),a=Co(s),c=a[e.documentPath];if(c!==void 0&&D(c)!==D(e.before))throw new h(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,w.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=_f({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),l=ut({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await ft(t,l),{entry:l,historyPath:t}}async function Bg(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ia(e)}finally{await t()}}async function Sa(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=zn(e.pmRoot),r=await be(n,pt),o=we(r);o.ok||Bn(o.errors);let i=r.length===0?Me:Un(r),s=ut({nowIso:Ie(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await ft(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Ta(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await K(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Ia({pmRoot:e.pmRoot,documentPath:_t.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,idempotencyKey:e.idempotencyKey,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await mf.rm(e.filePath,{force:!0}):await K(e.filePath,t),o}return!0}async function Ca(e){let{documentPath:t}=ka(e.pmRoot,e.filePath),n=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let r=await Ee(e.filePath);if(e.dryRun===!0||e.idempotencyKey!==void 0){let i=await be(zn(e.pmRoot),pt),s=we(i);s.ok||Bn(s.errors);let a=Co(i.length===0?Me:Un(i))[t];if(a!==void 0&&D(a)!==D(r===null?null:JSON.parse(r)))throw new h(`Workspace history state for "${t}" changed outside the audited mutation path.`,w.CONFLICT,{code:"workspace_history_state_conflict"});if(e.idempotencyKey!==void 0&&i.some(c=>c.op===`${e.op}:${e.idempotencyKey}`))return{changed:!1,result:void 0,replayed:!0}}let o=await e.mutate(r);return JSON.parse(o.raw),e.dryRun===!0?{changed:r!==o.raw,result:o.result}:{changed:await Ta({...e,raw:o.raw},r),result:o.result}}finally{await n()}}async function Wg(e){let t=await W(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ta(e,await Ee(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7db1d069-0038-57f8-8c3e-0b0ba66579ca")}catch{}})();var hf=1048576,yf=4194304;async function xa(e,t){let n=Ft.dirname(e);for(;n!==Ft.parse(e).root;){let o=await Oa.stat(n).catch(i=>{if(ne(i))return null;throw i});if(o!==null){if(!o.isDirectory())throw new h("Workflow policy storage ancestor must be a directory.",w.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Restore the policy or approval history directory before retrying."]});break}n=Ft.dirname(n)}let r=await Oa.open(e,"r").catch(o=>{if(ne(o))return null;throw o});if(r===null)return null;try{let o=(await r.stat()).size,i=Buffer.alloc(Math.min(t,o)+1),s=0;for(;s<i.length;){let a=await r.read(i,s,i.length-s,s);if(a.bytesRead===0)break;s+=a.bytesRead}if(s===i.length||!pf(i.subarray(0,s)))throw new h("Workflow policy input exceeds its byte bound or is not valid UTF-8.",w.CONFLICT,{code:"workflow_policy_input_unreadable",nextSteps:["Inspect the policy and approval history; reduce the declaration or use verified history compaction before retrying."]});return i.toString("utf8",0,s)}finally{await r.close()}}function gf(e){if(e===null)return{version:1,enforcement:"advise",policies:[]};let t;try{t=JSON.parse(e)}catch{throw new h("schema/policies.json must contain valid JSON.",w.CONFLICT,{code:"workflow_policy_registry_invalid",nextSteps:["Restore valid policy JSON before retrying the mutation."]})}return Fi(t)}async function bf(e){return gf(await xa(Ft.join(e,"schema","policies.json"),hf))}async function wf(e,t){let n=await xa(fe(e,t),yf);if(n===null)return[];let r;try{if(r=n.split(/\r?\n/).filter(o=>o.trim()).map(o=>JSON.parse(o)),!we(r).ok)throw new Error("invalid chain")}catch{throw new h("Approval evidence requires a valid item history chain.",w.CONFLICT,{code:"workflow_policy_approval_history_invalid",nextSteps:[`Run pm history ${t} --verify before recording or using an approval.`]})}return r.flatMap(o=>{let i=o.context?.workflow_approval;if(o.op!=="policy_approve"||o.record_hash_version!==1||typeof o.record_hash!="string"||typeof i!="object"||i===null)return[];let s=i;return typeof s.policy_fingerprint!="string"||typeof s.content_fingerprint!="string"?[]:[{policy_fingerprint:s.policy_fingerprint,content_fingerprint:s.content_fingerprint,author:o.author}]})}async function vf(e,t,n){let r=n.before?.status!==n.after?.status&&t.policies.some(s=>s.rule.kind==="approval"&&$i(s,n)),o=n.before?.id??n.after?.id,i=r&&typeof o=="string"?await wf(e,o):[];return Hi(t,{...n,approvals:i})}async function Oo(e){let t=await bf(e.pmRoot),n=await vf(e.pmRoot,t,{operation:e.operation,author:e.author,before:e.before?{...e.before.metadata,body:e.before.body}:null,after:e.after?{...e.after.metadata,body:e.after.body}:null});if(n.allowed)return n;let r=n.decisions.filter(l=>!l.satisfied&&l.effect==="refuse");if(!e.dryRun)try{await Sa({pmRoot:e.pmRoot,op:"policy_refused",author:e.author,context:{item_id:e.after?.metadata.id??e.before?.metadata.id,operation:e.operation,workflow_policies:n.decisions},message:"Workflow policy refused a proposed item mutation.",lockTtlSeconds:e.settings.locks.ttl_seconds,lockWaitMs:e.settings.locks.wait_ms})}catch(l){let f=new h("Workflow policy refusal could not be recorded in workspace history.",w.CONFLICT,{code:"workflow_policy_audit_failed",nextSteps:["Resolve workspace-history lock or storage failures, then retry the refused mutation; no item changes were written."]});throw f.cause=l,f}let o=r.slice(0,3).map(l=>({policy_id:l.policy_id,rule:l.rule,description:t.policies.find(f=>f.id===l.policy_id).description,missing_fields:l.missing_fields})),i=[...new Set(o.flatMap(l=>l.missing_fields))],s=o.map(l=>`${l.policy_id} (${l.rule})`).join(", "),a=r.length>3?` and ${r.length-3} more`:"",c=e.after?.metadata.id??e.before.metadata.id,d=i.map(l=>{if(e.before===null)return`Supply ${l} in the original ${e.operation} request, then retry; the item was not created.`;let f=Ni("update",l);return f===void 0?`Supply ${l} using its declared SDK or package mutation contract, then retry.`:$e(["update",c,Li("update",f),`<${l}>`,"--pm-path",Ft.resolve(e.pmRoot)])});throw new h(`Workflow policy refused ${e.operation}: ${s}${a}.${i.length?` Missing: ${i.join(", ")}.`:""}`,w.CONFLICT,{code:"workflow_policy_refused",reason:o.map(l=>l.policy_id).join(","),policy_violations:o,policy_violation_count:r.length,required:i.length?`Supply missing fields: ${i.join(", ")}, then retry the refused mutation.`:"Satisfy the declared workflow policy before retrying.",why:o.map(l=>l.description).filter(Boolean).join(" ")||void 0,recovery:{missing_required_fields:i},nextSteps:[...d,...new Set(r.slice(0,3).filter(l=>l.missing_fields.length===0).map(l=>l.remediation)),...r.length>3?[`Inspect all policies with pm schema policies before retrying ${e.operation}.`]:[]]})}import{AsyncLocalStorage as Ef}from"node:async_hooks";import{channel as kf}from"node:diagnostics_channel";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b2b2d49a-bb8c-54d7-89d2-1dbe76879129")}catch{}})();var xo=new Ef,Ro=kf("@unbrained/pm-cli/item-metadata-enumeration/v1");function Wn(e){Ro.publish(e)}async function ab(e){let t={enumeration_calls:0,metadata_rows:0},n=r=>{xo.getStore()?.includes(t)&&(t.enumeration_calls+=1,t.metadata_rows+=r)};Ro.subscribe(n);try{return{result:await xo.run([...xo.getStore()??[],t],e),work:{...t}}}finally{Ro.unsubscribe(n)}}import Je from"node:fs/promises";import Aa from"node:path";import{randomUUID as If}from"node:crypto";import{createRequire as Sf}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="84a3dae8-69b6-589d-a8ec-11f77c1d103a")}catch{}})();var Tf="metadata-query-index.sqlite",$t="5",Ao;function Ht(){return Ao!==void 0||(Ao=Sn(process.versions.node,Sf(import.meta.url))),Ao}function Ra(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function ht(e){return Aa.join(e,"runtime",Tf)}function Cf(e){e.exec(`
|
|
73
73
|
PRAGMA foreign_keys = ON;
|
|
74
74
|
PRAGMA journal_mode = OFF;
|
|
75
75
|
PRAGMA synchronous = OFF;
|
|
@@ -139,8 +139,8 @@ ${i}
|
|
|
139
139
|
parent = excluded.parent,
|
|
140
140
|
assignee = excluded.assignee,
|
|
141
141
|
sprint = excluded.sprint,
|
|
142
|
-
release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function Na(e){let t=ht(e.pmRoot),n=Ht();if(!n){await Je.rm(t,{force:!0});return}await Je.mkdir(Aa.dirname(t),{recursive:!0});let r=`${t}.${
|
|
143
|
-
ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${d}`).all(...o,...n.terminalStatuses??[],...c).map(f=>{let m=JSON.parse(String(f.metadata_json));if(!m.id)throw new TypeError("Indexed metadata row has no id");return m});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:l}}catch{return i?.close(),null}}async function
|
|
142
|
+
release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE rowid = (SELECT rowid FROM items WHERE id = ?)").run(n.id),e.prepare("INSERT INTO item_search(rowid, id, title, description, tags) SELECT rowid, ?, ?, ?, ? FROM items WHERE id = ?").run(n.id,n.title,n.description,n.tags.join(" "),n.id);let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function Na(e){let t=ht(e.pmRoot),n=Ht();if(!n){await Je.rm(t,{force:!0});return}await Je.mkdir(Aa.dirname(t),{recursive:!0});let r=`${t}.${If()}.tmp`,o;try{o=new n(r),Cf(o),o.exec("BEGIN IMMEDIATE"),qn(o,"version",$t),qn(o,"context_fingerprint",e.contextFingerprint),qn(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Da(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Je.rm(t,{force:!0}),await Je.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Je.rm(r,{force:!0})]),i}}function Gn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function La(e){let t=Ht();if(!t)return!1;let n=ht(e.pmRoot),r;try{await Je.access(n),r=new t(n),r.exec("PRAGMA foreign_keys = ON");let o=Gn(r);if(o.version!==$t||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return r.close(),!1;r.exec("BEGIN IMMEDIATE");let i=r.prepare("DELETE FROM items WHERE relative_path = ?"),s=r.prepare("SELECT rowid FROM items WHERE relative_path = ?"),a=r.prepare("DELETE FROM item_search WHERE rowid = ?");for(let c of e.deletedRelativePaths??[]){let d=s.get(c);i.run(c),d&&a.run(d.rowid)}return e.row&&Da(r,e.row),qn(r,"source_cursor",e.sourceCursor),r.exec("COMMIT"),r.close(),!0}catch{try{r?.exec("ROLLBACK")}catch{}return r?.close(),!1}}function Vn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Of(e){let t=[],n=[];Vn(t,n,"status",e.statuses,"IN"),Vn(t,n,"status",e.excludeStatuses,"NOT IN"),Vn(t,n,"type",e.types,"IN"),Vn(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function _b(e){let t=Ht();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=Of(n),i;try{i=new t(ht(e.pmRoot),{readOnly:!0});let s=Gn(i);if(s.version!==$t||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],d="";n.limit!==void 0?(d+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(d+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(d+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let l=i.prepare(`SELECT metadata_json FROM items${r}
|
|
143
|
+
ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${d}`).all(...o,...n.terminalStatuses??[],...c).map(f=>{let m=JSON.parse(String(f.metadata_json));if(!m.id)throw new TypeError("Indexed metadata row has no id");return m});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:l}}catch{return i?.close(),null}}async function pb(e){let t=Ht();if(!t||e.paths.length===0)return null;let n;try{n=new t(ht(e.pmRoot),{readOnly:!0});let r=Gn(n);if(r.version!==$t||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
|
|
144
144
|
FROM item_linked_files
|
|
145
145
|
WHERE ${a}`).get(...s),d=Ra(e.limit,50),l=Ra(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
|
|
146
146
|
FROM items
|
|
@@ -153,13 +153,13 @@ ${i}
|
|
|
153
153
|
FROM item_linked_files
|
|
154
154
|
WHERE item_id IN (${p.map(()=>"?").join(", ")})
|
|
155
155
|
AND ${a}
|
|
156
|
-
ORDER BY path ASC, scope ASC`).all(...p,...s),b=new Map(p.map(g=>[g,[]]));for(let g of _){let S=String(g.item_id),A=b.get(S);A.push({path:String(g.path),scope:String(g.scope),...g.note===null?{}:{note:String(g.note)}}),b.set(S,A)}for(let g of f){let S=JSON.parse(String(g.metadata_json));m.push({item:S,files:b.get(String(g.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function
|
|
156
|
+
ORDER BY path ASC, scope ASC`).all(...p,...s),b=new Map(p.map(g=>[g,[]]));for(let g of _){let S=String(g.item_id),A=b.get(S);A.push({path:String(g.path),scope:String(g.scope),...g.note===null?{}:{note:String(g.note)}}),b.set(S,A)}for(let g of f){let S=JSON.parse(String(g.metadata_json));m.push({item:S,files:b.get(String(g.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function hb(e){let t=Ht();if(!t)return null;let n;try{n=new t(ht(e.pmRoot),{readOnly:!0});let r=Gn(n);if(r.version!==$t||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=n.prepare(`SELECT items.metadata_json
|
|
157
157
|
FROM item_search
|
|
158
158
|
JOIN items ON items.id = item_search.id
|
|
159
159
|
WHERE item_search MATCH ?
|
|
160
160
|
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
161
|
-
LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(i=>JSON.parse(String(i.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:o}}catch{return n?.close(),null}}async function Kn(e){await Je.rm(ht(e),{force:!0})}import U from"node:fs/promises";import M from"node:path";import{createHash as Of,randomUUID as $a}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="846c1c5d-8a5c-56ee-832a-bfc780283e70")}catch{}})();var ce=8,Ha=500,xf="metadata-derived-index",Rf="metadata-cache.json",Af="metadata-cache-bodies.json",Df="metadata-cache-collections.json",Nf="metadata-cache-delta.json",Lf="metadata-cache-manifest.json",Pa=4,Pf=["comments","notes","learnings","files","tests","test_runs","docs"];function za(){return on(me())}function Yn(e){let t={...e},n={};for(let r of Pf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ua(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ba(e,t,n,r){let o=Of("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Jn(e){return M.join(e,"runtime",Rf)}function Qn(e){return M.join(e,"runtime",Af)}function Zn(e){return M.join(e,"runtime",Df)}function No(e){return M.join(e,"runtime",Nf)}function Lo(e){return M.join(e,"runtime",Lf)}function er(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Mf=24,Z=new Map,tr=new WeakMap;function Po(e){return tr.get(e)??e.source_cursor}function jf(e,t){let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Ff(e,t){if(!e)return;let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function $f(e,t){if(!e)return;let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Hf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(jf(e,r),Ff(t,r),$f(n,r))}function Do(e,t){Z.size>=Mf&&!Z.has(e)&&Fi(Z),Z.set(e,t)}async function Re(e,t){let n;try{n=await U.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&zt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await U.readFile(e,"utf8"))}catch{o=null}return Do(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function zf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ce||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Jn(e),i=await Re(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Re(er(o,t),r);return s===null&&Wt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Uf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Qn(e),o=await Re(r,n);return t&&o?.context_fingerprint!==t?await Re(er(r,t),n):o}async function Bf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Zn(e),o=await Re(r,n);return t&&o?.context_fingerprint!==t?await Re(er(r,t),n):o}async function Mo(e){let t=No(e),n=await Re(t,r=>{let o=JSON.parse(r);return o.version!==ce||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await U.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function jo(e){let t=Lo(e),n=await Re(t,r=>{let o=JSON.parse(r);return o.version!==ce||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await U.stat(t),await yt(e)}catch{}return null}async function Ut(e,t){await U.mkdir(M.dirname(e),{recursive:!0}),await K(e,JSON.stringify(t));try{let r=await U.stat(e);Do(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Jn(n)||e===Qn(n)||e===Zn(n)){let r=er(e,t.context_fingerprint);await K(r,JSON.stringify(t));try{let c=await U.stat(r);Do(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await U.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>Pa){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await U.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((l,f)=>l.mtime-f.mtime).slice(0,Math.max(0,c.length-Pa)))await U.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Wf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Wa(e,t,n){return e===void 0||Wf(e,t,n)}function Wt(e,t){e&&!e.includes(t)&&e.push(t)}function zt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Vf(e,t,n){let r=M.join(e,t);try{let o=await U.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!ne(o)&&Wt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function qf(e,t){try{let n=await U.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Xn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await qf(e,n))))}function Bt(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&zt(o,r.mtime_ms,r.ctime_ms,r.size)})}function Gf(e){return an.some(t=>e.toLowerCase().endsWith(t))}function Kf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Xf(e,t,n){if(n)for(let r of await ke({path:e,scope:"project"}))Wt(t,r)}function Ma(e,t,n,r){if(e)return t&&n?n.collections:r}async function Yf(e,t,n){let r=await U.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Ir(e);await Xf(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&zt(c,o,i,s),l=n.previousBodies[t],f=!n.forceSourceRead&&l!==void 0&&zt(l,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&zt(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ma(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?l.body:void 0};let _=await U.readFile(e,"utf8"),b=In(_,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:S=>Wt(n.warnings,S)}),g=Yn(b.metadata);return Kf(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:g.light,heavyMetadata:Ma(n.includeCollections,p,m,g.heavy),bodyLength:d?c.body_length:b.body.length,body:n.includeBody?b.body:void 0}}function Jf(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?Ua(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};Wa(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Qf(e,t,n,r){try{let o=await Yf(t,n,r);Jf(t,n,r,o)}catch{Wt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function Zf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function em(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function tm(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function nm(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function rm(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Gf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Qf(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function om(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Bt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Ut(Jn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Ut(Lo(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let t=[...e.state.documentsById.values()].map(({candidate:n})=>({relativePath:M.relative(e.pmRoot,n.item_path),metadata:Yn(n.metadata).light,linkedFiles:n.metadata.files??[]}));t.length>=e.minimumIndexedItems?await Na({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:t}):await Kn(e.pmRoot)}catch{}}async function im(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await Ut(Qn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function sm(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await Ut(Zn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Fo(e,t,n={}){let r=await jo(e);return n.required!==!0&&(r===null||r.entry_count<Ha)?async()=>{}:W(e,xf,30,t,!1,!1,3e3)}async function Ob(e,t){let n=await jo(e);if(n===null)return null;let r=await Mo(e);if(r.invalid)return await yt(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!Bt(i,await Xn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function ja(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function yt(e){await Promise.all([Jn(e),Qn(e),Zn(e),No(e),Lo(e)].map(async t=>{await U.rm(t,{force:!0}),Z.delete(t)})),await Kn(e)}async function am(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await U.stat(e.mutation.itemPath),n=Yn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function cm(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function $o(e){let t=ja(e.pmRoot,e.itemPath),n=e.previousItemPath?ja(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await yt(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ba(e.preferredFormat,e.typeToFolder,e.schema,za()),o=await jo(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Mo(e.pmRoot);if(s.invalid)return await yt(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=cm(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await am({mutation:e});let d=$a();return await Ut(No(e.pmRoot),{version:ce,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Xn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await La({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Yn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Kn(e.pmRoot),[]}catch{return await yt(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function dm(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Fa(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function lm(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function um(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Ir(n);if(!o)continue;let i=e.includeCollections?Ua(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Wa(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function fm(e){return e.forceSourceScan||Cr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Bt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Fa(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Fa(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&lm(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function nr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=za(),d=Ba(t,n,o,c),l=await Mo(e);l.invalid&&await yt(e);let f=await zf(e,d,i.cacheDiagnostics),m=s?await Uf(e,d):null,p=a?await Bf(e,d):null;Hf(f,m,p,l.envelope);let _=Zf(f,d),b=em(m,d),g=tm(p,d),S=[...new Set(Object.values(n))],A=await Xn(e,S),L=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ha));if(fm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:A,entryKeys:L,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:b,previousCollections:g}))return um({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:b,previousCollections:g});let x=await Promise.all(S.map(Jt=>Vf(e,Jt,r))),q=Cr(),B=nm(),Q={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:q,previousEntries:_,previousBodies:b,previousCollections:g,state:B};await rm(x,Q);let G=await Xn(e,S),ee=Bt(A,G)?G:{},te=B.misses.metadata||Object.keys(_).length!==Object.keys(B.newEntries).length||!Bt(f?.directory_signatures,ee)||f===null?$a():f.source_cursor;return await om({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingCache:f,previousEntries:_,directorySignatures:ee,state:B,minimumIndexedItems:$}),s&&await im({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingBodyCache:m,previousBodies:b,state:B}),a&&await sm({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingCollectionsCache:p,previousCollections:g,state:B}),dm(B)}async function Va(e,t,n,r,o){return(await nr(e,t,n,r,o,{includeBody:!1})).map(i=>({metadata:i.metadata,body:i.body??""}))}async function qa(e,t,n,r,o){return(await nr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(i=>({metadata:i.metadata,body:i.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1745a409-0f91-5f5a-8d2a-e5e61ff667a0")}catch{}})();function zo(e,t){return(t===void 0?void 0:Pi(e,t))?.execution_role??Di[e.trim().toLowerCase()]??"agent"}var Uo="blocked_by",Ga="blocks",mm=Object.freeze([Uo,Ga]),Ho="no-active-blocker";function F(e){return e.trim().toLowerCase()}function rr(e,t){return t?`external:${e}`:`local:${F(e)}`}function Vt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Ho){let r=ye(n);t.set(rr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Uo&&o.length>0&&F(o)!==Ho){let i=ye(o)||se(r.source_kind);t.set(rr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function or(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Vt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===Ga&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Ho)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function Ka(e,t){let n=F(e.id);return n.length>0?or(t).get(n)??Vt(e):Vt(e)}function Bo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??Ka(o,[...t.values()]):Vt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Uo&&se(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>rr(a.id.trim(),!0)));return i.map(a=>{if(ye(a)||s.has(rr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:ge(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function _m(e,t,n){return Bo(e,t,n)}function pm(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=or(e),o=new Set([...Xa(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=ot(s.status,t);o.has(a)&&(t.blocked_statuses.has(a)||Bo(s,n,t,r).some(c=>!c.resolved))&&i.add(F(s.id))}return i}function hm(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(ot(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=zo(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function Xa(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function ym(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!ge(s.status,n))return!0;r.push(F(s.id))}}}return!1}function gm(e){let t=new Map,n=new Map,r=new Map,o=or(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function bm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=gm(t),c=new Set([...Xa(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!ge(g.status,n)).map(g=>F(g.id))),l=[],f=[],m=[],p=[],_=[],b=0;for(let g of e){if(!c.has(ot(g.status,n)))continue;b+=1;let S=Bo(g,o,n,a).filter(x=>!x.resolved),A=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,q)=>x.localeCompare(q)),L={item:g,open_blockers:S,unblocks:A};if(ym(g.id,i,n)){m.push(L);continue}let $=n.blocked_statuses.has(ot(g.status,n));if(S.length===0&&!$){let x=zo(g.type,r);x==="human"?p.push(L):x==="gate"?_.push(L):l.push(L)}else f.push(L)}return{ready:l,blocked:f,containers:m,decisions:p,gates:_,active_count:b,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function de(){let e=ue();for(let t of me()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function qt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function ir(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function wm(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function vm(e,t){let n=[...e].sort(),r=wm(n,t),o=new Set,i=Em(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=km(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function Em(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function km(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Ya(e){let t=new Map;for(let n of e){let r=qt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Im(e,t,n){let r=qt(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function Sm(e,t,n,r){let o=qt(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function Ja(e,t){let n=new Map;for(let[r,o]of e){let i=Im(r,o,e);i&&n.set(ir(i),i);for(let s of o.dependencies??[]){let a=Sm(r,s,e,t);a&&n.set(ir(a),a)}}return[...n.values()].sort((r,o)=>ir(r).localeCompare(ir(o)))}function Ub(e,t=de()){return Ja(Ya(e),t)}function Tm(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function Cm(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=qt(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function sr(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=Ya(e),o=Ja(r,n),i=Om(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=vm([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:Tm(o,i.parents_by_child,s),divergences:Cm(r,o,s)}}function Bb(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function Om(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function Wo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Wb(e,t,n,r,o){let i=qt(n);if(!i)return;let s=sr(e,r,o),a=sr(t,r,o),c=a.divergences.find(f=>!s.divergences.some(m=>m.child_id===f.child_id&&m.scalar_parent_id===f.scalar_parent_id&&Wo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new h(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,w.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Wo(f.parent_ids,m.parent_ids)));if(d)throw new h(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,w.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Wo(f.item_ids,m.item_ids)));if(l)throw new h(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,w.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var xm="global";function Xb(e){let t=e?.trim();if(t)return se(t)?xm:t}function Yb(e,t,n){return Rm(e,t,n)}function Rm(e,t,n){let r=e.trim();return se(n)||ye(r)?r:Ye(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function bt(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Gt(e){let t=bt(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Kt(e,t,n=!0){let r=bt(e);return n&&(se(t)||r!==void 0&&ye(r))}function Vo(e,t){return Kt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Qa(e,t,n,r){return Kt(e,t)?r.get(e):n.get(e.toLowerCase())}function gt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function Am(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=bt(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${Vo(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Dm(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of Am(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=gt(r.holder_id,o.holder_id);if(i!==0)return i;let s=gt(r.target_id,o.target_id);return s!==0?s:gt(r.kind,o.kind)})}function Nm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=bt(n.id);if(!i||Vo(i,n.source_kind)!==Vo(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Lm(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=bt(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=Nm(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=gt(o.holder_id,i.holder_id);if(s!==0)return s;let a=gt(o.target_id,i.target_id);return a!==0?a:gt(o.dependency_kind,i.dependency_kind)})}function qo(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,l,f,m)=>{let p=bt(d);if(!p||r.has(p.toLowerCase())||Kt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:l,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;se(l.source_kind)||i(c,l.id,typeof l.kind=="string"?l.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Pm(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Mm(e){let t=new Map;for(let n of e){let r=Gt(n.blocked_by);r&&Kt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Kt(o.id,o.source_kind))continue;let i=Gt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Za=new WeakMap;function rw(e){return e.hierarchyIntegrity??Za.get(e)}function jm(e,t=de()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function ar(e,t,n){let r=n??de(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=qo(o,t),a=Pm(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Mm(o),d=new Set(i.keys()),l=new Map;for(let _ of c){let b=_;for(;d.has(b.toLowerCase());)b=`external:${b}`;l.set(_,b),d.add(b.toLowerCase())}let f=o.map(_=>{let b=Gt(_.parent),g=Gt(_.blocked_by),S=(_.dependencies??[]).flatMap(A=>{if(typeof A!="object"||A===null)return[];let L=A,$=Gt(L.id);return $?[{id:Qa($,L.source_kind,i,l),kind:typeof L.kind=="string"?L.kind:"related"}]:[]});return{id:_.id.trim(),...b?{parent:i.get(b.toLowerCase())}:{},...g?{blocked_by:Qa(g,void 0,i,l)}:{},dependencies:S}}),m=sr(o,t,r),p={graph:Ti.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:l.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:l.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Dm(o,t),orderingContradictions:Lm(o,t,r),legacyAliasCounts:jm(o,r),hierarchyIntegrity:m};return Za.set(p,m),p}import{createHash as Fm}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e31ef0fb-e803-500b-b1e5-db9edfc880c4")}catch{}})();var $m=64,Hm=8;function zm(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function tc(e,t=r=>r==="closed"||r==="canceled",n=ue()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>zm(i,t)).sort(),o=n.list().map(i=>D(i)).sort();return Fm("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function ec(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var Go=class{#e=new Map;#t;#n;constructor(t={}){this.#t=ec("maxResultsPerWorkspace",t.maxResultsPerWorkspace,$m),this.#n=ec("maxWorkspaces",t.maxWorkspaces,Hm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},nc=new Go;function rc(){return nc}function cw(){nc.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c67d6023-2fb2-541f-9541-8aa317368dcf")}catch{}})();var Um=["prerequisite","dependent","ancestor","descendant","provenance","related"],Bm=new TextEncoder;function Ko(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function cr(e){return Math.max(1,Math.ceil(Bm.encode(JSON.stringify(e)).byteLength/4))}function Xo(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let o=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===o?"prerequisite":"dependent"}if(r?.hierarchy){let o=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===o?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Wm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Xo(i,n,r));return[...new Set(o)].sort()}function Vm(e){return Um.find(t=>e.includes(t))}function qm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&l)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(l=!0);continue}for(let{id:_,edge:b}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:Xo(b,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function Gm(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Xo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Km(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Wm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Vm(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=cr(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Xm(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=cr(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function oc(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Ko(r.nodeLimit,20,"nodeLimit"),i=Ko(r.edgeLimit,40,"edgeLimit"),s=Ko(r.tokenBudget,1200,"tokenBudget"),a=r.registry??ue(),c=new Map(n.map(Ze=>[Ze.id,Ze])),d=c.get(t)??{id:t},{evidence:l=[],...f}=d,m=[...l],p=qm(e,t,a,r),{rootEdges:_,...b}=Gm(e,t,a,r),g=Ki("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=Yi(p.rows,r.cursor,g,({id:Ze})=>Ze),A=p.rows.slice(S),L=cr(f)+cr(m);if(L>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Km({candidates:A,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:L}),{nodes:x}=$,q=new Set([t,...x.map(({id:Ze})=>Ze)]),B=Xm({graph:e,included:q,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:Q,usedTokens:G}=B,ee=S+x.length,te=ee<p.rows.length,Jt=x.at(-1),wr=B.candidateCount-Q.length,gi=p.depthTruncated||te||wr>0,Jc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...b,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:Q.length,omittedNodes:p.rows.length-ee,omittedEdges:wr,evidenceCount:m.length,hasMore:te};return{root:f,summary:Jc,nodes:x,edges:Q,evidence:m,meta:{exact:!0,truncated:gi,completeness:gi?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:G,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:wr,...te&&Jt?{nextCursor:Xi(g,Jt.id,ee-1)}:{}}}}import{AsyncLocalStorage as p_}from"node:async_hooks";import{lstat as h_,realpath as _c}from"node:fs/promises";import pc from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f4ae942c-f11f-5d24-95bf-a2abf3c226da")}catch{}})();var X={ok:!1},y=e=>typeof e=="string"?{ok:!0,value:e}:X,O=e=>typeof e=="boolean"?{ok:!0,value:e}:X;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?X:{ok:!0,value:t}}function R(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:X}function v(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return X;let r=[];for(let o of n){let i=e(o);if(!i.ok)return X;r.push(i.value)}return{ok:!0,value:r}}}function Jo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:X}function u(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function dr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return X;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return X;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return X;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return X;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Ym=C({key:y,values:v(y),required:u(O),aliases:u(v(y)),description:u(y)}),Jm=C({command:R("create","update"),option:y,required:u(O),visible:u(O),enabled:u(O)}),Qm=C({name:y,description:u(y),default_status:u(y),execution_role:u(R("agent","human","gate")),folder:u(y),aliases:u(v(y)),required_create_fields:u(v(y)),required_create_repeatables:u(v(y)),options:u(v(Ym)),command_option_policies:u(v(Jm))}),Zm=C({id:y,aliases:u(v(y)),roles:u(v(R(...bi))),description:u(y),order:u(N())}),e_=C({key:y,metadata_key:u(y),front_matter_key:u(y),cli_flag:u(y),cli_aliases:u(v(y)),description:u(y),type:u(R(...wi)),commands:u(v(R(...vi))),repeatable:u(O),required:u(O),required_on_create:u(O),required_types:u(v(y)),allow_unset:u(O)}),t_=e=>{if(!Array.isArray(e)||e.length!==2)return X;let[t,n]=e;return typeof t!="string"||typeof n!="string"?X:{ok:!0,value:[t,n]}},n_=C({type:y,allowed_transitions:v(t_)}),r_=u(C({version:u(N({int:!0})),files:u(C({types:u(y),statuses:u(y),fields:u(y),workflows:u(y)})),statuses:u(v(Zm)),fields:u(v(e_)),workflow:u(C({draft_status:u(y),open_status:u(y),in_progress_status:u(y),blocked_status:u(y),close_status:u(y),canceled_status:u(y)})),type_workflows:u(v(n_)),unknown_field_policy:u(R(...Ei))})),o_=u(C({preset:u(R(...ki)),ownership_enforcement:u(R("none","warn","strict")),create_mode_default:u(R("progressive","strict")),close_validation_default:u(R("off","warn","strict")),require_close_reason:u(O),parent_reference:u(R("warn","strict_error")),metadata_profile:u(R("core","strict","custom")),force_required_for_stale_lock:u(O),create_default_type:u(y),workflow_enforcement:u(R("off","warn","strict")),duplicate_detection_mode:u(R("off","advisory","strict")),duplicate_detection_threshold:u(N({min:0,max:1})),duplicate_detection_limit:u(N({int:!0,min:0,max:20}))})),i_=C({name:y,disabled:u(O),require_trusted:u(O),require_provenance:u(O),sandbox_profile:u(R("none","restricted","strict")),allowed_capabilities:u(v(y)),blocked_capabilities:u(v(y)),allowed_surfaces:u(v(y)),blocked_surfaces:u(v(y)),allowed_commands:u(v(y)),blocked_commands:u(v(y)),allowed_actions:u(v(y)),blocked_actions:u(v(y)),allowed_services:u(v(y)),blocked_services:u(v(y))}),Yo=R("block","warn"),s_=e=>typeof e=="string"?Yo(e):C({global:u(Yo),project:u(Yo)})(e),a_=u(C({mode:u(R("off","warn","enforce")),trust_mode:u(R("off","warn","enforce")),pm_max_version_exceeded_mode:u(s_),require_provenance:u(O),trusted_extensions:u(v(y)),default_sandbox_profile:u(R("none","restricted","strict")),allowed_extensions:u(v(y)),blocked_extensions:u(v(y)),allowed_capabilities:u(v(y)),blocked_capabilities:u(v(y)),allowed_surfaces:u(v(y)),blocked_surfaces:u(v(y)),allowed_commands:u(v(y)),blocked_commands:u(v(y)),allowed_actions:u(v(y)),blocked_actions:u(v(y)),allowed_services:u(v(y)),blocked_services:u(v(y)),extension_overrides:u(v(i_))})),Qe=Jo(128),c_=C({harness:Jo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:u(v(Qe,64)),model_environment_keys:u(v(Qe,64)),session_environment_keys:u(v(Qe,64)),provenance_environment_keys:u(dr(v(Qe,64))),provenance_resolvers:u(dr(R("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:u(v(Qe,64)),argv_markers:u(v(Qe,64)),client_names:u(v(Qe,64))}),d_=C({version:N({int:!0}),id_prefix:y,ids:u(C({token_length:u(N({int:!0,min:4,max:12}))})),author_default:y,agent_identity:u(C({probes_enabled:u(O),identity_vocabulary:u(C({version:N({int:!0,positive:!0}),aliases:dr(Jo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:v(c_)})),mutation_guard:u(C({require_attributed_author:u(O),secret_guard:u(R("off","advise","block")),stale_in_progress_hours:u(N({int:!0,positive:!0}))})),item_format:u(R("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:u(N({int:!0,min:0}))}),checkpoints:u(C({retention_days:u(N({int:!0,positive:!0}))})),output:C({default_format:R("toon","json")}),ux:u(C({deprecation_hints:u(O)})),history:u(C({missing_stream:R("auto_create","strict_error"),compact_policy:u(C({enabled:u(O),max_entries:u(N({int:!0,positive:!0})),trigger:u(R("health_warn","auto"))}))})),validation:u(C({sprint_release_format:R("warn","strict_error"),parent_reference:u(R("warn","strict_error")),metadata_profile:u(R("core","strict","custom")),metadata_required_fields:u(v(y)),lifecycle_stale_blocker_reason_patterns:u(v(y)),lifecycle_closure_like_blocked_reason_patterns:u(v(y)),lifecycle_closure_like_resolution_patterns:u(v(y)),lifecycle_closure_like_actual_result_patterns:u(v(y)),estimate_defaults_by_type:u(dr(N({int:!0,positive:!0})))})),governance:o_,workflow:u(C({definition_of_done:v(y)})),testing:u(C({record_results_to_items:O,allow_untrusted_linked_tests:u(O)})),telemetry:u(C({enabled:O,first_run_prompt_completed:u(O),capture_level:u(R("minimal","redacted","max")),endpoint:u(y),installation_id:u(y),retention_days:u(N({int:!0,positive:!0}))})),agent_guidance:u(C({prompt_completed:u(O),declined:u(O),declined_at:u(y),template_version:u(N({int:!0,positive:!0})),last_checked_files:u(v(y))})),item_types:u(C({definitions:v(Qm)})),schema:r_,context:u(C({default_depth:u(R("brief","standard","deep")),activity_limit:u(N({int:!0,positive:!0})),stale_threshold_days:u(N({int:!0,positive:!0})),sections:u(C({hierarchy:u(O),activity:u(O),progress:u(O),recently_created:u(O),unparented:u(O),blockers:u(O),files:u(O),workload:u(O),staleness:u(O),tests:u(O)}))})),extensions:C({enabled:v(y),disabled:v(y),policy:a_}),search:C({score_threshold:N(),hybrid_semantic_weight:u(N()),max_results:N({int:!0}),embedding_model:y,embedding_corpus_max_characters:u(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:u(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:u(y),default_mode:u(R("auto","keyword","semantic","hybrid")),corpus_fields:u(v(y)),mutation_refresh_policy:u(R("cache_only","semantic_configured","semantic_auto")),query_expansion:u(C({enabled:u(O),provider:u(y)})),rerank:u(C({enabled:u(O),model:u(y),top_k:u(N({int:!0,positive:!0}))})),bm25:u(C({k1:u(N()),b:u(N())}))}),providers:C({openai:C({base_url:y,api_key:y,model:y}),ollama:C({base_url:y,model:y})}),vector_store:C({adapter:u(y),collection_name:u(y),qdrant:C({url:y,api_key:y}),lancedb:C({path:y})})});function Qo(e){let t=d_(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a0ca9902-540c-50fe-a4e2-9c234c4a01f3")}catch{}})();function lr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zo(e,t,n,r=[]){if(ie(e,t)&&(r.length>0||lr(n)))return n;if(ie(e,n)||ie(t,n))return t;if((e===void 0||lr(e))&&lr(t)&&lr(n)){let o=e??{},i=new Set([...Object.keys(o),...Object.keys(t),...Object.keys(n)]);return Object.fromEntries([...i].flatMap(s=>{let a=Zo(Object.hasOwn(o,s)?o[s]:void 0,Object.hasOwn(t,s)?t[s]:void 0,Object.hasOwn(n,s)?n[s]:void 0,[...r,s]);return a===void 0?[]:[[s,a]]}))}throw new h(`Settings changed concurrently at ${r.join(".")||"<root>"}; read the latest settings and reapply the intended change.`,w.CONFLICT,{reason:"stale_settings_snapshot",required:"Read a fresh settings snapshot and reapply the intended change.",why:"Another writer changed the same setting after this snapshot was read.",examples:["pm config project export --json"],nextSteps:["Read the current settings, then retry the original config operation."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de43e8e6-d7ef-53cc-94b0-ccdf1c4f94a3")}catch{}})();var l_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ic=120;function ei(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ac(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var u_=ac(l_),sc=new WeakMap;function f_(e){let t=sc.get(e);if(t)return t;let n=ac(e);return sc.set(e,n),n}function bw(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return ic;if(t){let o=f_(t).get(n);if(ei(o))return Math.floor(o)}let r=u_.get(n);return ei(r)?Math.floor(r):ic}function ti(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!ei(r)||(t[o]=Math.floor(r))}return t}import{stat as m_}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="78c79deb-5cf0-54fe-b98c-a0d5b3671ab2")}catch{}})();var ur=new Map;function cc(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function __(e){try{let t=await m_(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Ae(e){let t=cc(e),n=await Promise.all(t.map(r=>__(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Xt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function dc(e){return ur.get(e)}function fr(e,t){let n=cc(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));ur.set(e,{tracked_paths:n,signatures:r,value:t.value})}function De(e){if(e){ur.delete(e);return}ur.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bbb5e299-541d-5fff-8422-855c85cf7a31")}catch{}})();var ii=new p_;async function Hw(e,t,n=()=>!0){let r=new Set([pc.resolve(e)]);try{r.add(await _c(e))}catch{}return ii.run([...ii.getStore()??[],[r,n]],t)}function y_(e){let t=pc.resolve(e);return ii.getStore()?.some(([n,r])=>n.has(t)&&r())??!1}var g_="settings:write",hc=Symbol("pm.settings.persist_source"),b_=128,w_=new Set(["off","advisory","strict"]);function lc(e){return structuredClone(Si[e])}function v_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function uc(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function E_(e){return e.preset==="custom"?uc({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):uc({preset:e.preset},e)}function k_(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),w_.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function pr(e){let t=e.governance??{},n=v_(t.preset),r=k_(t);if(n==="custom"){let s=lc("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=lc(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function yc(){return structuredClone(k)}function gc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function bc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function wc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function vc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function Ec(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function kc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function Ic(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function Sc(e){if(typeof e!="string")return k.vector_store.collection_name;let t=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,b_);return t.length>0?t:k.vector_store.collection_name}function ni(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Tc(e,t){let n=e.schema,r=ni(n?.statuses),o=ni(n?.fields),i=ni(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:wt(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:wt(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function ci(e,t){Object.defineProperty(e,hc,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Cc(e){let t=e[hc];if(!(!t||typeof t!="object"))return t}function mr(e){let t=structuredClone(e.settings),n=Cc(e.settings);return n&&ci(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function I_(e,t,n){let r=Tt(t);return[n,Ct(e,r.files.types,St.types),Ct(e,r.files.statuses,St.statuses),Ct(e,r.files.fields,St.fields),Ct(e,r.files.workflows,St.workflows)]}async function S_(e,t,n){let r=await Ae(t);fr(e,{tracked_paths:t,signatures:r,value:mr(n)})}async function T_(e,t,n){try{await S_(e,t,n)}catch{De(e)}}function fc(e,t){return e.find(n=>n.path===t)}function C_(e,t,n){for(let r of n){let o=fc(e,r),i=fc(t,r);if(!o||!i||!Xt([o],[i]))return!1}return!0}async function ri(e,t,n,r,o){try{let i=await Ae(t);if(!C_(r,i,o)){De(e);return}fr(e,{tracked_paths:t,signatures:i,value:mr(n)})}catch{De(e)}}function O_(e,t){let n=Tt(e.schema),r=wt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=ie(r,t.runtime_item_type_definitions),s=ie(n.statuses,t.runtime_schema_statuses),a=ie(n.fields,t.runtime_schema_fields),c=ie(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?wt(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function le(e){return{settings:yc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Oc(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function si(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function xc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:si(e?.last_checked_files??t.last_checked_files)}}function oe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function x_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function R_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function Rc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function A_(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=Rc(e.sandbox_profile));let r=oe(e.allowed_capabilities),o=oe(e.blocked_capabilities),i=oe(e.allowed_surfaces),s=oe(e.blocked_surfaces),a=oe(e.allowed_commands),c=oe(e.blocked_commands),d=oe(e.allowed_actions),l=oe(e.blocked_actions),f=oe(e.allowed_services),m=oe(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),l.length>0&&(n.blocked_actions=l),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function D_(e){let t=new Map;for(let n of e??[]){let r=A_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function oi(e){return e==="block"||e==="warn"?e:void 0}function N_(e){if(typeof e=="string")return oi(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=oi(e.global),n=oi(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function Y(e,t){return oe(e?.[t]??k.extensions.policy[t])}function Ac(e){let t=N_(e?.pm_max_version_exceeded_mode);return{mode:x_(e?.mode),trust_mode:R_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:Y(e,"trusted_extensions"),default_sandbox_profile:Rc(e?.default_sandbox_profile),allowed_extensions:Y(e,"allowed_extensions"),blocked_extensions:Y(e,"blocked_extensions"),allowed_capabilities:Y(e,"allowed_capabilities"),blocked_capabilities:Y(e,"blocked_capabilities"),allowed_surfaces:Y(e,"allowed_surfaces"),blocked_surfaces:Y(e,"blocked_surfaces"),allowed_commands:Y(e,"allowed_commands"),blocked_commands:Y(e,"blocked_commands"),allowed_actions:Y(e,"allowed_actions"),blocked_actions:Y(e,"blocked_actions"),allowed_services:Y(e,"allowed_services"),blocked_services:Y(e,"blocked_services"),extension_overrides:D_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function Dc(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].filter(t=>t.length>0).sort((t,n)=>t.localeCompare(n)).filter(t=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(t))}function Ne(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function ai(e){return Array.isArray(e)?e:[]}function L_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Dc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ne(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ne(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ne(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ne(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:ti(e.validation?.estimate_defaults_by_type)}}function P_(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function M_(e,t){return{...t.search,...e.search,default_mode:bc(e.search?.default_mode),mutation_refresh_policy:gc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:wc(e.search?.query_expansion?.enabled),provider:vc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Ec(e.search?.rerank?.enabled),model:kc(e.search?.rerank?.model),top_k:Ic(e.search?.rerank?.top_k)}}}function j_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Sc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function F_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function $_(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function H_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function wt(e){let t=(e??[]).map(r=>Ai(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function _r(e){let t=yc(),n=pr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:F_(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:L_(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:P_(e,t),agent_guidance:xc(e.agent_guidance??t.agent_guidance),item_types:{definitions:wt(e.item_types?.definitions)},schema:Tt(e.schema??t.schema),context:$_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:Ac(e.extensions.policy??t.extensions.policy)},search:M_(e,t),providers:H_(e,t),vector_store:j_(e,t)}}function z_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(J(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=ai(e.agent_identity.harness_signals).map(n=>T(J(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(J(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(J(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(J(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(J(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=ai(e.extensions.policy.extension_overrides).map(n=>T(J(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(J(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(J(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(J(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(J(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(J(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(J(e.vector_store.lancedb),["path"])}function U_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function B_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Dc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ne(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ne(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ne(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ne(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:ti(e.validation?.estimate_defaults_by_type)}}function W_(e){return{...k.search,...e.search,default_mode:bc(e.search?.default_mode),mutation_refresh_policy:gc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:wc(e.search?.query_expansion?.enabled),provider:vc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:Ec(e.search?.rerank?.enabled),model:kc(e.search?.rerank?.model),top_k:Ic(e.search?.rerank?.top_k)}}}function V_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function q_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:Sc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function G_(e,t,n,r){return{...e,item_format:"toon",validation:B_(e,t),governance:t,agent_guidance:xc(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:W_(e),context:V_(e),extensions:{enabled:si(e.extensions?.enabled),disabled:si(e.extensions?.disabled),policy:Ac(e.extensions?.policy)},vector_store:q_(e)}}function Nc(e,t){for(let n of Object.keys(t)){let r=Reflect.get(t,n),o=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof o=="object"&&o!==null&&!Array.isArray(o)?Nc(o,r):e[n]=structuredClone(r)}}function Lc(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!ie(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};Lc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var di=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function mc(e,t){let n=U_(e),r=pr(n),o=Tt(n.schema),i=O_(n,t),s=G_(n,r,o,i),a=T({...s,governance:E_(r)},di);return z_(a),a}function K_(e,t={}){let n=t.source===void 0?t.persist_source:Tc(t.source.validated,_r(t.source.validated)),r=mc(e,n);if(n){let o=_r(n.source_settings);o.item_types={definitions:structuredClone(n.runtime_item_type_definitions)},o.schema={...o.schema,statuses:structuredClone(n.runtime_schema_statuses),fields:structuredClone(n.runtime_schema_fields),type_workflows:structuredClone(n.runtime_schema_type_workflows)};let i=mc(o,n);t.source!==void 0&&Nc(i,t.source.validated);let s=structuredClone(t.source===void 0?n.source_settings:t.source.raw);return Lc(s,i,r),`${JSON.stringify(T(s,di),null,2)}
|
|
161
|
+
LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(i=>JSON.parse(String(i.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:o}}catch{return n?.close(),null}}async function Kn(e){await Je.rm(ht(e),{force:!0})}import U from"node:fs/promises";import M from"node:path";import{createHash as xf,randomUUID as $a}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="846c1c5d-8a5c-56ee-832a-bfc780283e70")}catch{}})();var ce=8,Ha=500,Rf="metadata-derived-index",Af="metadata-cache.json",Df="metadata-cache-bodies.json",Nf="metadata-cache-collections.json",Lf="metadata-cache-delta.json",Pf="metadata-cache-manifest.json",Pa=4,Mf=["comments","notes","learnings","files","tests","test_runs","docs"];function za(){return on(me())}function Yn(e){let t={...e},n={};for(let r of Mf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ua(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ba(e,t,n,r){let o=xf("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Jn(e){return M.join(e,"runtime",Af)}function Qn(e){return M.join(e,"runtime",Df)}function Zn(e){return M.join(e,"runtime",Nf)}function No(e){return M.join(e,"runtime",Lf)}function Lo(e){return M.join(e,"runtime",Pf)}function er(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var jf=24,Z=new Map,tr=new WeakMap;function Po(e){return tr.get(e)??e.source_cursor}function Ff(e,t){let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function $f(e,t){if(!e)return;let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function Hf(e,t){if(!e)return;let n=Po(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){tr.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function zf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Ff(e,r),$f(t,r),Hf(n,r))}function Do(e,t){Z.size>=jf&&!Z.has(e)&&zi(Z),Z.set(e,t)}async function Re(e,t){let n;try{n=await U.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&zt(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await U.readFile(e,"utf8"))}catch{o=null}return Do(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Uf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ce||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Jn(e),i=await Re(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Re(er(o,t),r);return s===null&&Wt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Bf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Qn(e),o=await Re(r,n);return t&&o?.context_fingerprint!==t?await Re(er(r,t),n):o}async function Wf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Zn(e),o=await Re(r,n);return t&&o?.context_fingerprint!==t?await Re(er(r,t),n):o}async function Mo(e){let t=No(e),n=await Re(t,r=>{let o=JSON.parse(r);return o.version!==ce||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await U.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function jo(e){let t=Lo(e),n=await Re(t,r=>{let o=JSON.parse(r);return o.version!==ce||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await U.stat(t),await yt(e)}catch{}return null}async function Ut(e,t){await U.mkdir(M.dirname(e),{recursive:!0}),await K(e,JSON.stringify(t));try{let r=await U.stat(e);Do(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Jn(n)||e===Qn(n)||e===Zn(n)){let r=er(e,t.context_fingerprint);await K(r,JSON.stringify(t));try{let c=await U.stat(r);Do(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await U.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>Pa){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await U.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((l,f)=>l.mtime-f.mtime).slice(0,Math.max(0,c.length-Pa)))await U.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Vf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Wa(e,t,n){return e===void 0||Vf(e,t,n)}function Wt(e,t){e&&!e.includes(t)&&e.push(t)}function zt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function qf(e,t,n){let r=M.join(e,t);try{let o=await U.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!ne(o)&&Wt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Gf(e,t){try{let n=await U.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Xn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Gf(e,n))))}function Bt(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&zt(o,r.mtime_ms,r.ctime_ms,r.size)})}function Kf(e){return an.some(t=>e.toLowerCase().endsWith(t))}function Xf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Yf(e,t,n){if(n)for(let r of await ke({path:e,scope:"project"}))Wt(t,r)}function Ma(e,t,n,r){if(e)return t&&n?n.collections:r}async function Jf(e,t,n){let r=await U.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Ir(e);await Yf(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&zt(c,o,i,s),l=n.previousBodies[t],f=!n.forceSourceRead&&l!==void 0&&zt(l,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&zt(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ma(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?l.body:void 0};let _=await U.readFile(e,"utf8"),b=In(_,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:S=>Wt(n.warnings,S)}),g=Yn(b.metadata);return Xf(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:g.light,heavyMetadata:Ma(n.includeCollections,p,m,g.heavy),bodyLength:d?c.body_length:b.body.length,body:n.includeBody?b.body:void 0}}function Qf(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?Ua(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};Wa(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Zf(e,t,n,r){try{let o=await Jf(t,n,r);Qf(t,n,r,o)}catch{Wt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function em(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function tm(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function nm(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function rm(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function om(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Kf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Zf(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function im(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Bt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Ut(Jn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Ut(Lo(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let t=[...e.state.documentsById.values()].map(({candidate:n})=>({relativePath:M.relative(e.pmRoot,n.item_path),metadata:Yn(n.metadata).light,linkedFiles:n.metadata.files??[]}));t.length>=e.minimumIndexedItems?await Na({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:t}):await Kn(e.pmRoot)}catch{}}async function sm(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await Ut(Qn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function am(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await Ut(Zn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Fo(e,t,n={}){let r=await jo(e);return n.required!==!0&&(r===null||r.entry_count<Ha)?async()=>{}:W(e,Rf,30,t,!1,!1,3e3)}async function xb(e,t){let n=await jo(e);if(n===null)return null;let r=await Mo(e);if(r.invalid)return await yt(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!Bt(i,await Xn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function ja(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function yt(e){await Promise.all([Jn(e),Qn(e),Zn(e),No(e),Lo(e)].map(async t=>{await U.rm(t,{force:!0}),Z.delete(t)})),await Kn(e)}async function cm(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await U.stat(e.mutation.itemPath),n=Yn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function dm(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function $o(e){let t=ja(e.pmRoot,e.itemPath),n=e.previousItemPath?ja(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await yt(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ba(e.preferredFormat,e.typeToFolder,e.schema,za()),o=await jo(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Mo(e.pmRoot);if(s.invalid)return await yt(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=dm(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await cm({mutation:e});let d=$a();return await Ut(No(e.pmRoot),{version:ce,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Xn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await La({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Yn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Kn(e.pmRoot),[]}catch{return await yt(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function lm(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Fa(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function um(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function fm(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Ir(n);if(!o)continue;let i=e.includeCollections?Ua(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Wa(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function mm(e){return e.forceSourceScan||Cr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Bt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Fa(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Fa(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&um(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function nr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=za(),d=Ba(t,n,o,c),l=await Mo(e);l.invalid&&await yt(e);let f=await Uf(e,d,i.cacheDiagnostics),m=s?await Bf(e,d):null,p=a?await Wf(e,d):null;zf(f,m,p,l.envelope);let _=em(f,d),b=tm(m,d),g=nm(p,d),S=[...new Set(Object.values(n))],A=await Xn(e,S),L=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ha));if(mm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:A,entryKeys:L,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:b,previousCollections:g}))return fm({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:b,previousCollections:g});let x=await Promise.all(S.map(Jt=>qf(e,Jt,r))),q=Cr(),B=rm(),Q={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:q,previousEntries:_,previousBodies:b,previousCollections:g,state:B};await om(x,Q);let G=await Xn(e,S),ee=Bt(A,G)?G:{},te=B.misses.metadata||Object.keys(_).length!==Object.keys(B.newEntries).length||!Bt(f?.directory_signatures,ee)||f===null?$a():f.source_cursor;return await im({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingCache:f,previousEntries:_,directorySignatures:ee,state:B,minimumIndexedItems:$}),s&&await sm({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingBodyCache:m,previousBodies:b,state:B}),a&&await am({pmRoot:e,contextFingerprint:d,sourceCursor:te,existingCollectionsCache:p,previousCollections:g,state:B}),lm(B)}async function Va(e,t,n,r,o){return(await nr(e,t,n,r,o,{includeBody:!1})).map(i=>({metadata:i.metadata,body:i.body??""}))}async function qa(e,t,n,r,o){return(await nr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(i=>({metadata:i.metadata,body:i.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1745a409-0f91-5f5a-8d2a-e5e61ff667a0")}catch{}})();function zo(e,t){return(t===void 0?void 0:Pi(e,t))?.execution_role??Di[e.trim().toLowerCase()]??"agent"}var Uo="blocked_by",Ga="blocks",_m=Object.freeze([Uo,Ga]),Ho="no-active-blocker";function F(e){return e.trim().toLowerCase()}function rr(e,t){return t?`external:${e}`:`local:${F(e)}`}function Vt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Ho){let r=ye(n);t.set(rr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Uo&&o.length>0&&F(o)!==Ho){let i=ye(o)||se(r.source_kind);t.set(rr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function or(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Vt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===Ga&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Ho)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function Ka(e,t){let n=F(e.id);return n.length>0?or(t).get(n)??Vt(e):Vt(e)}function Bo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??Ka(o,[...t.values()]):Vt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Uo&&se(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>rr(a.id.trim(),!0)));return i.map(a=>{if(ye(a)||s.has(rr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:ge(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function pm(e,t,n){return Bo(e,t,n)}function hm(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=or(e),o=new Set([...Xa(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=ot(s.status,t);o.has(a)&&(t.blocked_statuses.has(a)||Bo(s,n,t,r).some(c=>!c.resolved))&&i.add(F(s.id))}return i}function ym(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(ot(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=zo(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function Xa(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function gm(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!ge(s.status,n))return!0;r.push(F(s.id))}}}return!1}function bm(e){let t=new Map,n=new Map,r=new Map,o=or(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function wm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=bm(t),c=new Set([...Xa(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!ge(g.status,n)).map(g=>F(g.id))),l=[],f=[],m=[],p=[],_=[],b=0;for(let g of e){if(!c.has(ot(g.status,n)))continue;b+=1;let S=Bo(g,o,n,a).filter(x=>!x.resolved),A=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,q)=>x.localeCompare(q)),L={item:g,open_blockers:S,unblocks:A};if(gm(g.id,i,n)){m.push(L);continue}let $=n.blocked_statuses.has(ot(g.status,n));if(S.length===0&&!$){let x=zo(g.type,r);x==="human"?p.push(L):x==="gate"?_.push(L):l.push(L)}else f.push(L)}return{ready:l,blocked:f,containers:m,decisions:p,gates:_,active_count:b,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function de(){let e=ue();for(let t of me()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b57e560-4ac4-53b6-9fb1-eebb1f30562a")}catch{}})();function qt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function ir(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function vm(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function Em(e,t){let n=[...e].sort(),r=vm(n,t),o=new Set,i=km(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=Im(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function km(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function Im(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Ya(e){let t=new Map;for(let n of e){let r=qt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Sm(e,t,n){let r=qt(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function Tm(e,t,n,r){let o=qt(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function Ja(e,t){let n=new Map;for(let[r,o]of e){let i=Sm(r,o,e);i&&n.set(ir(i),i);for(let s of o.dependencies??[]){let a=Tm(r,s,e,t);a&&n.set(ir(a),a)}}return[...n.values()].sort((r,o)=>ir(r).localeCompare(ir(o)))}function Bb(e,t=de()){return Ja(Ya(e),t)}function Cm(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function Om(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=qt(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function sr(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=Ya(e),o=Ja(r,n),i=xm(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Em([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:Cm(o,i.parents_by_child,s),divergences:Om(r,o,s)}}function Wb(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function xm(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function Wo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Vb(e,t,n,r,o){let i=qt(n);if(!i)return;let s=sr(e,r,o),a=sr(t,r,o),c=a.divergences.find(f=>!s.divergences.some(m=>m.child_id===f.child_id&&m.scalar_parent_id===f.scalar_parent_id&&Wo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new h(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,w.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Wo(f.parent_ids,m.parent_ids)));if(d)throw new h(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,w.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Wo(f.item_ids,m.item_ids)));if(l)throw new h(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,w.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var Rm="global";function Yb(e){let t=e?.trim();if(t)return se(t)?Rm:t}function Jb(e,t,n){return Am(e,t,n)}function Am(e,t,n){let r=e.trim();return se(n)||ye(r)?r:Ye(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function bt(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Gt(e){let t=bt(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Kt(e,t,n=!0){let r=bt(e);return n&&(se(t)||r!==void 0&&ye(r))}function Vo(e,t){return Kt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Qa(e,t,n,r){return Kt(e,t)?r.get(e):n.get(e.toLowerCase())}function gt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function Dm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=bt(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${Vo(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Nm(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of Dm(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=gt(r.holder_id,o.holder_id);if(i!==0)return i;let s=gt(r.target_id,o.target_id);return s!==0?s:gt(r.kind,o.kind)})}function Lm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=bt(n.id);if(!i||Vo(i,n.source_kind)!==Vo(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Pm(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=bt(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=Lm(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=gt(o.holder_id,i.holder_id);if(s!==0)return s;let a=gt(o.target_id,i.target_id);return a!==0?a:gt(o.dependency_kind,i.dependency_kind)})}function qo(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,l,f,m)=>{let p=bt(d);if(!p||r.has(p.toLowerCase())||Kt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:l,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;se(l.source_kind)||i(c,l.id,typeof l.kind=="string"?l.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Mm(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function jm(e){let t=new Map;for(let n of e){let r=Gt(n.blocked_by);r&&Kt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Kt(o.id,o.source_kind))continue;let i=Gt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Za=new WeakMap;function ow(e){return e.hierarchyIntegrity??Za.get(e)}function Fm(e,t=de()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function ar(e,t,n){let r=n??de(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=qo(o,t),a=Mm(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=jm(o),d=new Set(i.keys()),l=new Map;for(let _ of c){let b=_;for(;d.has(b.toLowerCase());)b=`external:${b}`;l.set(_,b),d.add(b.toLowerCase())}let f=o.map(_=>{let b=Gt(_.parent),g=Gt(_.blocked_by),S=(_.dependencies??[]).flatMap(A=>{if(typeof A!="object"||A===null)return[];let L=A,$=Gt(L.id);return $?[{id:Qa($,L.source_kind,i,l),kind:typeof L.kind=="string"?L.kind:"related"}]:[]});return{id:_.id.trim(),...b?{parent:i.get(b.toLowerCase())}:{},...g?{blocked_by:Qa(g,void 0,i,l)}:{},dependencies:S}}),m=sr(o,t,r),p={graph:Ti.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:l.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:l.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Nm(o,t),orderingContradictions:Pm(o,t,r),legacyAliasCounts:Fm(o,r),hierarchyIntegrity:m};return Za.set(p,m),p}import{createHash as $m}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e31ef0fb-e803-500b-b1e5-db9edfc880c4")}catch{}})();var Hm=64,zm=8;function Um(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function tc(e,t=r=>r==="closed"||r==="canceled",n=ue()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Um(i,t)).sort(),o=n.list().map(i=>D(i)).sort();return $m("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function ec(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var Go=class{#e=new Map;#t;#n;constructor(t={}){this.#t=ec("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Hm),this.#n=ec("maxWorkspaces",t.maxWorkspaces,zm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},nc=new Go;function rc(){return nc}function dw(){nc.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c67d6023-2fb2-541f-9541-8aa317368dcf")}catch{}})();var Bm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Wm=new TextEncoder;function Ko(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function cr(e){return Math.max(1,Math.ceil(Wm.encode(JSON.stringify(e)).byteLength/4))}function Xo(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let o=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===o?"prerequisite":"dependent"}if(r?.hierarchy){let o=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===o?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Vm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Xo(i,n,r));return[...new Set(o)].sort()}function qm(e){return Bm.find(t=>e.includes(t))}function Gm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&l)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(l=!0);continue}for(let{id:_,edge:b}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:Xo(b,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function Km(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Xo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Xm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Vm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?qm(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=cr(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Ym(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=cr(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function oc(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Ko(r.nodeLimit,20,"nodeLimit"),i=Ko(r.edgeLimit,40,"edgeLimit"),s=Ko(r.tokenBudget,1200,"tokenBudget"),a=r.registry??ue(),c=new Map(n.map(Ze=>[Ze.id,Ze])),d=c.get(t)??{id:t},{evidence:l=[],...f}=d,m=[...l],p=Gm(e,t,a,r),{rootEdges:_,...b}=Km(e,t,a,r),g=Ki("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=Yi(p.rows,r.cursor,g,({id:Ze})=>Ze),A=p.rows.slice(S),L=cr(f)+cr(m);if(L>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Xm({candidates:A,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:L}),{nodes:x}=$,q=new Set([t,...x.map(({id:Ze})=>Ze)]),B=Ym({graph:e,included:q,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:Q,usedTokens:G}=B,ee=S+x.length,te=ee<p.rows.length,Jt=x.at(-1),wr=B.candidateCount-Q.length,gi=p.depthTruncated||te||wr>0,Jc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...b,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:Q.length,omittedNodes:p.rows.length-ee,omittedEdges:wr,evidenceCount:m.length,hasMore:te};return{root:f,summary:Jc,nodes:x,edges:Q,evidence:m,meta:{exact:!0,truncated:gi,completeness:gi?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:G,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:wr,...te&&Jt?{nextCursor:Xi(g,Jt.id,ee-1)}:{}}}}import{AsyncLocalStorage as h_}from"node:async_hooks";import{lstat as y_,realpath as _c}from"node:fs/promises";import pc from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f4ae942c-f11f-5d24-95bf-a2abf3c226da")}catch{}})();var X={ok:!1},y=e=>typeof e=="string"?{ok:!0,value:e}:X,O=e=>typeof e=="boolean"?{ok:!0,value:e}:X;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?X:{ok:!0,value:t}}function R(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:X}function E(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return X;let r=[];for(let o of n){let i=e(o);if(!i.ok)return X;r.push(i.value)}return{ok:!0,value:r}}}function Jo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:X}function u(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function dr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return X;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return X;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return X;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return X;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Jm=C({key:y,values:E(y),required:u(O),aliases:u(E(y)),description:u(y)}),Qm=C({command:R("create","update"),option:y,required:u(O),visible:u(O),enabled:u(O)}),Zm=C({name:y,description:u(y),default_status:u(y),execution_role:u(R("agent","human","gate")),folder:u(y),aliases:u(E(y)),required_create_fields:u(E(y)),required_create_repeatables:u(E(y)),options:u(E(Jm)),command_option_policies:u(E(Qm))}),e_=C({id:y,aliases:u(E(y)),roles:u(E(R(...bi))),description:u(y),order:u(N())}),t_=C({key:y,metadata_key:u(y),front_matter_key:u(y),cli_flag:u(y),cli_aliases:u(E(y)),description:u(y),type:u(R(...wi)),commands:u(E(R(...vi))),repeatable:u(O),required:u(O),required_on_create:u(O),required_types:u(E(y)),allow_unset:u(O)}),n_=e=>{if(!Array.isArray(e)||e.length!==2)return X;let[t,n]=e;return typeof t!="string"||typeof n!="string"?X:{ok:!0,value:[t,n]}},r_=C({type:y,allowed_transitions:E(n_)}),o_=u(C({version:u(N({int:!0})),files:u(C({types:u(y),statuses:u(y),fields:u(y),workflows:u(y)})),statuses:u(E(e_)),fields:u(E(t_)),workflow:u(C({draft_status:u(y),open_status:u(y),in_progress_status:u(y),blocked_status:u(y),close_status:u(y),canceled_status:u(y)})),type_workflows:u(E(r_)),unknown_field_policy:u(R(...Ei))})),i_=u(C({preset:u(R(...ki)),ownership_enforcement:u(R("none","warn","strict")),create_mode_default:u(R("progressive","strict")),close_validation_default:u(R("off","warn","strict")),require_close_reason:u(O),parent_reference:u(R("warn","strict_error")),metadata_profile:u(R("core","strict","custom")),force_required_for_stale_lock:u(O),create_default_type:u(y),workflow_enforcement:u(R("off","warn","strict")),duplicate_detection_mode:u(R("off","advisory","strict")),duplicate_detection_threshold:u(N({min:0,max:1})),duplicate_detection_limit:u(N({int:!0,min:0,max:20}))})),s_=C({name:y,disabled:u(O),require_trusted:u(O),require_provenance:u(O),sandbox_profile:u(R("none","restricted","strict")),allowed_capabilities:u(E(y)),blocked_capabilities:u(E(y)),allowed_surfaces:u(E(y)),blocked_surfaces:u(E(y)),allowed_commands:u(E(y)),blocked_commands:u(E(y)),allowed_actions:u(E(y)),blocked_actions:u(E(y)),allowed_services:u(E(y)),blocked_services:u(E(y))}),Yo=R("block","warn"),a_=e=>typeof e=="string"?Yo(e):C({global:u(Yo),project:u(Yo)})(e),c_=u(C({mode:u(R("off","warn","enforce")),trust_mode:u(R("off","warn","enforce")),pm_max_version_exceeded_mode:u(a_),require_provenance:u(O),trusted_extensions:u(E(y)),default_sandbox_profile:u(R("none","restricted","strict")),allowed_extensions:u(E(y)),blocked_extensions:u(E(y)),allowed_capabilities:u(E(y)),blocked_capabilities:u(E(y)),allowed_surfaces:u(E(y)),blocked_surfaces:u(E(y)),allowed_commands:u(E(y)),blocked_commands:u(E(y)),allowed_actions:u(E(y)),blocked_actions:u(E(y)),allowed_services:u(E(y)),blocked_services:u(E(y)),extension_overrides:u(E(s_))})),Qe=Jo(128),d_=C({harness:Jo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:u(E(Qe,64)),model_environment_keys:u(E(Qe,64)),session_environment_keys:u(E(Qe,64)),provenance_environment_keys:u(dr(E(Qe,64))),provenance_resolvers:u(dr(R("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:u(E(Qe,64)),argv_markers:u(E(Qe,64)),client_names:u(E(Qe,64))}),l_=C({version:N({int:!0}),id_prefix:y,ids:u(C({token_length:u(N({int:!0,min:4,max:12}))})),author_default:y,agent_identity:u(C({probes_enabled:u(O),identity_vocabulary:u(C({version:N({int:!0,positive:!0}),aliases:dr(Jo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:E(d_)})),mutation_guard:u(C({require_attributed_author:u(O),secret_guard:u(R("off","advise","block")),stale_in_progress_hours:u(N({int:!0,positive:!0}))})),item_format:u(R("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:u(N({int:!0,min:0}))}),checkpoints:u(C({retention_days:u(N({int:!0,positive:!0}))})),output:C({default_format:R("toon","json")}),ux:u(C({deprecation_hints:u(O)})),history:u(C({missing_stream:R("auto_create","strict_error"),compact_policy:u(C({enabled:u(O),max_entries:u(N({int:!0,positive:!0})),trigger:u(R("health_warn","auto"))}))})),validation:u(C({sprint_release_format:R("warn","strict_error"),parent_reference:u(R("warn","strict_error")),metadata_profile:u(R("core","strict","custom")),metadata_required_fields:u(E(y)),lifecycle_stale_blocker_reason_patterns:u(E(y)),lifecycle_closure_like_blocked_reason_patterns:u(E(y)),lifecycle_closure_like_resolution_patterns:u(E(y)),lifecycle_closure_like_actual_result_patterns:u(E(y)),estimate_defaults_by_type:u(dr(N({int:!0,positive:!0})))})),governance:i_,workflow:u(C({definition_of_done:E(y)})),testing:u(C({record_results_to_items:O,allow_untrusted_linked_tests:u(O)})),telemetry:u(C({enabled:O,first_run_prompt_completed:u(O),capture_level:u(R("minimal","redacted","max")),endpoint:u(y),installation_id:u(y),retention_days:u(N({int:!0,positive:!0}))})),agent_guidance:u(C({prompt_completed:u(O),declined:u(O),declined_at:u(y),template_version:u(N({int:!0,positive:!0})),last_checked_files:u(E(y))})),item_types:u(C({definitions:E(Zm)})),schema:o_,context:u(C({default_depth:u(R("brief","standard","deep")),activity_limit:u(N({int:!0,positive:!0})),stale_threshold_days:u(N({int:!0,positive:!0})),sections:u(C({hierarchy:u(O),activity:u(O),progress:u(O),recently_created:u(O),unparented:u(O),blockers:u(O),files:u(O),workload:u(O),staleness:u(O),tests:u(O)}))})),extensions:C({enabled:E(y),disabled:E(y),policy:c_}),search:C({score_threshold:N(),hybrid_semantic_weight:u(N()),max_results:N({int:!0}),embedding_model:y,embedding_corpus_max_characters:u(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:u(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:u(y),default_mode:u(R("auto","keyword","semantic","hybrid")),corpus_fields:u(E(y)),mutation_refresh_policy:u(R("cache_only","semantic_configured","semantic_auto")),query_expansion:u(C({enabled:u(O),provider:u(y)})),rerank:u(C({enabled:u(O),model:u(y),top_k:u(N({int:!0,positive:!0}))})),bm25:u(C({k1:u(N()),b:u(N())}))}),providers:C({openai:C({base_url:y,api_key:y,model:y}),ollama:C({base_url:y,model:y})}),vector_store:C({adapter:u(y),collection_name:u(y),qdrant:C({url:y,api_key:y}),lancedb:C({path:y})})});function Qo(e){let t=l_(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a0ca9902-540c-50fe-a4e2-9c234c4a01f3")}catch{}})();function lr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zo(e,t,n,r=[]){if(ie(e,t)&&(r.length>0||lr(n)))return n;if(ie(e,n)||ie(t,n))return t;if((e===void 0||lr(e))&&lr(t)&&lr(n)){let o=e??{},i=new Set([...Object.keys(o),...Object.keys(t),...Object.keys(n)]);return Object.fromEntries([...i].flatMap(s=>{let a=Zo(Object.hasOwn(o,s)?o[s]:void 0,Object.hasOwn(t,s)?t[s]:void 0,Object.hasOwn(n,s)?n[s]:void 0,[...r,s]);return a===void 0?[]:[[s,a]]}))}throw new h(`Settings changed concurrently at ${r.join(".")||"<root>"}; read the latest settings and reapply the intended change.`,w.CONFLICT,{reason:"stale_settings_snapshot",required:"Read a fresh settings snapshot and reapply the intended change.",why:"Another writer changed the same setting after this snapshot was read.",examples:["pm config project export --json"],nextSteps:["Read the current settings, then retry the original config operation."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de43e8e6-d7ef-53cc-94b0-ccdf1c4f94a3")}catch{}})();var u_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ic=120;function ei(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ac(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var f_=ac(u_),sc=new WeakMap;function m_(e){let t=sc.get(e);if(t)return t;let n=ac(e);return sc.set(e,n),n}function ww(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return ic;if(t){let o=m_(t).get(n);if(ei(o))return Math.floor(o)}let r=f_.get(n);return ei(r)?Math.floor(r):ic}function ti(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!ei(r)||(t[o]=Math.floor(r))}return t}import{stat as __}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="78c79deb-5cf0-54fe-b98c-a0d5b3671ab2")}catch{}})();var ur=new Map;function cc(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function p_(e){try{let t=await __(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Ae(e){let t=cc(e),n=await Promise.all(t.map(r=>p_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Xt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function dc(e){return ur.get(e)}function fr(e,t){let n=cc(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));ur.set(e,{tracked_paths:n,signatures:r,value:t.value})}function De(e){if(e){ur.delete(e);return}ur.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bbb5e299-541d-5fff-8422-855c85cf7a31")}catch{}})();var ii=new h_;async function zw(e,t,n=()=>!0){let r=new Set([pc.resolve(e)]);try{r.add(await _c(e))}catch{}return ii.run([...ii.getStore()??[],[r,n]],t)}function g_(e){let t=pc.resolve(e);return ii.getStore()?.some(([n,r])=>n.has(t)&&r())??!1}var b_="settings:write",hc=Symbol("pm.settings.persist_source"),w_=128,v_=new Set(["off","advisory","strict"]);function lc(e){return structuredClone(Si[e])}function E_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function uc(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function k_(e){return e.preset==="custom"?uc({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):uc({preset:e.preset},e)}function I_(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),v_.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function pr(e){let t=e.governance??{},n=E_(t.preset),r=I_(t);if(n==="custom"){let s=lc("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=lc(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function yc(){return structuredClone(k)}function gc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function bc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function wc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function vc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function Ec(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function kc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function Ic(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function Sc(e){if(typeof e!="string")return k.vector_store.collection_name;let t=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,w_);return t.length>0?t:k.vector_store.collection_name}function ni(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Tc(e,t){let n=e.schema,r=ni(n?.statuses),o=ni(n?.fields),i=ni(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:wt(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:wt(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function ci(e,t){Object.defineProperty(e,hc,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Cc(e){let t=e[hc];if(!(!t||typeof t!="object"))return t}function mr(e){let t=structuredClone(e.settings),n=Cc(e.settings);return n&&ci(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function S_(e,t,n){let r=Tt(t);return[n,Ct(e,r.files.types,St.types),Ct(e,r.files.statuses,St.statuses),Ct(e,r.files.fields,St.fields),Ct(e,r.files.workflows,St.workflows)]}async function T_(e,t,n){let r=await Ae(t);fr(e,{tracked_paths:t,signatures:r,value:mr(n)})}async function C_(e,t,n){try{await T_(e,t,n)}catch{De(e)}}function fc(e,t){return e.find(n=>n.path===t)}function O_(e,t,n){for(let r of n){let o=fc(e,r),i=fc(t,r);if(!o||!i||!Xt([o],[i]))return!1}return!0}async function ri(e,t,n,r,o){try{let i=await Ae(t);if(!O_(r,i,o)){De(e);return}fr(e,{tracked_paths:t,signatures:i,value:mr(n)})}catch{De(e)}}function x_(e,t){let n=Tt(e.schema),r=wt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=ie(r,t.runtime_item_type_definitions),s=ie(n.statuses,t.runtime_schema_statuses),a=ie(n.fields,t.runtime_schema_fields),c=ie(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?wt(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function le(e){return{settings:yc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Oc(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function si(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function xc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:si(e?.last_checked_files??t.last_checked_files)}}function oe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function R_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function A_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function Rc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function D_(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=Rc(e.sandbox_profile));let r=oe(e.allowed_capabilities),o=oe(e.blocked_capabilities),i=oe(e.allowed_surfaces),s=oe(e.blocked_surfaces),a=oe(e.allowed_commands),c=oe(e.blocked_commands),d=oe(e.allowed_actions),l=oe(e.blocked_actions),f=oe(e.allowed_services),m=oe(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),l.length>0&&(n.blocked_actions=l),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function N_(e){let t=new Map;for(let n of e??[]){let r=D_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function oi(e){return e==="block"||e==="warn"?e:void 0}function L_(e){if(typeof e=="string")return oi(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=oi(e.global),n=oi(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function Y(e,t){return oe(e?.[t]??k.extensions.policy[t])}function Ac(e){let t=L_(e?.pm_max_version_exceeded_mode);return{mode:R_(e?.mode),trust_mode:A_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:Y(e,"trusted_extensions"),default_sandbox_profile:Rc(e?.default_sandbox_profile),allowed_extensions:Y(e,"allowed_extensions"),blocked_extensions:Y(e,"blocked_extensions"),allowed_capabilities:Y(e,"allowed_capabilities"),blocked_capabilities:Y(e,"blocked_capabilities"),allowed_surfaces:Y(e,"allowed_surfaces"),blocked_surfaces:Y(e,"blocked_surfaces"),allowed_commands:Y(e,"allowed_commands"),blocked_commands:Y(e,"blocked_commands"),allowed_actions:Y(e,"allowed_actions"),blocked_actions:Y(e,"blocked_actions"),allowed_services:Y(e,"allowed_services"),blocked_services:Y(e,"blocked_services"),extension_overrides:N_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function Dc(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase().replaceAll("-","_")))].filter(t=>t.length>0).sort((t,n)=>t.localeCompare(n)).filter(t=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(t))}function Ne(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function ai(e){return Array.isArray(e)?e:[]}function P_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Dc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ne(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ne(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ne(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ne(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:ti(e.validation?.estimate_defaults_by_type)}}function M_(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function j_(e,t){return{...t.search,...e.search,default_mode:bc(e.search?.default_mode),mutation_refresh_policy:gc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:wc(e.search?.query_expansion?.enabled),provider:vc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Ec(e.search?.rerank?.enabled),model:kc(e.search?.rerank?.model),top_k:Ic(e.search?.rerank?.top_k)}}}function F_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Sc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function $_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function H_(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function z_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function wt(e){let t=(e??[]).map(r=>Ai(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function _r(e){let t=yc(),n=pr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:$_(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:P_(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:M_(e,t),agent_guidance:xc(e.agent_guidance??t.agent_guidance),item_types:{definitions:wt(e.item_types?.definitions)},schema:Tt(e.schema??t.schema),context:H_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:Ac(e.extensions.policy??t.extensions.policy)},search:j_(e,t),providers:z_(e,t),vector_store:F_(e,t)}}function U_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(J(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=ai(e.agent_identity.harness_signals).map(n=>T(J(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(J(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(J(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(J(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(J(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=ai(e.extensions.policy.extension_overrides).map(n=>T(J(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(J(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(J(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(J(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(J(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(J(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(J(e.vector_store.lancedb),["path"])}function B_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function W_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Dc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ne(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ne(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ne(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ne(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:ti(e.validation?.estimate_defaults_by_type)}}function V_(e){return{...k.search,...e.search,default_mode:bc(e.search?.default_mode),mutation_refresh_policy:gc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:wc(e.search?.query_expansion?.enabled),provider:vc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:Ec(e.search?.rerank?.enabled),model:kc(e.search?.rerank?.model),top_k:Ic(e.search?.rerank?.top_k)}}}function q_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function G_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:Sc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function K_(e,t,n,r){return{...e,item_format:"toon",validation:W_(e,t),governance:t,agent_guidance:xc(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:V_(e),context:q_(e),extensions:{enabled:si(e.extensions?.enabled),disabled:si(e.extensions?.disabled),policy:Ac(e.extensions?.policy)},vector_store:G_(e)}}function Nc(e,t){for(let n of Object.keys(t)){let r=Reflect.get(t,n),o=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)&&typeof o=="object"&&o!==null&&!Array.isArray(o)?Nc(o,r):e[n]=structuredClone(r)}}function Lc(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!ie(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};Lc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var di=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function mc(e,t){let n=B_(e),r=pr(n),o=Tt(n.schema),i=x_(n,t),s=K_(n,r,o,i),a=T({...s,governance:k_(r)},di);return U_(a),a}function X_(e,t={}){let n=t.source===void 0?t.persist_source:Tc(t.source.validated,_r(t.source.validated)),r=mc(e,n);if(n){let o=_r(n.source_settings);o.item_types={definitions:structuredClone(n.runtime_item_type_definitions)},o.schema={...o.schema,statuses:structuredClone(n.runtime_schema_statuses),fields:structuredClone(n.runtime_schema_fields),type_workflows:structuredClone(n.runtime_schema_type_workflows)};let i=mc(o,n);t.source!==void 0&&Nc(i,t.source.validated);let s=structuredClone(t.source===void 0?n.source_settings:t.source.raw);return Lc(s,i,r),`${JSON.stringify(T(s,di),null,2)}
|
|
162
162
|
`}return`${JSON.stringify(r,null,2)}
|
|
163
|
-
`}async function
|
|
164
|
-
`:i,result:void 0}},op:n,author:Es(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),o&&ci(t,{...o,persisted_settings:structuredClone(s)}),await _e({path:r,scope:"project",op:n})}finally{De(e)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e23f9ca6-9fa6-566b-9bfb-7cbe6d449a59")}catch{}})();function Y_(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:Qt(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function jc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function qw(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:Y_(r,o),l=jc([...i,r,...s]),f=e.retry_command??(d?jc([...i,d,...s]):void 0);return new h(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??w.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",value:r,examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:l,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}import J_ from"node:fs/promises";import Q_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1d746e4d-ff6c-54ec-a94f-4ec4cb8f77b5")}catch{}})();function Z_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function ep(e,t){return new h(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,w.NOT_FOUND)}async function tp(e,t){return await Ci(Q_.dirname(e)),await(await J_.open(e,"a")).close(),_e({path:e,scope:"project",op:`${t}:history:auto_create`})}async function li(e){return np({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function np(e){let t=Z_(e.itemIds),n=[],r=[];for(let o of t){let i=fe(e.pmRoot,o);if(!await je(i)){if(e.settings.history.missing_stream==="strict_error")throw ep(o,e.commandLabel);r.push(...await tp(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5db05e2f-4742-526b-b1c8-b97ff302b40e")}catch{}})();function Yt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new h("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",w.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ddc5bb8f-83bc-5121-a628-a501e7ed5a73")}catch{}})();function rp(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new h(`History for this item contains invalid timestamp at entry ${o+1}.`,w.GENERIC_FAILURE);i<=t&&(n=o)}),n}function op(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function ip(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Fc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=op(t,Yt(t,!0));if(!r)throw new h(`Missing ${o} target. Use a timestamp or version number.`,w.USAGE,s);if(/^\d+$/.test(r)){let l=Yt(t),f=Number(r);if(f>=1&&f<=l)throw new h(`History version ${f} was pruned by compaction.`,w.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>l+t.length)throw new h(`${i} version must be between ${l+1} and ${l+t.length} for this item.`,w.USAGE,s);return{kind:"version",raw:r,historyIndex:f-l-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new h(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,w.USAGE,s);let d=rp(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new h(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,w.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function ui(e,t,n,r){let o=Xe(e,t);if(o.ok)return o.document;let i=ip(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new h(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,w.GENERIC_FAILURE)}function $c(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=Xe(mt,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new h("History starts without a reconstructable item baseline.",w.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=we([...r]),i=structuredClone(mt);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new h(`History target entry ${s+1} does not exist.`,w.USAGE);i=ui(i,a.patch,s+1,a.op)}if(!o.ok)throw new h(`History cannot be replayed: ${o.errors.join(", ")}.`,w.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function dv(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new h("History has no complete item baseline for this target.",w.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new h(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,w.USAGE)}import mi from"node:fs/promises";import hr from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="658ab1c3-da92-5af6-a170-85ed7befaad6")}catch{}})();function Le(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function _i(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:$e(t),suggested_retry_args:t}}function yr(e){return new h(`Tracker root is not a directory at ${e}.`,w.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function fi(e){return new h(`Tracker root is not readable at ${e}.`,w.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function sp(e){let t=hr.resolve(e),n=hr.parse(t).root,r=hr.dirname(t);for(;r!==n;){let o;try{o=await mi.stat(r)}catch(i){if(Le(i,"ENOTDIR"))throw yr(e);if(!Le(i,"ENOENT"))throw i;r=hr.dirname(r);continue}if(!o.isDirectory())throw yr(e);return}}async function vt(e){let t;try{t=await mi.stat(e)}catch(n){throw Le(n,"ENOENT")?(await sp(e),new h(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,w.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:_i(e)})):Le(n,"ENOTDIR")?yr(e):Le(n,"EACCES")||Le(n,"EPERM")?fi(e):n}if(!t.isDirectory())throw yr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw fi(e);try{await(await mi.opendir(e)).close()}catch(n){throw Le(n,"EACCES")||Le(n,"EPERM")?fi(e):n}}async function pi(e){if(await vt(e),!await je(et(e)))throw new h(`Tracker is not initialized at ${e}. Run pm init first.`,w.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:_i(e)})}import Et from"node:fs/promises";import{statSync as ap}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be69f1e8-4543-5cf5-abb0-9d38ca1d0cc6")}catch{}})();function cp(e,t){let n=-1,r=structuredClone(mt);for(let[a,c]of e.entries()){if(r=ui(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new h(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,w.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Yt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Fc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Hc(e,t,n){let r=new Set([Ye(t,n),jt(t)]);for(let o of r){let i=fe(e,o);if(!ap(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await be(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=$c(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:l}=cp(s,o),f=l===void 0?["history",o,"--verify"]:["get",o,"--at",l],m=$e(f);return new h(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,w.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:l!==void 0,last_materialized_version:d},nextSteps:[m,...l===void 0?["Recover the pre-compaction history from version control."]:[$e(["restore",o,l])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import hi from"node:path";import{isUtf8 as dp}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ce5fc177-192a-5efe-a65f-59f0fc0bea42")}catch{}})();async function lp(e){try{return await Et.access(e),!0}catch{return!1}}function up(e,t){e&&(e.includes(t)||e.push(t))}function zc(e){return e??on(me())}function fp(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function gr(e,t,n="pm-",r,o=Pe){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ye(t,n),c=jt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),l=Object.entries(o),f=fp(r);for(let m of d){let p=new Map;for(let[_]of l)for(let b of f){let g=kr(e,_,m,b,o);await lp(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:b})}if(p.size>1){let _=[...p.keys()].map(b=>hi.relative(e,b).split(hi.sep).join("/")).sort();throw new h(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,w.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function br(e,t={}){let n=await mp(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function mp(e,t={}){let n=await Et.readFile(e.itemPath);if(!dp(n))throw new h("Item contains invalid UTF-8; preserve a binary backup before recovering it.",w.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await ke({path:e.itemPath,scope:"project"});let o;try{o=In(r,{format:e.item_format,requireSupportedFormat:!0,schema:t.schema,extensionFieldNames:zc(t.extensionFieldNames),onWarning:i=>up(t.warnings,i)})}catch(i){if(i instanceof h&&i.code==="item_format_version_unsupported")throw new h(`Item ${e.id}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath});if(i instanceof h&&i.code==="item_document_invalid")return{raw:r,document:null,error:new h(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function _p(e,t,n=Pe,r,o){await vt(e);let i=await Va(e,t,n,r,o);return Wn(i.length),i.map(s=>s.metadata)}async function Uc(e,t,n=Pe,r,o){await vt(e);let i=await qa(e,t,n,r,o);return Wn(i.length),i.map(s=>s.metadata)}async function tE(e,t,n=Pe,r,o,i={}){await vt(e);let s=await nr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Wn(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Bc(e){return{async get(t){let n=await gr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await br(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>_p(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function pp(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await Et.readdir(hi.join(e,o));for(let s of i)for(let a of an)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function hp(e,t,n,r){let o=Ye(t,n),i=await pp(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(a=>({id:a,distance:Qt(a,o,s)})).filter(a=>a.distance!==null).sort((a,c)=>a.distance-c.distance).slice(0,3).map(a=>a.id)}async function yp(e,t,n,r){let o=await Hc(e,t,n);if(o)return o;let i=await hp(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new h(`Item ${t} not found`,w.NOT_FOUND,{nextSteps:s})}function gp(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function Wc(e){let t=e.typeToFolder??sn(e.settings,me()).type_to_folder,n=await gr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await yp(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await W(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await br(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=vs(e.author),l=pr(e.settings);if(a&&c!==d&&!e.force&&!gp(e.op,e.bypassAssigneeConflict)){if(l.ownership_enforcement==="strict")throw new h(`Item ${n.id} is assigned to ${a}. Use --force to override.`,w.CONFLICT);l.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function bp(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function wp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await K(e.originalItemPath,e.originalRaw),await Et.rm(e.effectiveTargetItemPath,{force:!0});return}await K(e.originalItemPath,e.originalRaw)}}async function Vc(e){fn(e.op);let t=await Wc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=re(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=re(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=await e.mutate(d);if(e.skipNoop===!0&&l.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...l.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=Ie();let m=re(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await Oo({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Tr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:l.changedFields,sdk:Bc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await li({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),b="toon",g=Hs(m,{format:b,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=kr(e.pmRoot,m.metadata.type,r.id,b,n),A=fe(e.pmRoot,r.id),L=await Ot("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:A,item_format:b,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:q}=bp(L,S,g),B=await Fo(e.pmRoot,e.author),Q=[];try{q||await K($,x),!q&&$!==r.itemPath&&await Et.rm(r.itemPath);let ee=ut({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await ft(A,ee)}catch(te){throw await wp({skipItemWrite:q,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),te}q||(Q=await $o({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await B()}let G=[...await _e({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields}),...await _e({path:A,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields})];return Sr({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:ln(c.metadata,l.changedFields),current:ln(m.metadata,l.changedFields),changed_fields:l.changedFields}),{item:m.metadata,body:m.body,changedFields:l.changedFields,warnings:[...s,...l.warnings??[],...p.warnings,..._.warnings,...L.warnings,...Q,...G]}}finally{await a()}}async function nE(e){return Vc(e)}async function rE(e){return Vc(e)}async function oE(e){let t=await Wc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=zc(void 0),c=re(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await Oo({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await Tr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Bc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await li({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=Ie(),m=Me,p=ut({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=fe(e.pmRoot,n.id),b=await Ot("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(b.handled&&typeof b.result=="object"&&b.result!==null){let x=b.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...l.warnings,...b.warnings]};let A=await Fo(e.pmRoot,e.author),L=[];try{S||await Et.rm(g);try{await ft(_,p)}catch(x){throw S||await K(g,r),x}S||(L=await $o({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await A()}let $=[...await _e({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await _e({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return Sr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:ln(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...l.warnings,...b.warnings,...L,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="620bf4e4-e6d1-5520-89e4-0859f57c7afe")}catch{}})();var vp=["tree","graph","context"],Ep=["none","repeated"],kp=["outgoing","incoming","both"],Ip=32,Sp=200,Tp=400,Cp=16e3;function Op(e){let t=e?.trim().toLowerCase()??"tree";if(vp.includes(t))return t;throw new h(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,w.USAGE)}function kt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new h(`Invalid --${t} value "${e}". Use a positive integer.`,w.USAGE);return n}function Gc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new h(`Invalid --max-depth value "${e}". Use a non-negative integer.`,w.USAGE);return t}function xp(e){let t=e?.trim().toLowerCase()??"none";if(Ep.includes(t))return t;throw new h(`Invalid --collapse value "${e}". Use "none" or "repeated".`,w.USAGE)}function Rp(e){let t=e?.trim().toLowerCase()??"both";if(kp.includes(t))return t;throw new h(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,w.USAGE)}function Ap(e,t=ue()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new h(`Invalid --kind value "${o}". Registered kinds: ${s}.`,w.USAGE)}r.add(i.kind)}return[...r].sort()}function Dp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function Np(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Dp(e.dependencies)}}function Lp(e){return un(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Pp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(Kc(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Mp(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Kc(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),f={id:l?.id??e,title:l?.title,type:l?.type,status:l?.status,via:c,missing:!l,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=Lp(f),Mp(f,l,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),Pp(f,l,t,m,r,o,i,s,a),f}function qc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function jp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,qc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,qc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Xc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let f=t.get(l);if(!f){i.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let m of f.dependencies)o.add(`${l}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Fp(e,t=ue()){let n=Gc(e.maxDepth),r=kt(e.nodeLimit,"node-limit"),o=kt(e.edgeLimit,"edge-limit"),i=kt(e.tokenBudget,"token-budget"),s=Ap(e.kind,t);return{direction:Rp(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function $p(e,t,n,r){return oc(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function yi(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Hp(e,t,n,r){let o=await gr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await br(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,m])=>m===0))return[];let f=[`linked:${l.map(([m,p])=>`${m}=${p}`).join(",")}`];return yi(f,"file",a.map(m=>m.path),3),yi(f,"test",c.map(m=>m.command??m.path),2),yi(f,"doc",d.map(m=>m.path),2),f}function zp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Up(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Yc(e,t,n){let r;for(;;){let o=un(new TextEncoder().encode(Rr(Or("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Bp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Wp(e){try{return $p(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Bp(t))return e.smallestResult;throw t}}function Vp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,d=r.edgeLimit??40,l=r.tokenBudget,f,m;for(;;){let p=Wp({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:l,rootEvidence:o,smallestResult:m});if("format"in p)return p;let _=p;f??=_.meta.tokenBudget,l??=f;let b=zp({canonicalId:n,context:_,missingCount:a,missingReferences:c,referenceLimit:d,summaryOnly:i});if(m=b,i||(_.meta.tokenBudget=f,_.meta.usedTokens=Yc(It(b,!1),s,A=>{_.meta.usedTokens=A}),_.meta.usedTokens<=f))return b;if(d>0){d-=1;continue}let g=l,S=g*f/_.meta.usedTokens;l=Math.min(g-1,Math.max(1,Math.floor(S*.9)))}}function qp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Fp(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(b=>t.missingIdSet.has(b.toLowerCase())),l=new Set(d.map(b=>b.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(b=>f.require(b).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(b=>Up({row:b,missingReachableSet:l,packetIds:p,filteredKinds:m,registry:f}));return Vp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Gp(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Kp(e,t,n,r,o,i,s){let a=o??Ip,c=kt(n.nodeLimit,"node-limit")??Sp,d=kt(n.edgeLimit,"edge-limit")??Tp,l=kt(n.tokenBudget,"token-budget")??Cp,f={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Kc(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Xc(e,r,void 0),_;for(;;){let b=jp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-b.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-b.edges.length)},S={id:e,format:t,node_count:b.nodes.length,edge_count:b.edges.length,edge_basis:"deduplicated_directed",missing_count:b.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:b},(_.truncation===void 0?un(new TextEncoder().encode(Rr(Or("deps",It(_,!1)),s)).byteLength):Yc(It(_,!1),s,A=>{_.truncation.estimated_tokens=A}))<=l)return _;if(!Gp(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function It(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function SE(e,t,n){let r=Mi(process.cwd(),n.path);await pi(r);let o=Op(t.format),i=Gc(t.maxDepth),s=xp(t.collapse);Gi(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await Mc(r),d=sn(c,me()),l=await Uc(r,c.item_format,d.type_to_folder,void 0,c.schema),f=dn(c.schema),m=new Map(l.map(_=>[_.id.trim().toLowerCase(),Np(_)])),p=qo(l,_=>ge(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let b=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();b&&!b.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&b.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new h(`Item ${e} not found`,w.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,b=a?[]:await Hp(r,_,c,d.type_to_folder),g=L=>ge(L,f),S=de(),A=rc().lookup(r,tc(l,g,S),()=>ar(l,g,S));return It(qp({assembly:A.assembly,canonicalId:_,options:t,rootEvidence:b,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,A.assembly.legacyAliasCounts)}return a?It({id:e,format:o,...Xc(e,m,i)},!0,Object.fromEntries(Object.entries(ar(l,_=>ge(_,f)).legacyAliasCounts))):It(Kp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(ar(l,_=>ge(_,f)).legacyAliasCounts)))}export{Qo as a,He as b,Dr as c,Yp as d,Jp as e,is as f,jr as g,sh as h,ah as i,ch as j,dh as k,lh as l,uh as m,qr as n,Gr as o,ms as p,vh as q,Eh as r,kh as s,Ih as t,Sh as u,Th as v,Jr as w,gs as x,Ch as y,Oh as z,xh as A,Rd as B,vs as C,Es as D,Dh as E,Dd as F,ks as G,We as H,Ce as I,Os as J,xt as K,Wh as L,Vh as M,Qr as N,Zr as O,Is as P,Ss as Q,Nd as R,Lh as S,gn as T,ot as U,ge as V,wn as W,kn as X,In as Y,Hs as Z,re as _,su as $,be as aa,ct as ba,Su as ca,Ny as da,Ly as ea,Py as fa,Nu as ga,Ln as ha,Ge as ia,Mt as ja,ig as ka,ko as la,jn as ma,ca as na,sg as oa,ua as pa,ag as qa,ut as ra,ft as sa,zs as ta,mt as ua,Fn as va,yg as wa,So as xa,$n as ya,gg as za,bg as Aa,ha as Ba,Xe as Ca,ba as Da,we as Ea,sf as Fa,wg as Ga,vg as Ha,pt as Ia,zn as Ja,zg as Ka,Ug as La,Sa as Ma,Ca as Na,Bg as Oa,bw as Pa,De as Qa,Hw as Ra,y_ as Sa,pr as Ta,_r as Ua,K_ as Va,Pc as Wa,Mc as Xa,zw as Ya,qw as Za,li as _a,np as $a,va as ab,jt as bb,Ye as cb,Og as db,Yt as eb,Fc as fb,ui as gb,$c as hb,dv as ib,pf as jb,yf as kb,gf as lb,bf as mb,wf as nb,Oo as ob,sb as pb,mb as qb,_b as rb,pb as sb,Ha as tb,Pf as ub,Fo as vb,Ob as wb,$o as xb,nr as yb,vt as zb,pi as Ab,gr as Bb,br as Cb,mp as Db,_p as Eb,Uc as Fb,tE as Gb,Bc as Hb,yp as Ib,nE as Jb,rE as Kb,oE as Lb,zo as Mb,mm as Nb,Vt as Ob,or as Pb,Ka as Qb,_m as Rb,pm as Sb,hm as Tb,bm as Ub,Xb as Vb,Yb as Wb,Rm as Xb,de as Yb,Ub as Zb,sr as _b,Bb as $b,Om as ac,Wb as bc,Gt as cc,Dm as dc,Lm as ec,qo as fc,Pm as gc,rw as hc,ar as ic,tc as jc,Go as kc,rc as lc,cw as mc,oc as nc,kt as oc,Gc as pc,Rp as qc,Ap as rc,SE as sc};
|
|
165
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
`}async function Y_(e){let t;try{t=await _c(e)}catch(a){if(Fe(a))return le();throw a}let n=et(t),r;try{r=await y_(n)}catch(a){if(Fe(a))return le();throw a}if(!r.isFile())throw Er();let o;try{o=await Oi(n,Er())}catch(a){if(Fe(a))return le();throw a}let i;try{i=JSON.parse(o)}catch{return le("settings_read_invalid_json")}let s=Qo(i);return s.success?{settings:_r(s.data),metadata:{has_explicit_item_format:Oc(i)},warnings:s.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[]}:le("settings_read_invalid_schema")}async function Pc(e){if(g_(e))return Y_(e);let t=et(e),n=[t];await ke({path:t,scope:"project"});let r=dc(e);if(r){let d=await Ae(r.tracked_paths);if(Xt(d,r.signatures))return mr(r.value)}let o=await Ae([t]),i;try{i=await Ee(t)}catch{return le("settings_read_fs_error")}if(i===null){let d=le();return await ri(e,[t],d,o,[t]),d}let s=await Ae([t]);if(!Xt(o,s))return De(e),Pc(e);let a;try{a=JSON.parse(i)}catch{let d=le("settings_read_invalid_json");return await ri(e,[t],d,s,[t]),d}let c=Qo(a);if(!c.success){let d=le("settings_read_invalid_schema");return await ri(e,[t],d,s,[t]),d}try{let d=_r(c.data),l=S_(e,d.schema,t);n=l;let f=await Ae(l),m=await Ui(e,d.schema),p=await Bi(e,d.schema),_=await Ae(l),b={...d,item_types:{definitions:wt([...d.item_types.definitions,...ai(p.type_definitions_from_file)])},schema:p.schema};ci(b,Tc(c.data,b));let g={settings:b,metadata:{has_explicit_item_format:Oc(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Xt(f,_)?fr(e,{tracked_paths:l,signatures:_,value:mr(g)}):De(e):De(e),g}catch{let d=le("settings_read_merge_failed");return await C_(e,n,d),d}}async function Mc(e){return(await Pc(e)).settings}async function Uw(e,t,n=b_){let r=et(e),o=Cc(t),i=X_(t,{persist_source:o}),s=JSON.parse(i);try{await Ca({pmRoot:e,filePath:r,mutate:a=>{let c=null;if(a!==null)try{c=JSON.parse(a)}catch{throw new h("Existing settings.json is malformed; the settings write was refused.",w.USAGE,{code:"settings_write_invalid_existing_json",reason:"existing_settings_json_malformed",why:"Writing defaults over malformed settings could destroy intended project configuration.",nextSteps:["Repair the syntax in .agents/pm/settings.json, then retry the original command.","Run pm health to confirm the settings warning has cleared."]})}return{raw:o?`${JSON.stringify(T(Zo(o.persisted_settings,s,c),di),null,2)}
|
|
164
|
+
`:i,result:void 0}},op:n,author:Es(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),o&&ci(t,{...o,persisted_settings:structuredClone(s)}),await _e({path:r,scope:"project",op:n})}finally{De(e)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e23f9ca6-9fa6-566b-9bfb-7cbe6d449a59")}catch{}})();function J_(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:Qt(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function jc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Gw(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:J_(r,o),l=jc([...i,r,...s]),f=e.retry_command??(d?jc([...i,d,...s]):void 0);return new h(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??w.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",value:r,examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:l,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}import Q_ from"node:fs/promises";import Z_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1d746e4d-ff6c-54ec-a94f-4ec4cb8f77b5")}catch{}})();function ep(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function tp(e,t){return new h(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,w.NOT_FOUND)}async function np(e,t){return await Ci(Z_.dirname(e)),await(await Q_.open(e,"a")).close(),_e({path:e,scope:"project",op:`${t}:history:auto_create`})}async function li(e){return rp({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function rp(e){let t=ep(e.itemIds),n=[],r=[];for(let o of t){let i=fe(e.pmRoot,o);if(!await je(i)){if(e.settings.history.missing_stream==="strict_error")throw tp(o,e.commandLabel);r.push(...await np(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5db05e2f-4742-526b-b1c8-b97ff302b40e")}catch{}})();function Yt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new h("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",w.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ddc5bb8f-83bc-5121-a628-a501e7ed5a73")}catch{}})();function op(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new h(`History for this item contains invalid timestamp at entry ${o+1}.`,w.GENERIC_FAILURE);i<=t&&(n=o)}),n}function ip(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function sp(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Fc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=ip(t,Yt(t,!0));if(!r)throw new h(`Missing ${o} target. Use a timestamp or version number.`,w.USAGE,s);if(/^\d+$/.test(r)){let l=Yt(t),f=Number(r);if(f>=1&&f<=l)throw new h(`History version ${f} was pruned by compaction.`,w.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>l+t.length)throw new h(`${i} version must be between ${l+1} and ${l+t.length} for this item.`,w.USAGE,s);return{kind:"version",raw:r,historyIndex:f-l-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new h(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,w.USAGE,s);let d=op(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new h(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,w.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function ui(e,t,n,r){let o=Xe(e,t);if(o.ok)return o.document;let i=sp(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new h(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,w.GENERIC_FAILURE)}function $c(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=Xe(mt,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new h("History starts without a reconstructable item baseline.",w.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=we([...r]),i=structuredClone(mt);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new h(`History target entry ${s+1} does not exist.`,w.USAGE);i=ui(i,a.patch,s+1,a.op)}if(!o.ok)throw new h(`History cannot be replayed: ${o.errors.join(", ")}.`,w.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function lv(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new h("History has no complete item baseline for this target.",w.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new h(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,w.USAGE)}import mi from"node:fs/promises";import hr from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="658ab1c3-da92-5af6-a170-85ed7befaad6")}catch{}})();function Le(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function _i(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:$e(t),suggested_retry_args:t}}function yr(e){return new h(`Tracker root is not a directory at ${e}.`,w.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function fi(e){return new h(`Tracker root is not readable at ${e}.`,w.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function ap(e){let t=hr.resolve(e),n=hr.parse(t).root,r=hr.dirname(t);for(;r!==n;){let o;try{o=await mi.stat(r)}catch(i){if(Le(i,"ENOTDIR"))throw yr(e);if(!Le(i,"ENOENT"))throw i;r=hr.dirname(r);continue}if(!o.isDirectory())throw yr(e);return}}async function vt(e){let t;try{t=await mi.stat(e)}catch(n){throw Le(n,"ENOENT")?(await ap(e),new h(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,w.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:_i(e)})):Le(n,"ENOTDIR")?yr(e):Le(n,"EACCES")||Le(n,"EPERM")?fi(e):n}if(!t.isDirectory())throw yr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw fi(e);try{await(await mi.opendir(e)).close()}catch(n){throw Le(n,"EACCES")||Le(n,"EPERM")?fi(e):n}}async function pi(e){if(await vt(e),!await je(et(e)))throw new h(`Tracker is not initialized at ${e}. Run pm init first.`,w.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:_i(e)})}import Et from"node:fs/promises";import{statSync as cp}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="be69f1e8-4543-5cf5-abb0-9d38ca1d0cc6")}catch{}})();function dp(e,t){let n=-1,r=structuredClone(mt);for(let[a,c]of e.entries()){if(r=ui(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new h(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,w.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Yt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Fc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Hc(e,t,n){let r=new Set([Ye(t,n),jt(t)]);for(let o of r){let i=fe(e,o);if(!cp(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await be(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=$c(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:l}=dp(s,o),f=l===void 0?["history",o,"--verify"]:["get",o,"--at",l],m=$e(f);return new h(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,w.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:l!==void 0,last_materialized_version:d},nextSteps:[m,...l===void 0?["Recover the pre-compaction history from version control."]:[$e(["restore",o,l])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import hi from"node:path";import{isUtf8 as lp}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ce5fc177-192a-5efe-a65f-59f0fc0bea42")}catch{}})();async function up(e){try{return await Et.access(e),!0}catch{return!1}}function fp(e,t){e&&(e.includes(t)||e.push(t))}function zc(e){return e??on(me())}function mp(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function gr(e,t,n="pm-",r,o=Pe){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ye(t,n),c=jt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),l=Object.entries(o),f=mp(r);for(let m of d){let p=new Map;for(let[_]of l)for(let b of f){let g=kr(e,_,m,b,o);await up(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:b})}if(p.size>1){let _=[...p.keys()].map(b=>hi.relative(e,b).split(hi.sep).join("/")).sort();throw new h(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,w.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function br(e,t={}){let n=await _p(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function _p(e,t={}){let n=await Et.readFile(e.itemPath);if(!lp(n))throw new h("Item contains invalid UTF-8; preserve a binary backup before recovering it.",w.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await ke({path:e.itemPath,scope:"project"});let o;try{o=In(r,{format:e.item_format,requireSupportedFormat:!0,schema:t.schema,extensionFieldNames:zc(t.extensionFieldNames),onWarning:i=>fp(t.warnings,i)})}catch(i){if(i instanceof h&&i.code==="item_format_version_unsupported")throw new h(`Item ${e.id}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath});if(i instanceof h&&i.code==="item_document_invalid")return{raw:r,document:null,error:new h(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function pp(e,t,n=Pe,r,o){await vt(e);let i=await Va(e,t,n,r,o);return Wn(i.length),i.map(s=>s.metadata)}async function Uc(e,t,n=Pe,r,o){await vt(e);let i=await qa(e,t,n,r,o);return Wn(i.length),i.map(s=>s.metadata)}async function nE(e,t,n=Pe,r,o,i={}){await vt(e);let s=await nr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Wn(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Bc(e){return{async get(t){let n=await gr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await br(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>pp(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function hp(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await Et.readdir(hi.join(e,o));for(let s of i)for(let a of an)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function yp(e,t,n,r){let o=Ye(t,n),i=await hp(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(a=>({id:a,distance:Qt(a,o,s)})).filter(a=>a.distance!==null).sort((a,c)=>a.distance-c.distance).slice(0,3).map(a=>a.id)}async function gp(e,t,n,r){let o=await Hc(e,t,n);if(o)return o;let i=await yp(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new h(`Item ${t} not found`,w.NOT_FOUND,{nextSteps:s})}function bp(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function Wc(e){let t=e.typeToFolder??sn(e.settings,me()).type_to_folder,n=await gr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await gp(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await W(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await br(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=vs(e.author),l=pr(e.settings);if(a&&c!==d&&!e.force&&!bp(e.op,e.bypassAssigneeConflict)){if(l.ownership_enforcement==="strict")throw new h(`Item ${n.id} is assigned to ${a}. Use --force to override.`,w.CONFLICT);l.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function wp(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function vp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await K(e.originalItemPath,e.originalRaw),await Et.rm(e.effectiveTargetItemPath,{force:!0});return}await K(e.originalItemPath,e.originalRaw)}}async function Vc(e){fn(e.op);let t=await Wc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=re(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=re(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=await e.mutate(d);if(e.skipNoop===!0&&l.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...l.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=Ie();let m=re(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await Oo({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Tr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:l.changedFields,sdk:Bc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await li({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),b="toon",g=Hs(m,{format:b,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=kr(e.pmRoot,m.metadata.type,r.id,b,n),A=fe(e.pmRoot,r.id),L=await Ot("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:A,item_format:b,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:q}=wp(L,S,g),B=await Fo(e.pmRoot,e.author),Q=[];try{q||await K($,x),!q&&$!==r.itemPath&&await Et.rm(r.itemPath);let ee=ut({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await ft(A,ee)}catch(te){throw await vp({skipItemWrite:q,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),te}q||(Q=await $o({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await B()}let G=[...await _e({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields}),...await _e({path:A,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields})];return Sr({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:ln(c.metadata,l.changedFields),current:ln(m.metadata,l.changedFields),changed_fields:l.changedFields}),{item:m.metadata,body:m.body,changedFields:l.changedFields,warnings:[...s,...l.warnings??[],...p.warnings,..._.warnings,...L.warnings,...Q,...G]}}finally{await a()}}async function rE(e){return Vc(e)}async function oE(e){return Vc(e)}async function iE(e){let t=await Wc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=zc(void 0),c=re(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await Oo({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await Tr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Bc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await li({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=Ie(),m=Me,p=ut({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=fe(e.pmRoot,n.id),b=await Ot("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(b.handled&&typeof b.result=="object"&&b.result!==null){let x=b.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...l.warnings,...b.warnings]};let A=await Fo(e.pmRoot,e.author),L=[];try{S||await Et.rm(g);try{await ft(_,p)}catch(x){throw S||await K(g,r),x}S||(L=await $o({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await A()}let $=[...await _e({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await _e({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return Sr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:ln(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...l.warnings,...b.warnings,...L,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="620bf4e4-e6d1-5520-89e4-0859f57c7afe")}catch{}})();var Ep=["tree","graph","context"],kp=["none","repeated"],Ip=["outgoing","incoming","both"],Sp=32,Tp=200,Cp=400,Op=16e3;function xp(e){let t=e?.trim().toLowerCase()??"tree";if(Ep.includes(t))return t;throw new h(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,w.USAGE)}function kt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new h(`Invalid --${t} value "${e}". Use a positive integer.`,w.USAGE);return n}function Gc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new h(`Invalid --max-depth value "${e}". Use a non-negative integer.`,w.USAGE);return t}function Rp(e){let t=e?.trim().toLowerCase()??"none";if(kp.includes(t))return t;throw new h(`Invalid --collapse value "${e}". Use "none" or "repeated".`,w.USAGE)}function Ap(e){let t=e?.trim().toLowerCase()??"both";if(Ip.includes(t))return t;throw new h(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,w.USAGE)}function Dp(e,t=ue()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new h(`Invalid --kind value "${o}". Registered kinds: ${s}.`,w.USAGE)}r.add(i.kind)}return[...r].sort()}function Np(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function Lp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Np(e.dependencies)}}function Pp(e){return un(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Mp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(Kc(d.id,n,r,o,i,s,a,c+1,d.kind))}}function jp(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Kc(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),f={id:l?.id??e,title:l?.title,type:l?.type,status:l?.status,via:c,missing:!l,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=Pp(f),jp(f,l,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),Mp(f,l,t,m,r,o,i,s,a),f}function qc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function Fp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,qc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,qc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Xc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let f=t.get(l);if(!f){i.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let m of f.dependencies)o.add(`${l}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function $p(e,t=ue()){let n=Gc(e.maxDepth),r=kt(e.nodeLimit,"node-limit"),o=kt(e.edgeLimit,"edge-limit"),i=kt(e.tokenBudget,"token-budget"),s=Dp(e.kind,t);return{direction:Ap(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Hp(e,t,n,r){return oc(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function yi(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function zp(e,t,n,r){let o=await gr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await br(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,m])=>m===0))return[];let f=[`linked:${l.map(([m,p])=>`${m}=${p}`).join(",")}`];return yi(f,"file",a.map(m=>m.path),3),yi(f,"test",c.map(m=>m.command??m.path),2),yi(f,"doc",d.map(m=>m.path),2),f}function Up(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Bp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Yc(e,t,n){let r;for(;;){let o=un(new TextEncoder().encode(Rr(Or("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Wp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Vp(e){try{return Hp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Wp(t))return e.smallestResult;throw t}}function qp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,d=r.edgeLimit??40,l=r.tokenBudget,f,m;for(;;){let p=Vp({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:l,rootEvidence:o,smallestResult:m});if("format"in p)return p;let _=p;f??=_.meta.tokenBudget,l??=f;let b=Up({canonicalId:n,context:_,missingCount:a,missingReferences:c,referenceLimit:d,summaryOnly:i});if(m=b,i||(_.meta.tokenBudget=f,_.meta.usedTokens=Yc(It(b,!1),s,A=>{_.meta.usedTokens=A}),_.meta.usedTokens<=f))return b;if(d>0){d-=1;continue}let g=l,S=g*f/_.meta.usedTokens;l=Math.min(g-1,Math.max(1,Math.floor(S*.9)))}}function Gp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=$p(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(b=>t.missingIdSet.has(b.toLowerCase())),l=new Set(d.map(b=>b.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(b=>f.require(b).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(b=>Bp({row:b,missingReachableSet:l,packetIds:p,filteredKinds:m,registry:f}));return qp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Kp(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Xp(e,t,n,r,o,i,s){let a=o??Sp,c=kt(n.nodeLimit,"node-limit")??Tp,d=kt(n.edgeLimit,"edge-limit")??Cp,l=kt(n.tokenBudget,"token-budget")??Op,f={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Kc(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Xc(e,r,void 0),_;for(;;){let b=Fp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-b.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-b.edges.length)},S={id:e,format:t,node_count:b.nodes.length,edge_count:b.edges.length,edge_basis:"deduplicated_directed",missing_count:b.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:b},(_.truncation===void 0?un(new TextEncoder().encode(Rr(Or("deps",It(_,!1)),s)).byteLength):Yc(It(_,!1),s,A=>{_.truncation.estimated_tokens=A}))<=l)return _;if(!Kp(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function It(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function TE(e,t,n){let r=Mi(process.cwd(),n.path);await pi(r);let o=xp(t.format),i=Gc(t.maxDepth),s=Rp(t.collapse);Gi(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await Mc(r),d=sn(c,me()),l=await Uc(r,c.item_format,d.type_to_folder,void 0,c.schema),f=dn(c.schema),m=new Map(l.map(_=>[_.id.trim().toLowerCase(),Lp(_)])),p=qo(l,_=>ge(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let b=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();b&&!b.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&b.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new h(`Item ${e} not found`,w.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,b=a?[]:await zp(r,_,c,d.type_to_folder),g=L=>ge(L,f),S=de(),A=rc().lookup(r,tc(l,g,S),()=>ar(l,g,S));return It(Gp({assembly:A.assembly,canonicalId:_,options:t,rootEvidence:b,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,A.assembly.legacyAliasCounts)}return a?It({id:e,format:o,...Xc(e,m,i)},!0,Object.fromEntries(Object.entries(ar(l,_=>ge(_,f)).legacyAliasCounts))):It(Xp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(ar(l,_=>ge(_,f)).legacyAliasCounts)))}export{Qo as a,He as b,Dr as c,Jp as d,Qp as e,is as f,jr as g,ah as h,ch as i,dh as j,lh as k,uh as l,fh as m,qr as n,Gr as o,ms as p,Eh as q,kh as r,Ih as s,Sh as t,Th as u,Ch as v,Jr as w,gs as x,Oh as y,xh as z,Rh as A,Rd as B,vs as C,Es as D,Nh as E,Dd as F,ks as G,We as H,Ce as I,Os as J,xt as K,Vh as L,qh as M,Qr as N,Zr as O,Is as P,Ss as Q,Nd as R,Ph as S,gn as T,ot as U,ge as V,wn as W,Pl as X,kn as Y,In as Z,Hs as _,re as $,su as aa,be as ba,ct as ca,Su as da,Ly as ea,Py as fa,My as ga,Nu as ha,Ln as ia,Ge as ja,Mt as ka,sg as la,ko as ma,jn as na,ca as oa,ag as pa,ua as qa,cg as ra,ut as sa,ft as ta,zs as ua,mt as va,Fn as wa,gg as xa,So as ya,$n as za,bg as Aa,wg as Ba,ha as Ca,Xe as Da,ba as Ea,we as Fa,sf as Ga,vg as Ha,Eg as Ia,pt as Ja,zn as Ka,Ug as La,Bg as Ma,Sa as Na,Ca as Oa,Wg as Pa,ww as Qa,De as Ra,zw as Sa,g_ as Ta,pr as Ua,_r as Va,X_ as Wa,Pc as Xa,Mc as Ya,Uw as Za,Gw as _a,li as $a,rp as ab,va as bb,jt as cb,Ye as db,xg as eb,Yt as fb,Fc as gb,ui as hb,$c as ib,lv as jb,hf as kb,gf as lb,bf as mb,wf as nb,vf as ob,Oo as pb,ab as qb,_b as rb,pb as sb,hb as tb,Ha as ub,Mf as vb,Fo as wb,xb,$o as yb,nr as zb,vt as Ab,pi as Bb,gr as Cb,br as Db,_p as Eb,pp as Fb,Uc as Gb,nE as Hb,Bc as Ib,gp as Jb,rE as Kb,oE as Lb,iE as Mb,zo as Nb,_m as Ob,Vt as Pb,or as Qb,Ka as Rb,pm as Sb,hm as Tb,ym as Ub,wm as Vb,Yb as Wb,Jb as Xb,Am as Yb,de as Zb,Bb as _b,sr as $b,Wb as ac,xm as bc,Vb as cc,Gt as dc,Nm as ec,Pm as fc,qo as gc,Mm as hc,ow as ic,ar as jc,tc as kc,Go as lc,rc as mc,dw as nc,oc,kt as pc,Gc as qc,Ap as rc,Dp as sc,TE as tc};
|
|
165
|
+
//# sourceMappingURL=chunk-F5J3ATMV.js.map
|