@unbrained/pm-cli 2026.10.12 → 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.
Files changed (708) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +27 -0
  3. package/dist/cli/after-command-context-usage.d.ts +8 -8
  4. package/dist/cli/bundle-integrity.d.ts +23 -23
  5. package/dist/cli/commander-usage.d.ts +26 -26
  6. package/dist/cli/commander-usage.js +2 -2
  7. package/dist/cli/error-guidance.d.ts +158 -163
  8. package/dist/cli/error-guidance.js +2 -2
  9. package/dist/cli/extension-command-help.d.ts +68 -68
  10. package/dist/cli/extension-command-options.d.ts +20 -20
  11. package/dist/cli/extension-recovery.d.ts +20 -20
  12. package/dist/cli/help-content.d.ts +16 -16
  13. package/dist/cli/help-content.js +2 -2
  14. package/dist/cli/help-json-payload.d.ts +40 -40
  15. package/dist/cli/invocation-profile.d.ts +8 -8
  16. package/dist/cli/main.d.ts +165 -165
  17. package/dist/cli/main.js +1 -1
  18. package/dist/cli/migration-gates.d.ts +20 -20
  19. package/dist/cli/register-list-query.d.ts +4 -4
  20. package/dist/cli/register-mutation-options.d.ts +2 -2
  21. package/dist/cli/register-operations.d.ts +66 -66
  22. package/dist/cli/register-setup.d.ts +1 -1
  23. package/dist/cli/register-structured-mutation.d.ts +3 -3
  24. package/dist/cli/register-structured-mutation.js +1 -1
  25. package/dist/cli/runtime/activation.d.ts +3 -3
  26. package/dist/cli/runtime/invocation-options.js +1 -1
  27. package/dist/cli/runtime/selection.d.ts +6 -6
  28. package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
  29. package/dist/cli-bundle/bundle-manifest.json +1 -1
  30. package/dist/cli-bundle/chunks/{chunk-MHPU2LDF.js → chunk-AM2XOZKE.js} +2 -2
  31. package/dist/cli-bundle/chunks/{chunk-UABZJXIS.js → chunk-APWPC4ZZ.js} +2 -2
  32. package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +234 -0
  33. package/dist/cli-bundle/chunks/{chunk-B465HPS5.js → chunk-DUK5DHI6.js} +2 -2
  34. package/dist/cli-bundle/chunks/chunk-HXHFKXLV.js +2 -0
  35. package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +20 -0
  36. package/dist/cli-bundle/chunks/{chunk-QM3M7GB5.js → chunk-LBDWFWPK.js} +2 -2
  37. package/dist/cli-bundle/chunks/{chunk-X2I2EEAS.js → chunk-N5EXRYCZ.js} +2 -2
  38. package/dist/cli-bundle/chunks/chunk-PSNS537F.js +30 -0
  39. package/dist/cli-bundle/chunks/{chunk-3LQTJN4J.js → chunk-RL45OYTL.js} +2 -2
  40. package/dist/cli-bundle/chunks/{chunk-DT3KUUKY.js → chunk-UBTYYZIE.js} +49 -49
  41. package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +2 -0
  42. package/dist/cli-bundle/chunks/{chunk-GUVKPOY6.js → chunk-YH6H3UVE.js} +10 -10
  43. package/dist/cli-bundle/chunks/{register-list-query-OR33UEML.js → register-list-query-BJ742QOR.js} +2 -2
  44. package/dist/cli-bundle/chunks/{register-mutation-R34EJ3NH.js → register-mutation-GGGBRIH2.js} +3 -3
  45. package/dist/cli-bundle/chunks/{register-operations-UHSMEHSF.js → register-operations-E6HXYHNM.js} +2 -2
  46. package/dist/cli-bundle/chunks/{register-setup-5E3PT22L.js → register-setup-4ZVTVEPY.js} +2 -2
  47. package/dist/cli-bundle/focused-chunks/{chunk-TS46OZD5.js → chunk-3LQEBXU5.js} +12 -12
  48. package/dist/cli-bundle/focused-chunks/{chunk-AJG3DBXR.js → chunk-6BTUISKV.js} +2 -2
  49. package/dist/cli-bundle/focused-chunks/chunk-73UNAJHD.js +2 -0
  50. package/dist/cli-bundle/focused-chunks/{chunk-RNAWRTQV.js → chunk-DVK7VKZL.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/{chunk-7QIZB2F2.js → chunk-F5J3ATMV.js} +14 -14
  52. package/dist/cli-bundle/focused-chunks/chunk-IIKFTJVC.js +2 -0
  53. package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +2 -0
  54. package/dist/cli-bundle/focused-chunks/{chunk-Z4T3637Y.js → chunk-KGFRQ34R.js} +2 -2
  55. package/dist/cli-bundle/focused-chunks/chunk-NNW5BS5L.js +3 -0
  56. package/dist/cli-bundle/focused-chunks/{chunk-VBTLX5SN.js → chunk-QMNAY25P.js} +62 -62
  57. package/dist/cli-bundle/focused-chunks/{chunk-CYEZLKLL.js → chunk-R23T7GFZ.js} +2 -2
  58. package/dist/cli-bundle/focused-chunks/chunk-RAA7SVRA.js +8 -0
  59. package/dist/cli-bundle/focused-chunks/{chunk-SV6YYZLR.js → chunk-RU6GCFN3.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/{chunk-YCOJLIDI.js → chunk-S6ITXQ5T.js} +4 -4
  61. package/dist/cli-bundle/focused-chunks/{chunk-OGOLIS5R.js → chunk-SOB7X4FJ.js} +2 -2
  62. package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +26 -0
  63. package/dist/cli-bundle/main.js +20 -20
  64. package/dist/cli-bundle/sdk-authoring.js +1 -1
  65. package/dist/cli-bundle/sdk-contracts.js +2 -2
  66. package/dist/cli-bundle/sdk-core.js +23 -23
  67. package/dist/cli-bundle/sdk-governance.js +1 -1
  68. package/dist/cli-bundle/sdk-graph.js +1 -1
  69. package/dist/cli-bundle/sdk-merge.js +51 -51
  70. package/dist/cli-bundle/sdk-query.js +1 -1
  71. package/dist/cli-bundle/sdk-runtime.js +1 -1
  72. package/dist/cli-bundle/sdk-testing.js +1 -1
  73. package/dist/cli-bundle/sdk.js +8 -8
  74. package/dist/cli.d.ts +4 -4
  75. package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
  76. package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
  77. package/dist/core/config/nested-settings.d.ts +26 -26
  78. package/dist/core/config/positional-value.d.ts +16 -16
  79. package/dist/core/diagnostics/remediation.d.ts +6 -6
  80. package/dist/core/diagnostics/remediation.js +1 -1
  81. package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
  82. package/dist/core/extensions/activation-summary.d.ts +54 -54
  83. package/dist/core/extensions/activation-transaction.d.ts +7 -7
  84. package/dist/core/extensions/capability-usage.d.ts +26 -26
  85. package/dist/core/extensions/command-hook-context.d.ts +26 -26
  86. package/dist/core/extensions/contribution-inventory.d.ts +21 -21
  87. package/dist/core/extensions/extension-candidate.d.ts +14 -14
  88. package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
  89. package/dist/core/extensions/extension-policy.d.ts +80 -80
  90. package/dist/core/extensions/extension-types.d.ts +1294 -1285
  91. package/dist/core/extensions/extension-types.js +1 -1
  92. package/dist/core/extensions/flag-definition-validation.d.ts +4 -4
  93. package/dist/core/extensions/item-fields.d.ts +3 -2
  94. package/dist/core/extensions/item-fields.js +1 -1
  95. package/dist/core/extensions/loader.d.ts +36 -36
  96. package/dist/core/extensions/loader.js +1 -1
  97. package/dist/core/extensions/manifest-schema.d.ts +16 -16
  98. package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
  99. package/dist/core/extensions/read-output-contract.d.ts +5 -0
  100. package/dist/core/extensions/read-output-contract.js +2 -0
  101. package/dist/core/extensions/registration-values.d.ts +1 -1
  102. package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
  103. package/dist/core/extensions/version-compat.d.ts +10 -10
  104. package/dist/core/fs/fs-utils.d.ts +1 -1
  105. package/dist/core/fs/host-environment-errors.d.ts +14 -14
  106. package/dist/core/governance/content-fields.d.ts +31 -31
  107. package/dist/core/governance/issue-codes.d.ts +27 -27
  108. package/dist/core/governance/metadata-coverage.d.ts +91 -91
  109. package/dist/core/history/drift-scan.d.ts +26 -26
  110. package/dist/core/history/event-index.d.ts +41 -41
  111. package/dist/core/history/history-compact-bulk.d.ts +22 -22
  112. package/dist/core/history/history-diff.d.ts +22 -22
  113. package/dist/core/history/history-rewrite.d.ts +66 -66
  114. package/dist/core/history/history-storage-stats.d.ts +31 -31
  115. package/dist/core/history/history-stream-policy.d.ts +12 -12
  116. package/dist/core/history/history.d.ts +22 -22
  117. package/dist/core/history/identity.d.ts +6 -6
  118. package/dist/core/history/operation-contract.d.ts +9 -9
  119. package/dist/core/history/projection.d.ts +15 -15
  120. package/dist/core/history/read.d.ts +4 -4
  121. package/dist/core/history/replay.d.ts +51 -49
  122. package/dist/core/history/replay.js +1 -1
  123. package/dist/core/history/workspace-history.d.ts +101 -101
  124. package/dist/core/io/bulk-ids-input.d.ts +4 -4
  125. package/dist/core/item/actionability.d.ts +40 -40
  126. package/dist/core/item/id.d.ts +3 -3
  127. package/dist/core/item/item-format-version.d.ts +8 -8
  128. package/dist/core/item/item-format.d.ts +35 -35
  129. package/dist/core/item/item-type-definition.d.ts +2 -2
  130. package/dist/core/item/parent-reference-policy.d.ts +1 -1
  131. package/dist/core/item/parse.d.ts +12 -12
  132. package/dist/core/item/sprint-release-format.d.ts +2 -2
  133. package/dist/core/item/status-filter.d.ts +4 -4
  134. package/dist/core/item/toon-decode.d.ts +9 -9
  135. package/dist/core/item/type-registry.d.ts +40 -40
  136. package/dist/core/lock/lock-gc.d.ts +50 -50
  137. package/dist/core/lock/lock.d.ts +37 -37
  138. package/dist/core/output/mutation-projection.d.ts +6 -6
  139. package/dist/core/output/output-control.d.ts +4 -4
  140. package/dist/core/output/output.d.ts +40 -40
  141. package/dist/core/output/query-summary.d.ts +5 -5
  142. package/dist/core/packages/manifest.d.ts +50 -50
  143. package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
  144. package/dist/core/policy/workflow-policy-store.d.ts +7 -7
  145. package/dist/core/policy/workflow-policy.d.ts +81 -81
  146. package/dist/core/profile/profile-describe.d.ts +40 -40
  147. package/dist/core/profile/profile-lint.d.ts +20 -20
  148. package/dist/core/profile/profile-plan.d.ts +84 -84
  149. package/dist/core/profile/profile-presets.d.ts +52 -52
  150. package/dist/core/reproducibility/context.d.ts +6 -6
  151. package/dist/core/schema/fields-file.d.ts +54 -54
  152. package/dist/core/schema/item-types-file.d.ts +36 -36
  153. package/dist/core/schema/runtime-field-values.d.ts +2 -2
  154. package/dist/core/schema/runtime-schema.d.ts +86 -86
  155. package/dist/core/schema/status-defs-file.d.ts +36 -36
  156. package/dist/core/schema/type-inference.d.ts +14 -14
  157. package/dist/core/schema/type-workflows.d.ts +22 -22
  158. package/dist/core/search/background-refresh.d.ts +9 -9
  159. package/dist/core/search/bm25.d.ts +19 -19
  160. package/dist/core/search/cache.d.ts +35 -35
  161. package/dist/core/search/corpus.d.ts +12 -12
  162. package/dist/core/search/embedding-batches.d.ts +48 -48
  163. package/dist/core/search/eval.d.ts +49 -49
  164. package/dist/core/search/http-client.d.ts +38 -38
  165. package/dist/core/search/providers.d.ts +41 -41
  166. package/dist/core/search/relevance.d.ts +20 -20
  167. package/dist/core/search/semantic-defaults.d.ts +8 -8
  168. package/dist/core/search/staleness.d.ts +4 -4
  169. package/dist/core/search/vector-stores.d.ts +78 -78
  170. package/dist/core/search/vectorization-metadata.d.ts +6 -6
  171. package/dist/core/sentry/helpers.d.ts +15 -15
  172. package/dist/core/sentry/instrument.d.ts +40 -40
  173. package/dist/core/session/session-state.d.ts +32 -32
  174. package/dist/core/shared/agent-session-context.d.ts +14 -14
  175. package/dist/core/shared/author.d.ts +128 -128
  176. package/dist/core/shared/command-types.d.ts +40 -40
  177. package/dist/core/shared/conflict-markers.d.ts +6 -6
  178. package/dist/core/shared/constants.d.ts +13 -13
  179. package/dist/core/shared/errors.d.ts +194 -183
  180. package/dist/core/shared/errors.js +1 -1
  181. package/dist/core/shared/secret-rules.d.ts +97 -97
  182. package/dist/core/shared/serial-queue.d.ts +8 -8
  183. package/dist/core/shared/split-comma-list.d.ts +6 -6
  184. package/dist/core/shared/time.d.ts +23 -23
  185. package/dist/core/store/item-format-migration.d.ts +10 -10
  186. package/dist/core/store/item-metadata-cache.d.ts +38 -38
  187. package/dist/core/store/item-metadata-query-index.d.ts +79 -79
  188. package/dist/core/store/item-metadata-read-work.d.ts +6 -6
  189. package/dist/core/store/item-store.d.ts +110 -110
  190. package/dist/core/store/paths.d.ts +2 -2
  191. package/dist/core/store/settings-read-cache.d.ts +12 -12
  192. package/dist/core/store/settings-validator.d.ts +165 -165
  193. package/dist/core/store/settings.d.ts +59 -59
  194. package/dist/core/telemetry/observability.d.ts +17 -17
  195. package/dist/core/telemetry/policy.d.ts +3 -3
  196. package/dist/core/telemetry/runtime.d.ts +241 -241
  197. package/dist/core/test/background-runs.d.ts +185 -185
  198. package/dist/core/test/item-test-run-tracking.d.ts +6 -6
  199. package/dist/core/test/run-selectors.d.ts +18 -18
  200. package/dist/core/validate/fix-planning.d.ts +50 -50
  201. package/dist/core/validate/missing-by-type.d.ts +4 -4
  202. package/dist/core/validate/missing-link-owners.d.ts +30 -30
  203. package/dist/core/validate/stale-file-classification.d.ts +8 -8
  204. package/dist/mcp/http-server.d.ts +28 -28
  205. package/dist/mcp/legacy-adapter.d.ts +33 -33
  206. package/dist/mcp/runtime-capabilities.d.ts +16 -16
  207. package/dist/mcp/server.d.ts +50 -50
  208. package/dist/mcp/tool-definitions.d.ts +36 -36
  209. package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
  210. package/dist/sdk/agent/command-recovery.d.ts +4 -0
  211. package/dist/sdk/agent/command-recovery.js +1 -1
  212. package/dist/sdk/agent/identity-config.d.ts +32 -32
  213. package/dist/sdk/agent/item-addressing.d.ts +8 -8
  214. package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
  215. package/dist/sdk/agent/refusal-closure.d.ts +42 -42
  216. package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
  217. package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
  218. package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
  219. package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
  220. package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
  221. package/dist/sdk/agent-capability-contracts.d.ts +37 -37
  222. package/dist/sdk/annotations.d.ts +106 -106
  223. package/dist/sdk/author-attribution.d.ts +76 -76
  224. package/dist/sdk/authoring.d.ts +1 -1
  225. package/dist/sdk/authoring.js +1 -1
  226. package/dist/sdk/cli-bootstrap.d.ts +70 -70
  227. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
  228. package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
  229. package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
  230. package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
  231. package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
  232. package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
  233. package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
  234. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  235. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
  236. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
  237. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  238. package/dist/sdk/cli-contracts/registration-helpers.d.ts +36 -36
  239. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
  240. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  241. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
  242. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
  243. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
  244. package/dist/sdk/cli-contracts/tool-schema.d.ts +54 -54
  245. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  246. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
  247. package/dist/sdk/comments.d.ts +44 -44
  248. package/dist/sdk/compile-cache.d.ts +4 -4
  249. package/dist/sdk/completion/shared.d.ts +22 -22
  250. package/dist/sdk/compose.d.ts +156 -156
  251. package/dist/sdk/config.d.ts +123 -123
  252. package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
  253. package/dist/sdk/context/usage-ledger.d.ts +20 -20
  254. package/dist/sdk/context-intent-contracts.d.ts +50 -50
  255. package/dist/sdk/context-intent-contracts.js +1 -1
  256. package/dist/sdk/context-intent-runtime.d.ts +8 -8
  257. package/dist/sdk/context-packing.d.ts +78 -78
  258. package/dist/sdk/context-relevance.d.ts +189 -180
  259. package/dist/sdk/context-relevance.js +1 -1
  260. package/dist/sdk/context-signal-store.d.ts +84 -84
  261. package/dist/sdk/context-usage.d.ts +92 -92
  262. package/dist/sdk/corpus-shape.d.ts +101 -101
  263. package/dist/sdk/define.d.ts +2 -2
  264. package/dist/sdk/dependencies.d.ts +116 -116
  265. package/dist/sdk/dependency-flag-validation.d.ts +14 -12
  266. package/dist/sdk/dependency-flag-validation.js +1 -1
  267. package/dist/sdk/dependency-provenance.d.ts +30 -30
  268. package/dist/sdk/docs.d.ts +32 -32
  269. package/dist/sdk/duplicates.d.ts +21 -21
  270. package/dist/sdk/environment/agent-environment.d.ts +196 -196
  271. package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
  272. package/dist/sdk/environment/source-context.d.ts +6 -6
  273. package/dist/sdk/error-code-catalog.d.ts +40 -40
  274. package/dist/sdk/errors.d.ts +29 -29
  275. package/dist/sdk/eval.d.ts +45 -45
  276. package/dist/sdk/extension/author-manifest.d.ts +14 -14
  277. package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
  278. package/dist/sdk/extension/describe.d.ts +36 -36
  279. package/dist/sdk/extension/doctor.d.ts +29 -29
  280. package/dist/sdk/extension/install-plan.d.ts +55 -55
  281. package/dist/sdk/extension/install-receipts.d.ts +2 -2
  282. package/dist/sdk/extension/install-runtime.d.ts +8 -8
  283. package/dist/sdk/extension/install-snapshot.d.ts +14 -14
  284. package/dist/sdk/extension/install-sources.d.ts +96 -96
  285. package/dist/sdk/extension/managed-state.d.ts +66 -66
  286. package/dist/sdk/extension/migrations.d.ts +82 -82
  287. package/dist/sdk/extension/output-ownership.d.ts +24 -24
  288. package/dist/sdk/extension/runtime-summary.d.ts +5 -5
  289. package/dist/sdk/extension/scaffold.d.ts +12 -12
  290. package/dist/sdk/extension/shared.d.ts +15 -15
  291. package/dist/sdk/extension/source-resolution.d.ts +30 -30
  292. package/dist/sdk/extension/static-inventory.d.ts +42 -42
  293. package/dist/sdk/extension/update-check.d.ts +10 -10
  294. package/dist/sdk/extension.d.ts +320 -320
  295. package/dist/sdk/files.d.ts +157 -157
  296. package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
  297. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  298. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  299. package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
  300. package/dist/sdk/governance/assurance-action.d.ts +68 -68
  301. package/dist/sdk/governance/assurance-action.js +1 -1
  302. package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
  303. package/dist/sdk/governance/assurance-presets.d.ts +24 -24
  304. package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
  305. package/dist/sdk/governance/assurance.d.ts +353 -353
  306. package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
  307. package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
  308. package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
  309. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
  310. package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
  311. package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
  312. package/dist/sdk/governance/defect-recurrence.js +1 -1
  313. package/dist/sdk/governance/extension-host-version.d.ts +16 -16
  314. package/dist/sdk/governance/gc.d.ts +48 -48
  315. package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
  316. package/dist/sdk/governance/health.d.ts +188 -188
  317. package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
  318. package/dist/sdk/governance/linked-file-report.d.ts +26 -26
  319. package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
  320. package/dist/sdk/governance/provenance-health.d.ts +64 -64
  321. package/dist/sdk/governance/reindex.d.ts +89 -89
  322. package/dist/sdk/governance/reliability.d.ts +56 -56
  323. package/dist/sdk/governance/stale-work.d.ts +22 -22
  324. package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
  325. package/dist/sdk/governance/storage-integrity.d.ts +54 -54
  326. package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
  327. package/dist/sdk/governance/upgrade.d.ts +104 -104
  328. package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
  329. package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
  330. package/dist/sdk/governance/validate.d.ts +191 -191
  331. package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
  332. package/dist/sdk/governance/workflow-policy.d.ts +28 -28
  333. package/dist/sdk/governance/workspace-position.d.ts +46 -46
  334. package/dist/sdk/graph/adapter.d.ts +66 -66
  335. package/dist/sdk/graph/analytics.d.ts +54 -54
  336. package/dist/sdk/graph/assembly.d.ts +80 -80
  337. package/dist/sdk/graph/cache.d.ts +29 -29
  338. package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
  339. package/dist/sdk/graph/cardinality-integrity.js +2 -0
  340. package/dist/sdk/graph/centrality.d.ts +34 -34
  341. package/dist/sdk/graph/conformance.d.ts +33 -33
  342. package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
  343. package/dist/sdk/graph/durable-cache.d.ts +26 -26
  344. package/dist/sdk/graph/governance.d.ts +165 -165
  345. package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
  346. package/dist/sdk/graph/index.d.ts +1 -0
  347. package/dist/sdk/graph/index.js +1 -1
  348. package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
  349. package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
  350. package/dist/sdk/graph/query-contracts.d.ts +10 -10
  351. package/dist/sdk/graph/remediation.d.ts +25 -25
  352. package/dist/sdk/graph/run.d.ts +392 -392
  353. package/dist/sdk/graph/scheduling.d.ts +38 -38
  354. package/dist/sdk/graph/traversal.d.ts +14 -14
  355. package/dist/sdk/guide-topics.d.ts +32 -32
  356. package/dist/sdk/guide.d.ts +62 -62
  357. package/dist/sdk/history/attestation-command.d.ts +12 -12
  358. package/dist/sdk/history/attestation-contract.d.ts +78 -78
  359. package/dist/sdk/history/attestation-scan.d.ts +6 -6
  360. package/dist/sdk/history/maintenance.d.ts +46 -46
  361. package/dist/sdk/history/salvage.d.ts +18 -18
  362. package/dist/sdk/history/subject.d.ts +9 -9
  363. package/dist/sdk/history-analytics.d.ts +84 -84
  364. package/dist/sdk/history-compact.d.ts +103 -103
  365. package/dist/sdk/history-mcp.d.ts +8 -8
  366. package/dist/sdk/history-provenance.d.ts +59 -59
  367. package/dist/sdk/history-read.d.ts +36 -36
  368. package/dist/sdk/history-redact.d.ts +78 -78
  369. package/dist/sdk/history-repair.d.ts +158 -158
  370. package/dist/sdk/history-repair.js +1 -1
  371. package/dist/sdk/improvement-ledger.d.ts +102 -102
  372. package/dist/sdk/init-agent-guidance.d.ts +70 -70
  373. package/dist/sdk/init.d.ts +152 -152
  374. package/dist/sdk/item-children.d.ts +28 -28
  375. package/dist/sdk/item-schedule.d.ts +12 -12
  376. package/dist/sdk/item-transaction.d.ts +100 -100
  377. package/dist/sdk/learnings.d.ts +42 -42
  378. package/dist/sdk/lifecycle/append.d.ts +14 -14
  379. package/dist/sdk/lifecycle/claim.d.ts +60 -60
  380. package/dist/sdk/lifecycle/close-many.d.ts +94 -94
  381. package/dist/sdk/lifecycle/close.d.ts +27 -27
  382. package/dist/sdk/lifecycle/copy.d.ts +18 -18
  383. package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
  384. package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
  385. package/dist/sdk/lifecycle/create.d.ts +82 -82
  386. package/dist/sdk/lifecycle/create.js +1 -1
  387. package/dist/sdk/lifecycle/delete.d.ts +28 -28
  388. package/dist/sdk/lifecycle/focus.d.ts +10 -10
  389. package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
  390. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
  391. package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
  392. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
  393. package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
  394. package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
  395. package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
  396. package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
  397. package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
  398. package/dist/sdk/lifecycle/plan.d.ts +217 -217
  399. package/dist/sdk/lifecycle/reopen.d.ts +29 -24
  400. package/dist/sdk/lifecycle/reopen.js +1 -1
  401. package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
  402. package/dist/sdk/lifecycle/restore.d.ts +33 -33
  403. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
  404. package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
  405. package/dist/sdk/lifecycle/update-many.d.ts +79 -79
  406. package/dist/sdk/lifecycle/update.d.ts +131 -132
  407. package/dist/sdk/lifecycle/update.js +2 -2
  408. package/dist/sdk/lifecycle-completion.d.ts +22 -22
  409. package/dist/sdk/lifecycle-policy.d.ts +52 -52
  410. package/dist/sdk/linked-artifacts.d.ts +69 -69
  411. package/dist/sdk/mcp/apps.d.ts +32 -32
  412. package/dist/sdk/mcp/authorization.d.ts +76 -76
  413. package/dist/sdk/mcp/discovery.d.ts +111 -111
  414. package/dist/sdk/mcp/interactions.d.ts +61 -61
  415. package/dist/sdk/mcp/protocol.d.ts +78 -78
  416. package/dist/sdk/mcp/skills.d.ts +88 -88
  417. package/dist/sdk/mcp/subscriptions.d.ts +39 -39
  418. package/dist/sdk/mcp/tasks.d.ts +75 -75
  419. package/dist/sdk/mcp/transport.d.ts +11 -11
  420. package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
  421. package/dist/sdk/merge/driver.d.ts +60 -60
  422. package/dist/sdk/merge/install.d.ts +64 -64
  423. package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
  424. package/dist/sdk/merge/receipt-operation.d.ts +6 -6
  425. package/dist/sdk/merge/receipt-schema.d.ts +2 -2
  426. package/dist/sdk/merge/receipts.d.ts +156 -156
  427. package/dist/sdk/merge/reconcile.d.ts +36 -36
  428. package/dist/sdk/merge/reconcile.js +1 -1
  429. package/dist/sdk/merge/three-way.d.ts +77 -76
  430. package/dist/sdk/merge/three-way.js +1 -1
  431. package/dist/sdk/mutation-events.d.ts +84 -84
  432. package/dist/sdk/mutation-guard.d.ts +106 -106
  433. package/dist/sdk/notes.d.ts +52 -52
  434. package/dist/sdk/output/table-rows.d.ts +8 -8
  435. package/dist/sdk/output-contracts.d.ts +38 -38
  436. package/dist/sdk/output-projection.d.ts +142 -142
  437. package/dist/sdk/output-token-accounting.d.ts +27 -27
  438. package/dist/sdk/output.d.ts +28 -28
  439. package/dist/sdk/package-import-adapters.d.ts +54 -54
  440. package/dist/sdk/pagination.d.ts +29 -29
  441. package/dist/sdk/profile.d.ts +123 -123
  442. package/dist/sdk/provenance.d.ts +58 -58
  443. package/dist/sdk/public-surface.json +1 -1
  444. package/dist/sdk/query/activity.d.ts +118 -118
  445. package/dist/sdk/query/aggregate.d.ts +140 -140
  446. package/dist/sdk/query/calendar.d.ts +144 -144
  447. package/dist/sdk/query/complete-list.d.ts +53 -53
  448. package/dist/sdk/query/context.d.ts +395 -395
  449. package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
  450. package/dist/sdk/query/get.d.ts +77 -77
  451. package/dist/sdk/query/history.d.ts +72 -72
  452. package/dist/sdk/query/item-filter-options.d.ts +79 -79
  453. package/dist/sdk/query/list-filter-shared.d.ts +1 -1
  454. package/dist/sdk/query/list.d.ts +188 -188
  455. package/dist/sdk/query/multi-value-filters.d.ts +4 -4
  456. package/dist/sdk/query/next-ready-budget.d.ts +14 -14
  457. package/dist/sdk/query/next.d.ts +137 -137
  458. package/dist/sdk/query/projection-contracts.d.ts +8 -8
  459. package/dist/sdk/query/search/corpus.d.ts +8 -8
  460. package/dist/sdk/query/search/filters.d.ts +5 -5
  461. package/dist/sdk/query/search/input.d.ts +4 -4
  462. package/dist/sdk/query/search/response.d.ts +8 -8
  463. package/dist/sdk/query/search/semantic.d.ts +106 -106
  464. package/dist/sdk/query/search/types.d.ts +85 -85
  465. package/dist/sdk/query/search-contracts.d.ts +65 -65
  466. package/dist/sdk/query/search-pagination.d.ts +19 -19
  467. package/dist/sdk/query/search-rendering.d.ts +25 -25
  468. package/dist/sdk/query/search.d.ts +46 -46
  469. package/dist/sdk/read-output/continuation.d.ts +8 -8
  470. package/dist/sdk/read-output/continuation.js +1 -1
  471. package/dist/sdk/read-output/extension.d.ts +7 -0
  472. package/dist/sdk/read-output/extension.js +2 -0
  473. package/dist/sdk/read-output/options.d.ts +6 -4
  474. package/dist/sdk/read-output/options.js +1 -1
  475. package/dist/sdk/read-output/provenance.d.ts +8 -8
  476. package/dist/sdk/read-output-budget.d.ts +10 -10
  477. package/dist/sdk/read-output-contracts.d.ts +192 -186
  478. package/dist/sdk/read-output-contracts.js +1 -1
  479. package/dist/sdk/read-output-rows.d.ts +6 -6
  480. package/dist/sdk/read-output-session.d.ts +50 -50
  481. package/dist/sdk/relationship-analytics.d.ts +78 -78
  482. package/dist/sdk/relationship-context.d.ts +81 -81
  483. package/dist/sdk/relationship-history.d.ts +109 -109
  484. package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
  485. package/dist/sdk/relationship-migration.d.ts +26 -26
  486. package/dist/sdk/relationships.d.ts +78 -78
  487. package/dist/sdk/reproducibility/process.d.ts +3 -3
  488. package/dist/sdk/runtime/context.d.ts +11 -11
  489. package/dist/sdk/runtime-action-aliases.d.ts +2 -2
  490. package/dist/sdk/runtime-extended-actions.d.ts +8 -8
  491. package/dist/sdk/runtime-input.d.ts +3 -3
  492. package/dist/sdk/runtime-public-contracts.d.ts +78 -78
  493. package/dist/sdk/runtime.d.ts +305 -305
  494. package/dist/sdk/runtime.js +1 -1
  495. package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
  496. package/dist/sdk/schema-migration.d.ts +86 -86
  497. package/dist/sdk/schema.d.ts +355 -355
  498. package/dist/sdk/similarity-scoring.d.ts +10 -10
  499. package/dist/sdk/similarity.d.ts +113 -113
  500. package/dist/sdk/stats.d.ts +108 -108
  501. package/dist/sdk/structured-mutations.d.ts +16 -16
  502. package/dist/sdk/structured-mutations.js +1 -1
  503. package/dist/sdk/telemetry.d.ts +53 -53
  504. package/dist/sdk/templates.d.ts +39 -39
  505. package/dist/sdk/test/batch.d.ts +85 -85
  506. package/dist/sdk/test/execution-receipts.d.ts +3 -3
  507. package/dist/sdk/test/execution.d.ts +277 -277
  508. package/dist/sdk/test/execution.js +2 -2
  509. package/dist/sdk/test/json-path.d.ts +2 -2
  510. package/dist/sdk/test/linked-command-detection.d.ts +10 -10
  511. package/dist/sdk/test/measurements.d.ts +11 -11
  512. package/dist/sdk/test/parsers.d.ts +1 -1
  513. package/dist/sdk/test/parsers.js +1 -1
  514. package/dist/sdk/test/runs.d.ts +52 -52
  515. package/dist/sdk/test/trust.d.ts +12 -12
  516. package/dist/sdk/test/update.d.ts +31 -31
  517. package/dist/sdk/testing.d.ts +319 -319
  518. package/dist/sdk/traceability/source-traceability.d.ts +65 -65
  519. package/dist/sdk/workspace-contracts.d.ts +37 -37
  520. package/dist/sdk/workspace-memory.d.ts +60 -60
  521. package/dist/sdk/workspace-recipe.d.ts +9 -9
  522. package/dist/sdk/workspace-snapshot.d.ts +97 -97
  523. package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
  524. package/dist/sdk/workspace-transaction.d.ts +47 -47
  525. package/dist/sdk/workspace.d.ts +6 -6
  526. package/dist/types.d.ts +978 -978
  527. package/dist/types.js +1 -1
  528. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
  529. package/docs/DEFECT_RECURRENCE.md +12 -0
  530. package/docs/EXTENSIONS.md +2 -2
  531. package/docs/MERGE_SAFETY.md +27 -1
  532. package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
  533. package/docs/RELATIONSHIP_GRAPH.md +26 -0
  534. package/docs/RELEASING.md +6 -0
  535. package/docs/SDK.md +43 -18
  536. package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
  537. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -3
  538. package/marketplace.json +1 -1
  539. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  540. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  541. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  542. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  543. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  544. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  545. package/node_modules/@opentelemetry/core/package.json +2 -2
  546. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  547. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  548. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  549. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  550. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  551. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  552. package/node_modules/@opentelemetry/resources/package.json +3 -3
  553. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
  554. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
  555. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
  556. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
  557. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
  558. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
  559. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
  560. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
  561. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
  562. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
  563. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
  564. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
  565. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
  566. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
  567. package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
  568. package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
  569. package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
  570. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
  571. package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
  572. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  573. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  574. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  575. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  576. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  577. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  578. package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
  579. package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
  580. package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
  581. package/node_modules/@sentry/core/build/cjs/index.js +3 -0
  582. package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  583. package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
  584. package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
  585. package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
  586. package/node_modules/@sentry/core/build/cjs/server.js +3 -0
  587. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
  588. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
  589. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
  590. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
  591. package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
  592. package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
  593. package/node_modules/@sentry/core/build/esm/browser.js +1 -0
  594. package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
  595. package/node_modules/@sentry/core/build/esm/index.js +1 -0
  596. package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  597. package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
  598. package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
  599. package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
  600. package/node_modules/@sentry/core/build/esm/package.json +1 -1
  601. package/node_modules/@sentry/core/build/esm/server.js +1 -0
  602. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
  603. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
  604. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
  605. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
  606. package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
  607. package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
  608. package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
  609. package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  610. package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
  611. package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
  612. package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
  613. package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
  614. package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
  615. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  616. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
  617. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
  618. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
  619. package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
  620. package/node_modules/@sentry/core/package.json +3 -2
  621. package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
  622. package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
  623. package/node_modules/@sentry/node/build/esm/package.json +1 -1
  624. package/node_modules/@sentry/node/package.json +7 -6
  625. package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
  626. package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
  627. package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
  628. package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
  629. package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
  630. package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
  631. package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
  632. package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
  633. package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
  634. package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
  635. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
  636. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
  637. package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
  638. package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
  639. package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
  640. package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
  641. package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
  642. package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
  643. package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
  644. package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
  645. package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
  646. package/node_modules/@sentry/node-core/package.json +5 -4
  647. package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
  648. package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
  649. package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
  650. package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
  651. package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
  652. package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
  653. package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
  654. package/node_modules/@sentry/opentelemetry/package.json +4 -3
  655. package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
  656. package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
  657. package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
  658. package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
  659. package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
  660. package/node_modules/@sentry/server-utils/package.json +4 -3
  661. package/node_modules/cjs-module-lexer/README.md +8 -3
  662. package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
  663. package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
  664. package/node_modules/cjs-module-lexer/lexer.js +48 -9
  665. package/node_modules/cjs-module-lexer/package.json +3 -2
  666. package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
  667. package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
  668. package/node_modules/es-module-lexer/dist/lexer.js +2 -2
  669. package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
  670. package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
  671. package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
  672. package/node_modules/es-module-lexer/package.json +1 -1
  673. package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
  674. package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
  675. package/node_modules/import-in-the-middle/package.json +1 -1
  676. package/package.json +2 -2
  677. package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
  678. package/packages/pm-beads/package.json +1 -1
  679. package/packages/pm-calendar/package.json +1 -1
  680. package/packages/pm-command-kit/package.json +1 -1
  681. package/packages/pm-digital-twin/package.json +1 -1
  682. package/packages/pm-governance-audit/package.json +1 -1
  683. package/packages/pm-guide-shell/package.json +1 -1
  684. package/packages/pm-kanban/package.json +1 -1
  685. package/packages/pm-lifecycle-hooks/package.json +1 -1
  686. package/packages/pm-linked-test-adapters/package.json +1 -1
  687. package/packages/pm-search-advanced/package.json +1 -1
  688. package/packages/pm-templates/package.json +1 -1
  689. package/packages/pm-todos/package.json +1 -1
  690. package/packages/pm-vcs/package.json +1 -1
  691. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  692. package/plugins/pm-claude/package.json +1 -1
  693. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  694. package/plugins/pm-codex/package.json +1 -1
  695. package/plugins/pm-codex/plugin.json +1 -1
  696. package/runtime-dependencies.json +1 -1
  697. package/scripts/finalize-build.mjs +37 -0
  698. package/dist/cli-bundle/chunks/chunk-6PZPUJW3.js +0 -234
  699. package/dist/cli-bundle/chunks/chunk-ILQEZ4Y6.js +0 -2
  700. package/dist/cli-bundle/chunks/chunk-JRRXWH5B.js +0 -20
  701. package/dist/cli-bundle/chunks/chunk-LH5QDBMN.js +0 -2
  702. package/dist/cli-bundle/chunks/chunk-M5NDSW6E.js +0 -30
  703. package/dist/cli-bundle/focused-chunks/chunk-AXBO53EQ.js +0 -2
  704. package/dist/cli-bundle/focused-chunks/chunk-FXRWJEQ5.js +0 -3
  705. package/dist/cli-bundle/focused-chunks/chunk-IKJFAU32.js +0 -8
  706. package/dist/cli-bundle/focused-chunks/chunk-PPH5N26M.js +0 -2
  707. package/dist/cli-bundle/focused-chunks/chunk-RZVNGUT7.js +0 -26
  708. package/dist/cli-bundle/focused-chunks/chunk-YDJT33JU.js +0 -2
@@ -0,0 +1,20 @@
1
+ import{$ as W,$d as Se,$g as Ke,$h as cn,$i as ds,Af as tn,Ah as zo,Ai as is,Bh as Tr,Ch as rn,Ci as os,Dd as ko,Dg as Q,Dh as Ve,Ee as Xt,Eg as R,Ei as ln,Fg as $,Fi as ss,G as yr,Gg as Ge,Gl as ps,Hi as Ar,Hm as hn,Ia as je,Ii as un,Im as gn,Jd as Wt,Jh as on,Jj as fs,Kg as Ao,Kh as Vo,Ld as Eo,Lg as Oo,Lh as qo,Mg as Lo,Na as br,Nh as Wo,Nl as mn,Oa as Kt,Ob as wr,Pa as _o,Pd as kr,Ph as sn,Q as ho,Qf as Cr,Qh as Yo,R as g,Rh as Xo,T as _,Tg as Fo,Th as Rr,U as vr,Uc as bo,Ug as Mo,V as Gt,Va as L,Vf as U,Vg as No,Vh as Jo,W as Pe,Wa as zt,Wg as $o,Wi as as,X as ce,Xa as yo,Xg as Po,Xh as qe,Xi as cs,Y as ye,Yd as Io,Yh as Qo,Zh as Zo,_d as Yt,_h as an,aa as go,ae as de,ai as xr,ao as me,bb as O,bi as le,bj as We,bl as ms,bo as pe,cg as Do,ci as Dr,de as Co,df as Ro,di as es,ee as He,ei as dn,ej as ue,fg as be,fi as De,fj as Te,gi as Z,gj as ls,gm as pn,hb as Ue,hc as vo,hi as ts,hj as us,if as x,ih as jo,ii as ns,ij as fe,ja as K,jj as fn,kf as Ir,lf as Jt,md as D,mf as C,nf as xo,of as ve,p as ne,pf as Be,pg as J,ph as we,qe as So,qh as Uo,qj as ke,re as To,rg as nn,rh as ze,rm as hs,sf as Qt,sm as gs,tb as k,te as Er,ti as rs,u as Bt,uf as Zt,vb as re,vd as Vt,vh as Ho,wf as en,wh as Bo,wm as Or,xd as qt,xh as Go,yd as wo,yh as Sr,yi as F,zh as Ko}from"./chunk-DJDRHJBP.js";(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]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function Lr(e){let t=O(process.cwd(),e);await U(t);let n=await F(t),r=L(n,D());return{pmRoot:t,settings:n,typeRegistry:r}}async function _n(e,t,n,r){Ue(e,Ar(t));let i=await ue(e,t,n.id_prefix,n.item_format,r);if(i)return{id:i.id,historyPath:Ue(e,i.id),located:i};let o=un(t,n.id_prefix),s=Ar(t),a=o===s?[o]:[o,s];for(let c of a){let d=Ue(e,c);if(await Gt(d))return{id:c,historyPath:d,located:null}}throw new _(`Item ${t} not found`,g.NOT_FOUND)}(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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function iw(e,t){let n=le(e),r=e.length>0?e[e.length-1].after_hash:Yo(),i=t===void 0||n.item_hash_version===void 0?void 0:sn(t,n.item_hash_version,be(e.at(-1)?.hash_algorithm)),o=t===void 0?void 0:i===void 0?Wo(t):i[Math.max(0,i.indexOf(r))],s=o===void 0?void 0:o===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:o,current_matches_latest:s}}async function ow(e,t,n={}){let r=O(n.cwd??process.cwd(),n.pmRoot);await U(r);let i=await F(r),o=L(i,D()),s=await _n(r,e,i,o.type_to_folder),a=await ze(s.historyPath,s.id);if(a.length===0)throw new _(`No history exists for ${s.id}; point-in-time reads are unavailable.`,g.NOT_FOUND);let c=os(t,a),d=ss(ln(a,c.historyIndex),c),l=Zo(d,{schema:i.schema});if(l.metadata.id!==s.id)throw new _(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,g.GENERIC_FAILURE);let u=a[c.historyIndex],f=is(a,!0);return{document:l,reconstructed:!0,as_of_version:f===null?null:f+c.historyIndex+1,as_of_timestamp:u.ts,target:c,history_length:a.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]="403706c5-987d-5db1-95d2-b0eaded98e92")}catch{}})();function dl(e,t,n,r,i,o){if(e.seen.has(t))return"skip";if(e.cursorFound&&e.affected.length>=o)return"truncate";e.seen.add(t),e.parents.set(t,n.id);let s=n.depth+1;return e.queue.push({id:t,depth:s}),e.cursorFound?(e.affected.push({id:t,distance:s,path:gl(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function ys(e,t,n,r){let i=Se("graph impact",{root:e,direction:n,kinds:[...t.kinds??[]].sort(),max_depth:Number.isFinite(r)?r:"unbounded"});return{fingerprint:i,after:t.after===void 0?void 0:Co(t.after,i)}}function Ye(e,t,n){e.get(t).add(n)}function ft(e){return new Map(e.map(t=>[t,new Set]))}function vs(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function yn(e){if(Array.isArray(e))return e.map(n=>yn(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?yn(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,yn(r)]))}function _s(e){return JSON.stringify(yn(e))}function ll(e,t,n,r){let i=[{id:e,expanded:!1}];for(;i.length>0;){let o=i.pop();if(o.expanded){r.push(o.id);continue}if(n.has(o.id))continue;n.add(o.id),i.push({id:o.id,expanded:!0});let s=[...t.get(o.id)].sort().reverse();for(let a of s)n.has(a)||i.push({id:a,expanded:!1})}}function ul(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||ll(i,t,n,r);return r}function fl(e,t){let n=new Set,r=[];for(let i of[...e].reverse()){if(n.has(i))continue;let o=[],s=[i];for(n.add(i);s.length>0;){let a=s.pop();o.push(a);for(let c of t.get(a))n.has(c)||(n.add(c),s.push(c))}r.push(o)}return vs(r)}function bs(e,t){let n=ft(e);for(let[r,i]of t)for(let o of i)Ye(n,o,r);return fl(ul(e,t),n)}function ml(e,t){let n=ft(e.nodes());for(let r of e.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let o=(i.precedence??"source_before_target")==="source_before_target";Ye(n,o?r.source:r.target,o?r.target:r.source)}return n}function pl(e,t){let n=new Map(e.map(o=>[o,0]));for(let o of t.values())for(let s of o)n.set(s,n.get(s)+1);let r=e.filter(o=>n.get(o)===0).sort(),i=[];for(;r.length>0;){i.push(r);let o=[];for(let s of r)for(let a of t.get(s)){let c=n.get(a)-1;n.set(a,c),c===0&&o.push(a)}r=o.sort()}return i}function hl(e,t){let n=new Map(e.map(s=>[s,0])),r=new Map;for(let s of e)for(let a of t.get(s)){if(!n.has(a))continue;let c=n.get(s)+1,d=r.get(a);(c>n.get(a)||c===n.get(a)&&(d===void 0||s.localeCompare(d)<0))&&(n.set(a,c),r.set(a,s))}let i=[...e].sort((s,a)=>n.get(a)-n.get(s)||s.localeCompare(a))[0],o=i===void 0?[]:[i];for(;o[0]!==void 0&&r.has(o[0]);)o.unshift(r.get(o[0]));return{depth:Object.fromEntries(n),path:o}}function gl(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function bn(e,t={}){let n=t.registry??ne(),r=[...e.nodes()],i=ml(e,n),o=pl(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:bs(r,i).filter(l=>l.length>1||i.get(l[0]).has(l[0])),d=hl(s,i);return{exact:!0,acyclic:a,order:s,layers:o,frontier:o[0]??[],depth:d.depth,criticalPath:d.path,criticalPathLength:Math.max(0,d.path.length-1),cycles:c,provenance:{algorithm:"kahn-longest-path",edgeFamily:"ordering"}}}function _l(e,t,n){let r=ft(e.nodes()),i=n===void 0?void 0:new Set(n.map(s=>e.registry().require(s).kind)),o=e.edges();for(let s of o){let a=e.registry().require(s.kind);i!==void 0&&!i.has(s.kind)&&(a.inverse===void 0||!i.has(a.inverse))||Ye(r,t==="incoming"?s.target:s.source,t==="incoming"?s.source:s.target)}return{adjacency:r,inspectedEdges:o.length}}function yl(e,t,n,r,i,o){let s=vn(e,t,{...n,after:void 0,direction:"incoming",limit:void 0}),a=vn(e,t,{...n,after:void 0,direction:"outgoing",limit:void 0}),c=new Map,d=[...s.affected,...a.affected].sort((m,h)=>m.distance-h.distance||m.id.localeCompare(h.id)||m.path.join("\0").localeCompare(h.path.join("\0")));for(let m of d)c.has(m.id)||c.set(m.id,m);let l=[...c.values()].sort((m,h)=>m.distance-h.distance||m.id.localeCompare(h.id)),u=r===void 0||r===t?-1:l.findIndex(m=>m.id===r);if(r!==void 0&&r!==t&&u<0)throw new TypeError(`Unknown impact cursor item: ${r}`);let f=l.slice(u+1,u+1+i),p=u+1+f.length<l.length;return{root:t,affected:f,exact:!0,truncated:s.truncated||a.truncated||p,...p?{nextCursor:de(o,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function vl(e,t,n){let r=n.direction,i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ys(t,n,r,i),{adjacency:c,inspectedEdges:d}=_l(e,r,n.kinds),l={queue:[{id:t,depth:0}],seen:new Set([t]),parents:new Map,affected:[],cursorFound:a===void 0||a===t},u=0,f=!1,p=!1;e:for(let m=0;m<l.queue.length;m+=1){n.signal?.throwIfAborted();let h=l.queue[m];u+=1;let y=[...c.get(h.id)].sort();if(h.depth>=i){y.some(b=>!l.seen.has(b))&&(f=!0);continue}for(let b of y)if(dl(l,b,h,t,a,o)==="truncate"){f=!0,p=!0;break e}}if(!l.cursorFound)throw new TypeError(`Unknown impact cursor item: ${a}`);return{root:t,affected:l.affected,exact:!0,truncated:f,...p?{nextCursor:de(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function vn(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return vl(e,t,{...n,direction:r});let i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ys(t,n,r,i);return yl(e,t,n,a,o,s)}function ws(e){let t=[...e.nodes()],n=ft(t),r=ft(t);for(let c of e.edges())Ye(n,c.source,c.target),Ye(n,c.target,c.source),Ye(r,c.source,c.target);let i=[],o=new Set;for(let c of t){if(o.has(c))continue;let d=[],l=[c];for(o.add(c);l.length>0;){let u=l.pop();d.push(u);for(let f of n.get(u))o.has(f)||(o.add(f),l.push(f))}i.push(d)}let s=t.map(c=>({id:c,degree:n.get(c).size})),a=Math.max(0,...s.map(({degree:c})=>c));return{components:vs(i),stronglyConnected:bs(t,r),orphans:s.filter(({degree:c})=>c===0).map(({id:c})=>c),hubs:s.filter(({degree:c})=>c>0&&c===a),exact:!0,provenance:{algorithm:"component-degree",edgeFamily:"all"}}}function dw(e,t){let n=new Map(e.edges.map(i=>[_s(i),i])),r=new Map(t.edges.map(i=>[_s(i),i]));return{fromVersion:e.version,toVersion:t.version,added:[...r].filter(([i])=>!n.has(i)).map(([,i])=>i),removed:[...n].filter(([i])=>!r.has(i)).map(([,i])=>i),unchangedCount:[...n.keys()].filter(i=>r.has(i)).length,exact:!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]="1745a409-0f91-5f5a-8d2a-e5e61ff667a0")}catch{}})();function Re(e,t){return(t===void 0?void 0:yo(e,t))?.execution_role??_o[e.trim().toLowerCase()]??"agent"}var Mr="blocked_by",ks="blocks",bl=Object.freeze([Mr,ks]),Fr="no-active-blocker";function A(e){return e.trim().toLowerCase()}function wn(e,t){return t?`external:${e}`:`local:${A(e)}`}function Ae(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&A(n)!==Fr){let r=me(n);t.set(wn(n,r),r?n:A(n))}for(let r of e.dependencies??[]){let i=typeof r.id=="string"?r.id.trim():"";if(r.kind===Mr&&i.length>0&&A(i)!==Fr){let o=me(i)||pe(r.source_kind);t.set(wn(i,o),o?i:A(i))}}return[...t.values()].sort((r,i)=>r.localeCompare(i))}function kn(e){let t=new Map;for(let n of e){let r=A(n.id);r.length!==0&&t.set(r,new Set(Ae(n)))}for(let n of e){let r=A(n.id);if(r.length!==0)for(let i of n.dependencies??[]){let o=i.kind===ks&&typeof i.id=="string"?A(i.id):"";if(o.length===0||o===Fr)continue;let s=t.get(o)??new Set;s.add(r),t.set(o,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((i,o)=>i.localeCompare(o))]))}function Es(e,t){let n=A(e.id);return n.length>0?kn(t).get(n)??Ae(e):Ae(e)}function Nr(e,t,n,r){let i=e,o=typeof i.id=="string"?r?.get(A(i.id))??Es(i,[...t.values()]):Ae(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Mr&&pe(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>wn(a.id.trim(),!0)));return o.map(a=>{if(me(a)||s.has(wn(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(A(a));return c?{id:a,title:c.title,status:c.status,resolved:$(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function En(e,t,n){return Nr(e,t,n)}function mt(e,t){let n=new Map(e.map(s=>[A(s.id),s])),r=kn(e),i=new Set([...Is(t),...t.blocked_statuses]),o=new Set;for(let s of e){let a=R(s.status,t);i.has(a)&&(t.blocked_statuses.has(a)||Nr(s,n,t,r).some(c=>!c.resolved))&&o.add(A(s.id))}return o}function $r(e,t,n={},r){let i=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&i.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(R(s.item.status,t))));let o={ready:[],decisions:[],gates:[]};for(let s of i){let a=Re(s.item.type,r);a==="human"&&n.includeDecisions!==!0?o.decisions.push(s):a==="gate"&&n.includeGates!==!0?o.gates.push(s):o.ready.push(s)}return o}function Is(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function wl(e,t,n){let r=[A(e)],i=new Set;for(;r.length>0;){let o=r.pop();if(!i.has(o)){i.add(o);for(let s of t.get(o)??[]){if(!$(s.status,n))return!0;r.push(A(s.id))}}}return!1}function kl(e){let t=new Map,n=new Map,r=new Map,i=kn(e);for(let o of e){t.set(A(o.id),o);let s=typeof o.parent=="string"?o.parent.trim():"";if(s.length>0){let a=A(s),c=n.get(a)??[];c.push(o),n.set(a,c)}for(let a of i.get(A(o.id))){let c=A(a),d=r.get(c)??[];d.push(o.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:i}}function pt(e,t,n,r){let{itemsById:i,childrenByParent:o,blockedByReverse:s,blockerIdsByItem:a}=kl(t),c=new Set([...Is(n),...n.blocked_statuses]),d=new Set(t.filter(y=>!$(y.status,n)).map(y=>A(y.id))),l=[],u=[],f=[],p=[],m=[],h=0;for(let y of e){if(!c.has(R(y.status,n)))continue;h+=1;let b=Nr(y,i,n,a).filter(S=>!S.resolved),v=(s.get(A(y.id))??[]).filter(S=>d.has(A(S))).sort((S,P)=>S.localeCompare(P)),w={item:y,open_blockers:b,unblocks:v};if(wl(y.id,o,n)){f.push(w);continue}let E=n.blocked_statuses.has(R(y.status,n));if(b.length===0&&!E){let S=Re(y.type,r);S==="human"?p.push(w):S==="gate"?m.push(w):l.push(w)}else u.push(w)}return{ready:l,blocked:u,containers:f,decisions:p,gates:m,active_count:h,container_count:f.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]="738a98bc-eaf0-578d-88e3-1c5f83c8894b")}catch{}})();function ie(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new _(`${t} must be a non-negative integer`,g.USAGE);return r}function In(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new _(`${t} filter must be 0..4`,g.USAGE);return r}function Cs(e,t,n="--type"){if(e===void 0)return;let r=zt(e,t);if(!r)throw new _(`${n} filter must be one of ${t.types.join("|")}`,g.USAGE);return 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]="75ecca0c-fac8-5a9b-9043-c65731daad4a")}catch{}})();function Pr(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){r+=c,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new _(`${t.label} requires at least one non-empty value`,g.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function ht(e,t){let n=Pr(e,t);return n===void 0?void 0:new Set(n)}function Ss(e,t,n="--type"){let r=Pr(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=zt(o,t);if(!s)throw new _(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,g.USAGE);return s});return new Set(i)}function Ts(e,t="--priority"){let n=Pr(e,{label:t});if(n!==void 0)return new Set(n.map(r=>In(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]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var El="global",Dw="external",Il=["open","closed","unknown"],gt=new Map,Cl=240,Sl=2048;function Rs(e,t,n){return(e?.trim()||t).slice(0,n)}function Tl(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return typeof t.status=="string"&&(t.title==null||typeof t.title=="string")&&(t.source==null||typeof t.source=="string")&&(t.checkedAt==null||typeof t.checkedAt=="string")}function Aw(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(gt.has(t))throw new Error(`External dependency resolver already registered: ${t}`);let n={name:t,supports:r=>e.supports(r),resolve:r=>e.resolve(r)};return gt.set(t,n),()=>{gt.get(t)===n&&gt.delete(t)}}async function Ow(e,t={}){let n=e.trim();if(!me(n))return null;let r=[...gt.values()].filter(o=>{try{return o.supports(n)}catch{return!1}}),i=await Promise.allSettled(r.map(o=>Promise.resolve().then(()=>o.resolve(n))));for(let[o,s]of i.entries()){if(s.status!=="fulfilled"||!Tl(s.value))continue;let a=r[o],c=s.value,d=Il.includes(c.status)?c.status:"unknown",l=Rs(c.title,"",Cl),u=Rs(c.source,n,Sl),f=Date.parse(c.checkedAt?.trim()??""),p=Number.isFinite(f)?new Date(f).toISOString():t.now?.()??new Date().toISOString();return{id:n,status:d,resolved:d==="closed",title:l.length>0?l:null,source:u,checked_at:p,resolver:a.name}}return null}function Lw(e){let t=e?.trim();if(t)return pe(t)?El:t}function Fw(e,t,n){return Rl(e,t,n)}function Rl(e,t,n){let r=e.trim();return pe(n)||me(r)?r:un(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]="283dfa35-9a8e-524c-b6e2-d433d51215ca")}catch{}})();function z(){let e=ne();for(let t of D()?.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 _t(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Cn(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function xl(e,t){let n=new Set,r=[];for(let i of[...e].sort()){if(n.has(i))continue;n.add(i);let o=[{nodeId:i,children:[...t.get(i)??[]].sort(),nextChild:0}];for(;o.length>0;){let s=o.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),o.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),o.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function Dl(e,t){let n=[...e].sort(),r=xl(n,t),i=new Set,o=Al(n,t),s=[];for(let a of r.reverse()){if(i.has(a))continue;let c=Ol(a,o,i);(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 Al(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,i]of t)for(let o of i)n.get(o)?.add(r);return n}function Ol(e,t,n){let r=[],i=[e];for(n.add(e);i.length>0;){let o=i.pop();r.push(o);for(let s of[...t.get(o)].sort())n.has(s)||(n.add(s),i.push(s))}return r.sort()}function xs(e){let t=new Map;for(let n of e){let r=_t(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Ll(e,t,n){let r=_t(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 Fl(e,t,n,r){let i=_t(t?.id),o=r.resolve(t?.kind);if(!i||!n.has(i)||!o?.hierarchy)return;let s=o.hierarchyDirection==="source_parent";return{parent_id:s?e:i,child_id:s?i:e,source:"dependency",kind:o.kind,holder_id:e,target_id:i,child_cardinality:s?o.incoming:o.outgoing}}function Ds(e,t){let n=new Map;for(let[r,i]of e){let o=Ll(r,i,e);o&&n.set(Cn(o),o);for(let s of i.dependencies??[]){let a=Fl(r,s,e,t);a&&n.set(Cn(a),a)}}return[...n.values()].sort((r,i)=>Cn(r).localeCompare(Cn(i)))}function As(e,t=z()){return Ds(xs(e),t)}function Ml(e,t,n){let r=new Set(e.filter(i=>i.child_cardinality==="one").map(i=>i.child_id));return[...t].filter(([i,o])=>o.length>1&&r.has(i)).map(([i,o])=>({child_id:i,parent_ids:[...o],legacy_terminal:n.has(i)&&o.every(s=>n.has(s))})).sort((i,o)=>i.child_id.localeCompare(o.child_id))}function Nl(e,t,n){let r=new Map;for(let o of t){if(o.source!=="dependency")continue;let s=r.get(o.child_id)??new Set;s.add(o.parent_id),r.set(o.child_id,s)}let i=[];for(let[o,s]of e){let a=_t(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(o)??[]].filter(d=>d!==a).sort();c.length!==0&&i.push({child_id:o,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(o)&&n.has(a)&&c.every(d=>n.has(d))})}return i.sort((o,s)=>o.child_id.localeCompare(s.child_id))}function Sn(e,t=r=>r==="closed"||r==="canceled",n=z()){let r=xs(e),i=Ds(r,n),o=Ur(i),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Dl([...r.keys()],new Map([...o.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:i,cycles:a,cardinality_violations:Ml(i,o.parents_by_child,s),divergences:Nl(r,i,s)}}function Bw(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 Ur(e){let t=new Map,n=new Map;for(let r of e){let i=t.get(r.child_id)??new Set;i.add(r.parent_id),t.set(r.child_id,i);let o=n.get(r.parent_id)??new Set;o.add(r.child_id),n.set(r.parent_id,o)}return{parents_by_child:new Map([...t].map(([r,i])=>[r,[...i].sort()])),children_by_parent:new Map([...n].map(([r,i])=>[r,[...i].sort()]))}}function jr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Gw(e,t,n,r,i){let o=_t(n);if(!o)return;let s=Sn(e,r,i),a=Sn(t,r,i),c=a.divergences.find(u=>!s.divergences.some(f=>f.child_id===u.child_id&&f.scalar_parent_id===u.scalar_parent_id&&jr(u.dependency_parent_ids,f.dependency_parent_ids)));if(c){let u=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new _(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${u.join(", ")}.`,g.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:o,target_id:c.child_id,verification_errors:u})}let d=a.cardinality_violations.find(u=>(u.child_id===o||u.parent_ids.includes(o))&&!s.cardinality_violations.some(f=>f.child_id===u.child_id&&jr(u.parent_ids,f.parent_ids)));if(d)throw new _(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,g.CONFLICT,{code:"hierarchy_cardinality_created",source_id:o,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(u=>u.item_ids.includes(o)&&!s.cycles.some(f=>jr(u.item_ids,f.item_ids)));if(l)throw new _(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,g.CONFLICT,{code:"hierarchy_cycle_created",source_id:o,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]="41f814be-ee87-5cae-b674-69c2e7f42655")}catch{}})();function Je(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function yt(e){let t=Je(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function vt(e,t,n=!0){let r=Je(e);return n&&(pe(t)||r!==void 0&&me(r))}function Hr(e,t){return vt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Os(e,t,n,r){return vt(e,t)?r.get(e):n.get(e.toLowerCase())}function Xe(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function $l(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,i=Je(r.id);if(!i)continue;let o=typeof r.kind=="string"?r.kind:"related",s=`${o}\0${Hr(i,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:i,kind:o,count:1})}return t}function Pl(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 i of $l(r).values())i.count<2||n.push({holder_id:r.id.trim(),target_id:i.target_id,kind:i.kind,occurrences:i.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,i)=>{let o=Xe(r.holder_id,i.holder_id);if(o!==0)return o;let s=Xe(r.target_id,i.target_id);return s!==0?s:Xe(r.kind,i.kind)})}function jl(e,t,n,r,i){if(typeof n!="object"||n===null)return;let o=Je(n.id);if(!o||Hr(o,n.source_kind)!==Hr(t))return;let s=i.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:o,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Ul(e,t=r=>r==="closed"||r==="canceled",n=z()){let r=new Map;for(let i of e){if(typeof i?.id!="string"||i.id.trim().length===0)continue;let o=Je(i.blocked_by);if(o)for(let s of i.dependencies??[]){let a=jl(i,o,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((i,o)=>{let s=Xe(i.holder_id,o.holder_id);if(s!==0)return s;let a=Xe(i.target_id,o.target_id);return a!==0?a:Xe(i.dependency_kind,o.dependency_kind)})}function Br(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())),i=new Map,o=(c,d,l,u,f)=>{let p=Je(d);if(!p||r.has(p.toLowerCase())||vt(p,void 0,f))return;let m={holder_id:c.id.trim(),target_id:p,kind:l,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};i.set(`${m.holder_id}::${m.target_id}::${m.kind}::${m.source}`,m)};for(let c of n){o(c,c.parent,"parent","parent",!1),o(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;pe(l.source_kind)||o(c,l.id,typeof l.kind=="string"?l.kind:"related","dependency",!0)}}let s=[...i.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 Hl(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(),i=r.toLowerCase();t.has(i)||t.set(i,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function Bl(e){let t=new Map;for(let n of e){let r=yt(n.blocked_by);r&&vt(r)&&!t.has(r)&&t.set(r,r);for(let i of n.dependencies??[]){if(typeof i!="object"||i===null||!vt(i.id,i.source_kind))continue;let o=yt(i.id);o&&!t.has(o)&&t.set(o,o)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Ls=new WeakMap;function Tn(e){return e.hierarchyIntegrity??Ls.get(e)}function Gl(e,t=z()){let n={};for(let r of e)for(let i of r.dependencies??[]){if(typeof i!="object"||i===null)continue;let o=i.kind;if(typeof o!="string")continue;let s=o.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(o);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[i])=>r.localeCompare(i)))}function Qe(e,t,n){let r=n??z(),i=e.filter(m=>typeof m?.id=="string"&&m.id.trim().length>0),o=new Map(i.map(m=>[m.id.trim().toLowerCase(),m.id.trim()])),s=Br(i,t),a=Hl(s);for(let m of a)o.set(m.toLowerCase(),m);let c=Bl(i),d=new Set(o.keys()),l=new Map;for(let m of c){let h=m;for(;d.has(h.toLowerCase());)h=`external:${h}`;l.set(m,h),d.add(h.toLowerCase())}let u=i.map(m=>{let h=yt(m.parent),y=yt(m.blocked_by),b=(m.dependencies??[]).flatMap(v=>{if(typeof v!="object"||v===null)return[];let w=v,E=yt(w.id);return E?[{id:Os(E,w.source_kind,o,l),kind:typeof w.kind=="string"?w.kind:"related"}]:[]});return{id:m.id.trim(),...h?{parent:o.get(h.toLowerCase())}:{},...y?{blocked_by:Os(y,void 0,o,l)}:{},dependencies:b}}),f=Sn(i,t,r),p={graph:Bt.fromItems([...u,...a.map(m=>({id:m})),...c.map(m=>({id:l.get(m)}))],r),details:[...i.map(m=>({id:m.id.trim(),title:m.title,status:m.status,...typeof m.type=="string"&&m.type.trim().length>0?{type:m.type.trim()}:{}})),...a.map(m=>({id:m,title:`[missing] ${m}`,status:"missing"})),...c.map(m=>({id:l.get(m),title:`[external] ${m}`,status:"external"}))],missingIdSet:new Set(a.map(m=>m.toLowerCase())),dangling:s,duplicateRows:Pl(i,t),orderingContradictions:Ul(i,t,r),legacyAliasCounts:Gl(i,r),hierarchyIntegrity:f};return Ls.set(p,f),p}(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]="19d6f507-d3b1-5ccc-aba5-594983776618")}catch{}})();var Gr=["id","title","status","type","priority","parent","updated_at"],Kr=["id","status","type","title"],Kl={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"brief","list-canceled":"full"},zl=["tree_depth","tree_parent","tree_children","tree_title"];function zr(e=[]){return[...new Set([...yr,"body",...zl,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var Qw=["brief","standard","deep"],Vl=["body","linked","claim_state","children","schedule","blockers"],ql=["linked.files","linked.tests","linked.docs"],Wl=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],Yl=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function Zw(e=[]){return[...[...new Set([...yr,...e,"notes_count","tests_count","collection_counts"])].flatMap(t=>[t,`item.${t}`]),...Vl,...ql,...Wl,...Yl].sort()}var e0=["id","title","status","type","priority","updated_at","score","matched_fields"],Xl=["score","matched_fields","highlights"],Fs=["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"];function t0(e=[]){let t=[...new Set(e)];return[...Xl,...Fs,...Fs.map(n=>`item.${n}`),...t,...t.map(n=>`item.${n}`)].sort()}(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]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function Ms(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function js(e){return{isTerminal(t){return e.terminal_statuses.has(Ms(t,e))},classify(t){let n=Ms(t,e);return e.terminal_canceled_statuses.has(n)?"canceled":e.terminal_statuses.has(n)?"closed":e.blocked_statuses.has(n)?"blocked":e.draft_statuses.has(n)?"draft":n===e.open_status?"open":e.active_statuses.has(n)?"in_progress":"other"}}}function Vr(e){return K(e.acceptance_criteria)===void 0}function qr(e){return!Number.isFinite(e.estimated_minutes)}function Us(e,t){return t.isTerminal(e.status)?K(e.resolution)===void 0:!1}function Jl(e){return K(e.reviewer)===void 0}function Ql(e){return K(e.risk)===void 0}function Zl(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):K(e.confidence)===void 0}function eu(e){return K(e.sprint)===void 0}function tu(e){return K(e.release)===void 0}function Wr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function nu(e,t,n){return[[t.acMissing,Vr(e)],[t.estimatesMissing,qr(e)],[t.resolutionMissing,Us(e,n)],[t.reviewerMissing,Jl(e)],[t.riskMissing,Ql(e)],[t.confidenceMissing,Zl(e)],[t.sprintMissing,eu(e)],[t.releaseMissing,tu(e)]].every(([r,i])=>r!==!0||i)}function ru(e,t){return Vr(e)||qr(e)||Us(e,t)}function Hs(e,t,n){return Wr(t)?!(!nu(e,t,n)||t.metadataMissing&&!ru(e,n)):!0}var Yr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function iu(e,t){switch(t){case"acceptance_criteria":return!Vr(e);case"estimated_minutes":return!qr(e);case"resolution":return K(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return K(e.parent)!==void 0}}function ou(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function su(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Ns(){let e={};for(let t of Yr)e[t]={present:0,applicable:0,percent:100};return e}function $s(e,t,n){for(let r of Yr){if(!ou(t,r,n))continue;let i=e[r];i.applicable+=1,iu(t,r)&&(i.present+=1)}}function Ps(e){for(let t of Yr){let n=e[t];n.percent=su(n.present,n.applicable)}}function i0(e,t){let n=Ns(),r={};for(let i of e){$s(n,i,t);let o=r[i.type]??(r[i.type]=Ns());$s(o,i,t)}Ps(n);for(let i of Object.values(r))Ps(i);return{overall:n,by_type:r}}var au={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function cu(e){return au[e]}function du(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function lu(e,t,n){switch(t){case"assignee":return[K(e.assignee)??null];case"parent":return[K(e.parent)??null];case"type":return[K(e.type)??null];case"status":return[K(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),i=(Array.isArray(e.tags)?e.tags:[]).filter(o=>typeof o=="string"&&o.length>0&&(!r||o.startsWith(r)));return i.length>0?i:[null]}}}function o0(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let c=n.classify(a.status);for(let d of lu(a,t,r)){let l=d??"\0empty",u=i.get(l);u||(u={label:d??cu(t),key:d,buckets:du(),total:0},i.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...i.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items:o}}(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]="67f9184e-08b6-5f21-9f92-e60974adbf1e")}catch{}})();var Ze=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Oe(e){return Array.isArray(e)&&e.length>0}function uu(e){return typeof e=="string"&&e.trim().length>0}function fu(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let n=t.command;return typeof n=="string"&&n.trim().length>0}):!1}function Gs(e,t){switch(t){case"notes":return Oe(e.notes);case"learnings":return Oe(e.learnings);case"files":return Oe(e.files);case"docs":return Oe(e.docs);case"tests":return Oe(e.tests);case"comments":return Oe(e.comments);case"deps":return Oe(e.dependencies);case"body":return uu(e.body);case"linked_command":return fu(e.tests)}}function Ks(e){return Ze.some(t=>e[t]!==void 0)}function zs(e,t){for(let n of Ze){let r=t[n];if(r===void 0)continue;let i=Gs(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Vs(e){return Ze.some(t=>t!=="body"&&e[t]!==void 0)}function qs(e){return e.body!==void 0}function Bs(e,t){return t===0?100:Math.round(e/t*1e3)/10}function mu(){let e={};for(let t of Ze)e[t]={present:0,total:0,percent:100};return e}function a0(e){let t=mu(),n=e.length;for(let s of e)for(let a of Ze)Gs(s,a)&&(t[a].present+=1);for(let s of Ze)t[s].total=n,t[s].percent=Bs(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Bs(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(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]="d638f294-7d4b-5fdc-9a86-d70c2cbdd9f4")}catch{}})();var pu=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),Ws=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],ea=e=>{let t=Ws.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new _(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,g.USAGE);return Object.fromEntries(Ws.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Ys=["priority","deadline","updated_at","created_at","title","parent"],Xs=["asc","desc"],ta=new Set(ds);function hu(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new _(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,g.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function gu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var _u=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],yu=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function na(e,t){for(let n of _u)t[n.key]===!0&&(e[n.summaryKey]=!0)}function ra(e,t){for(let n of yu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function vu(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function bu(e){let t={};return na(t,e),t}function wu(e){let t={};return ra(t,e),t}var ku=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],Eu=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Iu=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Cu="-7d";function Su(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),vu(c,n,ku),oa(c,n),n.filterAcMissing===!0&&(c.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(c.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(c.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(c.filter_metadata_missing=!0),ra(c,n),na(c,n),n.limit!==void 0&&(c.limit=n.limit),n.offset!==void 0&&(c.offset=n.offset),n.includeBody===!0&&(c.include_body=!0),n.fields!==void 0&&(c.fields=n.fields),r&&(c.tree=!0,i!==void 0&&(c.tree_depth=i)),o!==void 0&&(c.sort=o,c.order=s),gu(a)&&(c.runtime_filters=a),c}function ia(e,t,n){let r=$(e.status,n),i=$(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=C(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Tu(e,t){return[...e].sort((n,r)=>ia(n,r,t))}function Js(e,t){if(e!==void 0)return ve(e,new Date,t)}function bt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return ve(n,new Date,t)}function Ru(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(n=>n).length>1)throw new _("Choose only one updated_at window: --today, --recent, or --updated-after.",g.USAGE);if(e.today===!0){let n=new Date;return n.setHours(0,0,0,0),n.toISOString()}return e.recent===!0?bt(Cu,"recent"):bt(e.updatedAfter,"updated-after")}function oa(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function xu(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new _("--ids requires at least one non-empty item ID",g.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new _("--ids requires at least one non-empty item ID",g.USAGE);return new Set(n)}function sa(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new _("Offset filter must be a non-negative integer",g.USAGE);return n}function Du(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new _("List --fields requires a comma-separated list of field names",g.USAGE);return[...new Set(t)]}function Au(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=Du(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new _("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",g.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return i?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...Kr]}:n?{mode:"compact",fields:[...Gr]}:o?{mode:"fields",fields:[...new Set(o.map(s=>Le(s)))]}:{mode:"full",fields:[]}}function Le(e){return e.startsWith("item.")?e.slice(5):e}function Ou(e,t,n){if(e.mode!=="fields")return;let r=zr(t),i=new Set(r.map(s=>Le(s))),o=e.fields.filter(s=>!i.has(Le(s)));if(o.length>0){let s=[n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new _(`Unknown list --fields value(s): ${o.join(", ")}`,g.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:Io(s),suggested_retry_args:s}})}}var Lu=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Fu(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Lu.get(t);if(n)return n;if(!Ys.includes(t))throw new _(`Sort field must be one of ${Ys.join("|")} (aliases: updated->updated_at, created->created_at)`,g.USAGE);return t}function Mu(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Xs.includes(t))throw new _(`Sort order must be one of ${Xs.join("|")}`,g.USAGE);return t}function Nu(e){return ie(e,"--tree-depth")}function $u(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new _("Assignee filter must be one of assigned|unassigned",g.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new _(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,g.USAGE);return t}function Qs(e,t){return gs(e,t,{strict:!0})}function aa(e){return ht(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Pu(e,t,n){let r=aa(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function ju(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new _('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',g.USAGE);if(e!==void 0&&t==="unassigned")throw new _("Cannot combine --assignee with --assignee-filter unassigned",g.USAGE)}function Uu(e,t,n,r){let i=ht(t.assignee,{label:"--assignee"}),o=$u(t.assigneeFilter);ju(i,o);let s=pu(t),a=ea(t);return{idsFilter:xu(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ss(t.type,n),tagFilters:aa(t.tag),priorityFilter:Ts(t.priority),deadlineBefore:Js(t.deadlineBefore,"deadline-before"),deadlineAfter:Js(t.deadlineAfter,"deadline-after"),updatedAfter:Ru(t),updatedBefore:bt(t.updatedBefore,"updated-before"),createdAfter:bt(t.createdAfter,"created-after"),createdBefore:bt(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:ht(t.sprint,{label:"--sprint"}),releaseFilter:ht(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Wr(s),lifecycleClassifier:js(r),contentFieldFilters:a,contentFiltersActive:Ks(a)}}function Hu(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&$(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Bu(e,t){return xo(e,t)}function Gu(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Ku(e,t,n){let r=e.parent?.trim().toLowerCase(),i=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!i.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function zu(e,t,n,r,i){return!(!Hu(e,t,n)||!Bu(e,t)||!Gu(e,t)||!Ku(e,t,i)||t.missingMetadataActive&&!Hs(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!zs(e,t.contentFieldFilters)||!gn(e,r))}function Vu(e,t,n,r,i,o,s){let a=Uu(t,n,r,i);return e.filter(c=>zu(c,a,i,o,s))}function wt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Zs(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??wt(typeof i.parent=="string"?i.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${o}`}}function qu(e,t){let n=new Map,r=new Map;for(let i of e){let o=i.id.trim().toLowerCase();n.set(o,i);let s=t?t.parents_by_child.get(o)??[]:[wt(i.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=r.get(a)??[];c.push(i),r.set(a,c)}}return{byId:n,childrenByParent:r}}function Wu(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[wt(o.parent)?.toLowerCase()].filter(s=>s!==void 0)).every(s=>!n.has(s)))}function Yu(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=qu(e,r),a=Wu(e,t,o,s,r),c=[],d=new Set,l=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),u=[...a].reverse().map(f=>({node:f,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:f,depth:p,parentId:m}=u.pop(),h=f.id.trim().toLowerCase();if(d.has(h))continue;d.add(h);let y=s.get(h)??[];if(c.push(Zs(f,p,y.length,m)),!(n!==void 0&&p>=n))for(let b of[...y].reverse())u.push({node:b,depth:p+1,parentId:l.get(h)})}if(t===void 0&&n===void 0)for(let f of e){let p=f.id.trim().toLowerCase();d.has(p)||(d.add(p),c.push(Zs(f,0,s.get(p)?.length??0)))}return c}function Xu(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Ju(e,t){return e===t?0:e===null?1:t===null?-1:C(e,t)}function Qu(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return Ju(e.deadline??null,t.deadline??null);case"updated_at":return C(e.updated_at,t.updated_at);case"created_at":return C(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return Xu(e.parent??null,t.parent??null);default:return 0}}function Zu(e,t,n,r){return t?[...e].sort((i,o)=>{let s=Qu(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=ia(i,o,r);return n==="desc"?-a:a}):Tu(e,r)}function ef(e,t,n=!1){let r=Le(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function ca(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=ef(r,o,n);return i})}function tf(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function nf(e,t){if(e.noTruncate!==!0)return ie(e.limit)??(t>=1e4?20:void 0)}function rf(e,t,n){return t.after===void 0?sa(t.offset)??0:He(e,t.after,n,r=>r.id)}function da(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function of(e,t){let n=O(process.cwd(),t.path);await U(n);let r=await F(n),i=J(r.schema),o=nn(r.schema),s=e.projectionCommand??"list",a=Au(e,s);return Ou(a,tf(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:hn(e,o,"list"),typeRegistry:L(r,D()),projection:a}}async function sf(e,t,n){let r=t.projection.fields.some(c=>Le(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>ta.has(Le(c))),o=ea(e),s=Vs(o),a=qs(o);return e.includeBody||r||a?await fn(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await us(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await fe(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function af(e){let t=Fu(e.sort),n=Mu(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new _("List --tree-depth requires --tree",g.USAGE);if(!t&&e.order!==void 0)throw new _("List --order requires --sort",g.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Nu(e.treeDepth):void 0,parentRoot:r?wt(e.parent):void 0}}function cf(e,t,n){let r=Qs(t.status,n),i;t.lifecycleBucket==="in_progress"?i=[n.in_progress_status]:t.lifecycleBucket==="open"&&(i=[...n.active_statuses].filter(d=>d!==n.in_progress_status).sort((d,l)=>d.localeCompare(l)));let o=r??i??Qs(e,n),s=hs(t.status),a=r||s?{...t,excludeTerminal:!1}:t,c="all";return s?c="all":r!==void 0?c=r.length===1?r[0]:r:t.lifecycleBucket!==void 0?c=t.lifecycleBucket:o!==void 0?c=o.length===1?o[0]:o:a.excludeTerminal===!0&&(c=null),{resolvedStatus:o,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:c}}function df(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new _("List --after cannot be combined with --offset.",g.USAGE);let o=nf(t,e.length),s=rf(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=ca(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?de(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:da(o,l,u)}}function la(e,t,n,r){return Se("list",{pmRoot:r,status:e,options:Yt(t,fs),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function lf(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[n.projection.mode==="full",n.projection.fields.some(p=>{let m=Le(p);return m==="body"||ta.has(m)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,wo(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([p,m])=>m!==void 0&&!o.has(p))].includes(!0))return null;let a=await We(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!a)return null;let c=ie(t.limit),d=sa(t.offset)??0,l=await cs({pmRoot:n.pmRoot,expectedSourceCursor:a.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:d}});if(!l)return null;let u=l.items.length>0&&d+l.items.length<l.total,f=u?de(la(r.filtersStatus,t,i,n.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:ca(l.items,n.projection,!1),totalMatched:l.total,pageExtras:da(c,u,f)}}function uf(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=n;for(let u of Eu){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of Iu)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,wu(n),bu(n)),oa(d,n),r&&(d.no_truncate=!0),n.strictRead===!0&&(d.strict_read=!0),i&&(d.tree=!0,o!==void 0&&(d.tree_depth=o)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function kt(e,t,n){let r=await of(t,n),i=[],o=af(t),s=cf(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await lf({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let m=await sf(t,r,i),h=o.treeEnabled||wt(t.parent)!==void 0?Ur(As(m,z())):void 0;Pu(m,t.tag,i);let y=Vu(m,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,h?.parents_by_child),b=t.dependencyBlocked===!0?(()=>{let E=mt(m,r.statusRegistry);return y.filter(S=>E.has(S.id.trim().toLowerCase()))})():y,v=Zu(b,o.sortField,o.sortOrder,r.statusRegistry),w=o.treeEnabled?Yu(v,o.parentRoot,o.treeDepth,h,m):v;d=df(w,t,r.projection,o.treeEnabled,la(s.filtersStatus,t,o,r.pmRoot))}let l=x(),u=[...new Set(i)].sort((m,h)=>m.localeCompare(h)),f=hu(u,c!==null,t.strictRead===!0),p=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let m=Su({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:m,projection:{mode:"compact",fields:p},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:uf({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:p},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}import{createHash as ff}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 mf=64,pf=8;function hf(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let i=r;return`${typeof i.kind=="string"?i.kind:"related"}:${typeof i.id=="string"?i.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 Rn(e,t=r=>r==="closed"||r==="canceled",n=ne()){let r=e.filter(o=>typeof o?.id=="string"&&o.id.trim().length>0).map(o=>hf(o,t)).sort(),i=n.list().map(o=>k(o)).sort();return ff("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function ua(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var Xr=class{#e=new Map;#t;#n;constructor(t={}){this.#t=ua("maxResultsPerWorkspace",t.maxResultsPerWorkspace,mf),this.#n=ua("maxWorkspaces",t.maxWorkspaces,pf)}lookup(t,n,r){let i=this.#e.get(t),o=!0;(i===void 0||i.fingerprint!==n)&&(i={fingerprint:n,assembly:r(),results:new Map},o=!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,i);let s=i,a=this.#t;return{assembly:s.assembly,assemblyReused:o,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 u=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(u)),{value:u,reused:!1}}}}clear(){this.#e.clear()}},fa=new Xr;function xn(){return fa}function B0(){fa.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 gf=["prerequisite","dependent","ancestor","descendant","provenance","related"],_f=new TextEncoder;function Jr(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 Dn(e){return Math.max(1,Math.ceil(_f.encode(JSON.stringify(e)).byteLength/4))}function Qr(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function yf(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>Qr(o,n,r));return[...new Set(i)].sort()}function vf(e){return gf.find(t=>e.includes(t))}function bf(e,t,n,r){let i=r.direction??"both",o=r.maxDepth??3;if(!Number.isInteger(o)||o<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 u=0;u<a.length;u+=1){r.signal?.throwIfAborted();let f=a[u];if(f.distance>=o&&l)continue;let p=e.neighborEdges(f.id,{direction:i,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,f.distance>=o){p.value.some(m=>!s.has(m.id))&&(l=!0);continue}for(let{id:m,edge:h}of p.value){if(s.has(m))continue;s.add(m);let y={id:m,distance:f.distance+1,via:f.id,role:Qr(h,m,n)};c.push(y),a.push(y)}}return c.sort((u,f)=>u.distance-f.distance||u.id.localeCompare(f.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function wf(e,t,n,r){let i={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},o=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of o)i[Qr(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function kf(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=r.distance===1?yf(e.rootEdges,e.rootId,r.id,e.registry):[],o={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:i.length>0?vf(i):r.role,via:r.via,reasons:i.length>0?i:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=Dn(o);if(n+s>e.tokenBudget)break;t.push(o),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 Ef(e){let t=e.options.kinds?new Set(e.options.kinds.map(o=>e.registry.require(o).kind)):void 0,n=e.graph.edges().filter(o=>{if(!e.included.has(o.source)||!e.included.has(o.target))return!1;if(t===void 0||t.has(o.kind))return!0;let s=e.registry.resolve(o.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],i=e.initialTokens;for(let o of n){if(r.length>=e.edgeLimit)break;let s=Dn(o);if(i+s>e.tokenBudget)break;r.push(o),i+=s}return{edges:r,usedTokens:i,candidateCount:n.length}}function ma(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=Jr(r.nodeLimit,20,"nodeLimit"),o=Jr(r.edgeLimit,40,"edgeLimit"),s=Jr(r.tokenBudget,1200,"tokenBudget"),a=r.registry??ne(),c=new Map(n.map(V=>[V.id,V])),d=c.get(t)??{id:t},{evidence:l=[],...u}=d,f=[...l],p=bf(e,t,a,r),{rootEdges:m,...h}=wf(e,t,a,r),y=Se("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),b=He(p.rows,r.cursor,y,({id:V})=>V),v=p.rows.slice(b),w=Dn(u)+Dn(f);if(w>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=kf({candidates:v,details:c,rootEdges:m,rootId:t,registry:a,nodeLimit:i,tokenBudget:s,initialTokens:w}),{nodes:S}=E,P=new Set([t,...S.map(({id:V})=>V)]),j=Ef({graph:e,included:P,options:r,registry:a,edgeLimit:o,tokenBudget:s,initialTokens:E.usedTokens}),{edges:M,usedTokens:Ce}=j,N=b+S.length,B=N<p.rows.length,Y=S.at(-1),X=j.candidateCount-M.length,te=p.depthTruncated||B||X>0,ae={rootId:t,...u.status===void 0?{}:{rootStatus:u.status},...h,discoveredNodes:p.rows.length,returnedNodes:S.length,returnedEdges:M.length,omittedNodes:p.rows.length-N,omittedEdges:X,evidenceCount:f.length,hasMore:B};return{root:u,summary:ae,nodes:S,edges:M,evidence:f,meta:{exact:!0,truncated:te,completeness:te?"truncated":"complete",nodeLimit:i,edgeLimit:o,tokenBudget:s,usedTokens:Ce,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-N,omittedEdges:X,...B&&Y?{nextCursor:de(y,Y.id,N-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]="620bf4e4-e6d1-5520-89e4-0859f57c7afe")}catch{}})();var If=["tree","graph","context"],Cf=["none","repeated"],Sf=["outgoing","incoming","both"],Tf=32,Rf=200,xf=400,Df=16e3;function Af(e){let t=e?.trim().toLowerCase()??"tree";if(If.includes(t))return t;throw new _(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,g.USAGE)}function he(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new _(`Invalid --${t} value "${e}". Use a positive integer.`,g.USAGE);return n}function An(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new _(`Invalid --max-depth value "${e}". Use a non-negative integer.`,g.USAGE);return t}function Of(e){let t=e?.trim().toLowerCase()??"none";if(Cf.includes(t))return t;throw new _(`Invalid --collapse value "${e}". Use "none" or "repeated".`,g.USAGE)}function ei(e){let t=e?.trim().toLowerCase()??"both";if(Sf.includes(t))return t;throw new _(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,g.USAGE)}function ti(e,t=ne()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(i=>i.split(",")).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)return;let r=new Set;for(let i of n){let o=t.resolve(i);if(!o){let s=t.list().map(a=>a.kind).join(", ");throw new _(`Invalid --kind value "${i}". Registered kinds: ${s}.`,g.USAGE)}r.add(o.kind)}return[...r].sort()}function Lf(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:i})=>({id:r.trim(),kind:i.trim().toLowerCase()})).sort((r,i)=>{let o=r.kind.localeCompare(i.kind);return o!==0?o:r.id.localeCompare(i.id)}),n=new Map;for(let r of t){let i=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(i)||n.set(i,{id:r.id,kind:r.kind})}return[...n.values()]}function Ff(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Lf(e.dependencies)}}function Mf(e){return Xt(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Nf(e,t,n,r,i,o,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(ha(d.id,n,r,i,o,s,a,c+1,d.kind))}}function $f(e,t,n,r,i,o,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):i==="repeated"&&o.has(n)?(e.collapsed=!0,!0):!1}function ha(e,t,n,r,i,o,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),u={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+=Mf(u),$f(u,l,d,r,i,o,s,a))return u;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),Nf(u,l,t,f,r,i,o,s,a),u}function pa(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 Pf(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,pa(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,pa(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 i=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),o=[...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=i.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:i,edges:o,missing_ids:s}}function ga(e,t,n){let r=new Set,i=new Set,o=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 u=t.get(l);if(!u){o.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let f of u.dependencies)i.add(`${l}::${f.id.trim().toLowerCase()}::${f.kind}`),a.push({id:f.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:i.size,edge_basis:"deduplicated_directed",missing_count:o.size}}function jf(e,t=ne()){let n=An(e.maxDepth),r=he(e.nodeLimit,"node-limit"),i=he(e.edgeLimit,"edge-limit"),o=he(e.tokenBudget,"token-budget"),s=ti(e.kind,t);return{direction:ei(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...i===void 0?{}:{edgeLimit:i},...o===void 0?{}:{tokenBudget:o},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Uf(e,t,n,r){return ma(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function Zr(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function Hf(e,t,n,r){let i=await ue(e,t,n.id_prefix,n.item_format,r);if(!i)return[];let{document:o}=await Te(i,{schema:n.schema}),s=o.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(([,f])=>f===0))return[];let u=[`linked:${l.map(([f,p])=>`${f}=${p}`).join(",")}`];return Zr(u,"file",a.map(f=>f.path),3),Zr(u,"test",c.map(f=>f.command??f.path),2),Zr(u,"doc",d.map(f=>f.path),2),u}function Bf(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:i,referenceLimit:o,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:i.length,...s?{}:{missing_references:i.slice(0,o),context:n}}}function Gf(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:i,registry:o}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(i===void 0)return!0;let s=o.resolve(t.kind);return s!==void 0&&(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))}function _a(e,t,n){let r;for(;;){let i=Xt(new TextEncoder().encode(Cr(kr("deps",e),t)).byteLength);if(i===r)return i;n(i),r=i}}function Kf(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function zf(e){try{return Uf(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Kf(t))return e.smallestResult;throw t}}function Vf(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:a,missingReferences:c}=e,d=r.edgeLimit??40,l=r.tokenBudget,u,f;for(;;){let p=zf({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:l,rootEvidence:i,smallestResult:f});if("format"in p)return p;let m=p;u??=m.meta.tokenBudget,l??=u;let h=Bf({canonicalId:n,context:m,missingCount:a,missingReferences:c,referenceLimit:d,summaryOnly:o});if(f=h,o||(m.meta.tokenBudget=u,m.meta.usedTokens=_a(et(h,!1),s,v=>{m.meta.usedTokens=v}),m.meta.usedTokens<=u))return h;if(d>0){d-=1;continue}let y=l,b=y*u/m.meta.usedTokens;l=Math.min(y-1,Math.max(1,Math.floor(b*.9)))}}function qf(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:i,summaryOnly:o,outputFormat:s}=e,a=jf(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(h=>t.missingIdSet.has(h.toLowerCase())),l=new Set(d.map(h=>h.toLowerCase())),u=t.graph.registry(),f=a.kinds?new Set(a.kinds.map(h=>u.require(h).kind)):void 0,p=new Set([n,...c.value]),m=[...t.dangling.active,...t.dangling.legacy_terminal].filter(h=>Gf({row:h,missingReachableSet:l,packetIds:p,filteredKinds:f,registry:u}));return Vf({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:d.length,missingReferences:m})}function Wf(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 Yf(e,t,n,r,i,o,s){let a=i??Tf,c=he(n.nodeLimit,"node-limit")??Rf,d=he(n.edgeLimit,"edge-limit")??xf,l=he(n.tokenBudget,"token-budget")??Df,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=ha(e,r,new Set,a,t==="graph"?"repeated":o,new Set,u),p=ga(e,r,void 0),m;for(;;){let h=Pf(f),y=u.reasons.size===0?void 0:{reasons:[...u.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-h.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-h.edges.length)},b={id:e,format:t,node_count:h.nodes.length,edge_count:h.edges.length,edge_basis:"deduplicated_directed",missing_count:h.missing_ids.length,...y?{truncation:y}:{}};if(m=t==="tree"?{...b,tree:f}:{...b,graph:h},(m.truncation===void 0?Xt(new TextEncoder().encode(Cr(kr("deps",et(m,!1)),s)).byteLength):_a(et(m,!1),s,v=>{m.truncation.estimated_tokens=v}))<=l)return m;if(!Wf(f))return u.reasons.add("token_budget"),m;u.reasons.add("token_budget")}}function et(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 lk(e,t,n){let r=O(process.cwd(),n.path);await U(r);let i=Af(t.format),o=An(t.maxDepth),s=Of(t.collapse);Wt(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await F(r),d=L(c,D()),l=await fe(r,c.item_format,d.type_to_folder,void 0,c.schema),u=J(c.schema),f=new Map(l.map(m=>[m.id.trim().toLowerCase(),Ff(m)])),p=Br(l,m=>$(m,u));for(let m of[...p.active,...p.legacy_terminal]){let h=f.get(m.holder_id.trim().toLowerCase()),y=m.kind.trim().toLowerCase();h&&!h.dependencies.some(b=>b.id.trim().toLowerCase()===m.target_id.trim().toLowerCase()&&b.kind===y)&&h.dependencies.push({id:m.target_id,kind:y})}if(!f.has(e.trim().toLowerCase()))throw new _(`Item ${e} not found`,g.NOT_FOUND);if(i==="context"){let m=f.get(e.trim().toLowerCase()).id,h=a?[]:await Hf(r,m,c,d.type_to_folder),y=w=>$(w,u),b=z(),v=xn().lookup(r,Rn(l,y,b),()=>Qe(l,y,b));return et(qf({assembly:v.assembly,canonicalId:m,options:t,rootEvidence:h,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,v.assembly.legacyAliasCounts)}return a?et({id:e,format:i,...ga(e,f,o)},!0,Object.fromEntries(Object.entries(Qe(l,m=>$(m,u)).legacyAliasCounts))):et(Yf(e,i,t,f,o,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(Qe(l,m=>$(m,u)).legacyAliasCounts)))}(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]="f60c628a-2e42-5770-a001-39cce5f92595")}catch{}})();var Xf=ke.paths,Jf=ke.visited_paths,Qf=ke.path_depth;function ni(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function On(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function Et(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function tt(e,t){let n=Et(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function Zf(e,t,n){if(t===void 0)return;let r=e.registry(),i=new Set;for(let o of t){let s=r.require(o),a=s.traversal;if(a==="association")throw new TypeError(`Relationship kind ${s.kind} uses association traversal; use graph impact --direction both`);if(a!==n&&a!=="semantic"){let c=a==="hierarchy"?"graph ancestors or graph descendants":"graph predecessors or graph successors";throw new TypeError(`Relationship kind ${s.kind} uses ${a} traversal; use ${c}`)}i.add(s.kind)}return i}function em(e,t,n,r,i){let o=e.registry(),s=e.neighborEdges(t,{direction:"both",...n===void 0?{}:{kinds:[...n]}}),a=[],c=new Set;for(let d of s.value){let l=o.require(d.edge.kind);n===void 0&&!l[r]||i(d,l,t)&&(c.has(d.id)||(c.add(d.id),a.push(d.id)))}return{neighbors:a,inspectedEdges:s.meta.inspectedEdges}}function tm(e,t,n,r,i,o){if(t>=n)return e.neighbors.some(s=>!o.seen.has(s))&&(o.truncated=!0),!1;for(let s of e.neighbors)if(!o.seen.has(s)){if(o.seen.add(s),o.queue.push({id:s,depth:t+1}),!o.resumed){s===i&&(o.resumed=!0);continue}if(o.value.length>=r)return o.truncated=!0,!0;o.value.push(s)}return!1}function Ln(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Zf(e,n.kinds,r),s=n.limit??Number.POSITIVE_INFINITY,a=n.maxDepth??Number.POSITIVE_INFINITY,c=n.after,d={seen:new Set([t]),value:[],queue:[{id:t,depth:0}],resumed:c===void 0,truncated:!1},l=0,u=0;for(let f=0;f<d.queue.length;f+=1){n.signal?.throwIfAborted();let p=d.queue[f];l+=1;let m=em(e,p.id,o,r,i);if(u+=m.inspectedEdges,tm(m,p.depth,a,s,c,d))break}if(!d.resumed)throw new TypeError(`Traversal cursor not found in sequence: ${c}`);return{value:d.value,meta:{visitedNodes:l,inspectedEdges:u,truncated:d.truncated,nextCursor:d.value.at(-1)}}}function ya(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function va(e,t,n,r,i){let o=e.neighborEdges(t.nodes.at(-1),{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});return i.inspectedEdges+=o.meta.inspectedEdges,o.value.filter(s=>!t.nodeSet.has(s.id))}function nm(e,t,n,r,i,o,s){for(let a of va(e,t,r,i,s)){let c=[...t.nodes,a.id],d=new Set(t.nodeSet).add(a.id),l=[...t.edges,a.edge];if(a.id===n){if(s.value.push({nodes:c,edges:l,length:l.length}),s.value.length>=o)return!0}else s.queue.push({nodes:c,nodeSet:d,edges:l})}return!1}function ba(e,t,n={}){return Ln(e,t,n,"hierarchy",(r,i)=>On(r.edge,i)===r.id)}function wa(e,t,n={}){return Ln(e,t,n,"hierarchy",(r,i,o)=>On(r.edge,i)===o)}function ka(e,t,n={}){return Ln(e,t,n,"ordering",(r,i)=>Et(r.edge,i)===r.id)}function Ea(e,t,n={}){return Ln(e,t,n,"ordering",(r,i,o)=>Et(r.edge,i)===o)}function rm(e,t,n,r,i,o,s,a){let c={value:[],queue:[{nodes:[t],nodeSet:new Set([t]),edges:[]}],inspectedEdges:0},d=0,l=!1,u=i+1;for(let f=0;f<c.queue.length;f+=1){if(r.signal?.throwIfAborted(),c.value.length>=u||d>=o){l=!0;break}let p=c.queue[f];if(d+=1,p.edges.length>=s){va(e,p,r,a,c).length>0&&(l=!0);continue}if(nm(e,p,n,r,a,u,c)){l=!0;break}}return{value:c.value.slice(0,i),meta:{visitedNodes:d,inspectedEdges:c.inspectedEdges,truncated:l}}}function Ia(e,t,n,r={}){ya(e,t),ya(e,n);let i=r.maxPaths??Xf,o=r.maxVisitedPaths??Jf,s=r.maxDepth??Qf;ni("maxPaths",i),ni("maxVisitedPaths",o),ni("maxDepth",s);let a=r.direction??"outgoing";r.signal?.throwIfAborted();for(let c of r.kinds??[])e.registry().require(c);return t===n?i===0?{value:[],meta:{visitedNodes:1,inspectedEdges:0,truncated:!0}}:{value:[{nodes:[t],edges:[],length:0}],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}}:rm(e,t,n,r,i,o,s,a)}(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]="789f7451-ceb1-5e5c-b2b6-45eec49580ce")}catch{}})();var im=16,om=2,sm=8;function Fn(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function Mn(e,t,n){let r=e.registry(),i=t===void 0?void 0:new Set(t.map(o=>r.require(o).kind));for(let o of e.edges()){if(o.source===o.target)continue;let s=r.require(o.kind);i!==void 0&&!(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))||n(o,s)}}function am(e,t){let n=new Map;Mn(e,t,r=>{Ca(n,r.source,r.target),Ca(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Ca(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function cm(e,t){let n=new Map;for(let o of e){let s=t.get(o);n.set(s,(n.get(s)??0)+1)}let r,i=0;for(let[o,s]of n)(s>i||s===i&&o<r)&&(r=o,i=s);return r}function dm(e,t){let n=new Map;for(let[i,o]of e){let s=n.get(o);s===void 0?n.set(o,[i]):s.push(i)}let r=[];for(let i of n.values())i.length<t||(i.sort(),r.push({representative:i[0],size:i.length,members:i}));return r.sort((i,o)=>o.size-i.size||i.representative.localeCompare(o.representative))}function Sa(e,t={}){let n=t.maxIterations??im,r=t.minSize??om;Fn("maxIterations",n),Fn("minSize",r);let i=am(e,t.kinds),o=e.nodes(),s=new Map(o.map(u=>[u,u])),a=0,c=!1,d=0,l=0;for(;a<n&&!c;){t.signal?.throwIfAborted(),a+=1,c=!0;for(let u of o){d+=1;let f=i.get(u);if(f===void 0)continue;l+=f.length;let p=cm(f,s);p!==s.get(u)&&(s.set(u,p),c=!1)}}return{value:{communities:dm(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function Nn(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function $n(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function ri(e,t){return(t.hierarchy?On(e,t):e.source===Et(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function lm(e,t){if(t===void 0)return;let n=e.registry(),r=new Set;for(let i of t){let o=n.require(i);if(!Nn(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add($n(o))}return r}function um(e,t){let n=e.registry(),r=new Map;for(let i of e.edges()){let o=n.require(i.kind);if(!Nn(o))continue;let s=$n(o);if(t!==void 0&&!t.has(s))continue;let a=ri(i,o);if(a.from===a.to)continue;let c=r.get(s);c===void 0&&(c={adjacency:new Map,records:[]},r.set(s,c));let d=c.adjacency.get(a.from);d===void 0?c.adjacency.set(a.from,new Set([a.to])):d.add(a.to),c.records.push({...a,edge:i})}return r}function fm(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function mm(e,t,n,r){let i=[r];for(let o=n;o!==t;o=e.get(o))i.push(o);return i.push(t),i.reverse()}function pm(e,t,n,r,i,o){for(let s of e.get(n.id)??[])if(o.inspectedEdges+=1,!(n.depth===0&&s===t.to)&&!r.has(s)){if(r.set(s,n.id),s===t.to)return mm(r,t.from,n.id,s);i.push({id:s,depth:n.depth+1})}}function hm(e,t,n,r){let i=new Map([[t.from,t.from]]),o=[{id:t.from,depth:0}];for(let s=0;s<o.length;s+=1){let a=o[s];if(r.visitedNodes+=1,a.depth>=n)continue;let c=pm(e,t,a,i,o,r);if(c!==void 0)return c}}function nt(e,t={}){let n=t.maxDepth??sm;Fn("maxDepth",n),t.limit!==void 0&&Fn("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=lm(e,t.kinds),o=um(e,i),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...o.keys()].sort()){let l=o.get(d),u=fm(l);for(let f of l.records){t.signal?.throwIfAborted();let p=hm(u,f,n,a);if(p!==void 0){if(s.length>=r){c=!0;break e}s.push({edge:f.edge,witness:p})}}}return{value:s,meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:c}}}function gm(e,t,n,r,i){let o=new Set,s=[];for(let a of n){if(a.id===e||o.has(a.id))continue;if(!i.seen.has(a.id)){if(t>=r){i.truncated=!0;continue}i.seen.add(a.id),i.queue.push({id:a.id,depth:t+1})}o.add(a.id),s.push(a.id);let c=i.predecessors.get(a.id);c===void 0&&(c=new Set,i.predecessors.set(a.id,c)),c.add(e)}return s}function _m(e,t,n){let r=n.direction??"outgoing",i=n.maxDepth??Number.POSITIVE_INFINITY,o=[],s=new Map,a={seen:new Set([t]),queue:[{id:t,depth:0}],predecessors:new Map,truncated:!1},c=0;for(let d=0;d<a.queue.length;d+=1){n.signal?.throwIfAborted();let{id:l,depth:u}=a.queue[d];o.push(l);let f=e.neighborEdges(l,{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});c+=f.meta.inspectedEdges,s.set(l,gm(l,u,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function ym(e,t){let n=[],r=new Set([t]),i=[{id:t,index:0}];for(;i.length>0;){let o=i.at(-1),s=e.successors.get(o.id);if(o.index<s.length){let a=s[o.index];o.index+=1,r.has(a)||(r.add(a),i.push({id:a,index:0}))}else n.push(o.id),i.pop()}return n.reverse()}function vm(e,t,n,r){let i=e,o=t;for(;i!==o;){for(;r.get(i)>r.get(o);)i=n.get(i);for(;r.get(o)>r.get(i);)o=n.get(o)}return i}function bm(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:vm(r,i,t,n));return r}function wm(e,t,n,r,i){let o=new Map([[t,t]]),s=!0;for(;s;){s=!1;for(let a of n){if(i?.throwIfAborted(),a===t)continue;let c=bm(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function Ta(e,t,n={}){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);if(n.maxDepth!==void 0&&(!Number.isInteger(n.maxDepth)||n.maxDepth<0))throw new TypeError(`Invalid maxDepth bound: ${String(n.maxDepth)}`);let r=_m(e,t,n),i=ym(r,t),o=new Map(i.map((d,l)=>[d,l])),s=wm(r,t,i,o,n.signal),a=new Map(i.map(d=>[d,1]));for(let d=i.length-1;d>=0;d-=1){let l=i[d];if(l===t)continue;let u=s.get(l);a.set(u,a.get(u)+a.get(l))}let c=i.filter(d=>d!==t).map(d=>({id:d,idom:s.get(d),dominatedCount:a.get(d)-1})).sort((d,l)=>l.dominatedCount-d.dominatedCount||d.id.localeCompare(l.id));return{value:{root:t,reachableCount:r.order.length,rows:c},meta:{visitedNodes:r.order.length,inspectedEdges:r.inspectedEdges,truncated:r.truncated}}}(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]="3cef3a97-fda4-5811-9e69-04ff722e40a1")}catch{}})();function Ra(e){return Math.round(e*1e6)/1e6}function xa(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function Da(e,t){let n=new Map(e.nodes().map(i=>[i,new Set]));Mn(e,t,i=>{n.get(i.source).add(i.target),n.get(i.target).add(i.source)});let r=new Map;for(let[i,o]of n)r.set(i,[...o].sort());return r}function km(e,t){let n=new Map,r=new Map;return Mn(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=tt(i,o);xa(r,s,a),xa(n,a,s)}),{incoming:n,outgoing:r}}function Em(e,t,n){let r=new Map([[e,0]]),i=new Map([[e,1]]),o=new Map,s=[],a=[e],c=0,d=0;for(let l=0;l<a.length;l+=1){let u=a[l];n.visitedNodes+=1,s.push(u);let f=r.get(u);u!==e&&(c+=1,d+=f);for(let p of t.get(u))if(n.inspectedEdges+=1,r.has(p)||(r.set(p,f+1),a.push(p)),r.get(p)===f+1){i.set(p,(i.get(p)??0)+i.get(u));let m=o.get(p);m===void 0?o.set(p,[u]):m.push(u)}}return{stack:s,sigma:i,predecessors:o,reachableCount:c,distanceSum:d}}function Im(e,t,n){let r=new Map;for(let i=e.stack.length-1;i>=0;i-=1){let o=e.stack[i],s=(1+(r.get(o)??0))/e.sigma.get(o);for(let a of e.predecessors.get(o)??[])r.set(a,(r.get(a)??0)+e.sigma.get(a)*s);o!==t&&n.set(o,(n.get(o)??0)+(r.get(o)??0))}}function Cm(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function Sm(e,t,n,r,i){return{id:e,degree:t.get(e).length,inDegree:n.incoming.get(e)?.size??0,outDegree:n.outgoing.get(e)?.size??0,betweenness:Ra((r.get(e)??0)/2),closeness:Ra(i.get(e))}}function Aa(e,t={}){let n=Da(e,t.kinds),r=km(e,t.kinds),i=e.nodes(),o=new Map,s=new Map,a={visitedNodes:0,inspectedEdges:0};for(let l of i){t.signal?.throwIfAborted();let u=Em(l,n,a);s.set(l,Cm(u,i.length)),Im(u,l,o)}let c=0;for(let l of n.values())c+=l.length;let d=i.map(l=>Sm(l,n,r,o,s)).sort((l,u)=>u.betweenness-l.betweenness||u.degree-l.degree||l.id.localeCompare(u.id));return{value:{nodeCount:i.length,edgeCount:c/2,rows:d},meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:!1}}}function Tm(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function Rm(e,t,n){let r=t.get(e.node)[e.neighborIndex];if(e.neighborIndex+=1,n.inspectedEdges+=1,r!==e.parent){if(n.discovery.has(r)){n.low.set(e.node,Math.min(n.low.get(e.node),n.discovery.get(r)));return}return e.children+=1,n.discovery.set(r,n.timer),n.low.set(r,n.timer),n.timer+=1,{node:r,parent:e.node,neighborIndex:0,children:0}}}function xm(e,t,n){if(e.parent===null){e.children>1&&n.articulation.add(e.node);return}let r=e.parent,i=n.low.get(e.node);n.low.set(r,Math.min(n.low.get(r),i)),r!==t&&i>=n.discovery.get(r)&&n.articulation.add(r),i>n.discovery.get(r)&&n.bridges.push(Tm(r,e.node))}function Dm(e,t,n,r){n.discovery.set(e,n.timer),n.low.set(e,n.timer),n.timer+=1;let i=[{node:e,parent:null,neighborIndex:0,children:0}];for(;i.length>0;){r?.throwIfAborted();let o=i.at(-1);if(o.neighborIndex<t.get(o.node).length){let s=Rm(o,t,n);s!==void 0&&i.push(s)}else xm(o,e,n),i.pop()}}function Pn(e,t={}){let n=Da(e,t.kinds),r={discovery:new Map,low:new Map,timer:0,articulation:new Set,bridges:[],inspectedEdges:0};for(let i of e.nodes())r.discovery.has(i)||Dm(i,n,r,t.signal);return{value:{articulationPoints:[...r.articulation].sort(),bridges:r.bridges.sort((i,o)=>i.source.localeCompare(o.source)||i.target.localeCompare(o.target))},meta:{visitedNodes:r.discovery.size,inspectedEdges:r.inspectedEdges,truncated:!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]="32f3ce0d-64ac-5ad4-b27a-2a279718de22")}catch{}})();function Am(e){let t=e.registry(),n=new Map,r=new Set;for(let i of e.edges()){let o=t.require(i.kind);if(!o.ordering)continue;let{predecessor:s,successor:a}=tt(i,o);if(r.add(s),r.add(a),s===a)continue;let c=n.get(s);c===void 0?n.set(s,new Set([a])):c.add(a)}return{forward:n,participants:r}}function Om(e,t,n,r){if(e===void 0)return r;let i=r;for(let o of e)t.has(o)&&(i=Math.min(i,n.get(o)));return i}function Lm(e,t,n){let r=n-t;return{id:e,earliestStart:t,earliestFinish:t+1,latestStart:n,latestFinish:n+1,slack:r,critical:r===0}}function Fm(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=Om(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>Lm(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function Oa(e,t={}){t.signal?.throwIfAborted();let n=bn(e,{registry:e.registry()}),r=Am(e),i=new Set(n.order),o=n.order.filter(d=>r.participants.has(d)),s=o.reduce((d,l)=>Math.max(d,n.depth[l]+1),0),a=Fm(o,r,n.depth,i,s),c=a.length>0;return{exact:!0,acyclic:n.acyclic,makespan:s,scheduledCount:a.length,criticalPath:c?n.criticalPath:[],criticalPathLength:c?n.criticalPathLength:0,cycles:n.cycles,rows:a,provenance:{algorithm:"critical-path-method",edgeFamily:"ordering",weighting:"unit"}}}(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]="fa17672a-97a2-5f94-bdfe-9df970cc038b")}catch{}})();function Mm(e,t,n){for(let r=e.length-1;r>=0;r-=1){n?.throwIfAborted();let i=t.get(e[r]);for(let o of i.successors){n?.throwIfAborted();let s=t.get(o);if(s.latest===void 0||s.duration===void 0)continue;let a=s.latest-s.duration;(i.latest===void 0||a<i.latest)&&(i.latest=a,i.anchor=s.anchor)}}}function Nm(e,t,n,r){let i=[],o=e;for(;o!==void 0&&i.length<n;)r?.throwIfAborted(),i.push(o),o=t.get(o).predecessor;return i.reverse(),{path:i,path_truncated:o!==void 0}}function $m(e,t,n,r,i){let o=new Map(t.map(a=>[a.id,a])),s=new Map;for(let a of e){i?.throwIfAborted();let c=o.get(a),d=c?.estimated_minutes,l=typeof d=="number"&&Number.isFinite(d)&&d>=0?d:void 0,u={item:c,duration:l,pending:0,successors:new Set,earliest:0};if(c?.deadline!==void 0){let f=Date.parse(c.deadline);Number.isFinite(f)?(u.deadline=(f-n)/6e4,u.latest=u.deadline,u.anchor=a):r(a,"invalid_deadline")}s.set(a,u)}return s}function Pm(e,t,n){for(let r of e.edges()){n?.throwIfAborted();let i=e.registry().require(r.kind);if(!i.ordering)continue;let{predecessor:o,successor:s}=tt(r,i),a=t.get(o);a.successors.has(s)||(a.successors.add(s),t.get(s).pending+=1)}}function jm(e,t,n){let r=e.filter(i=>t.get(i).pending===0);for(let i=0;i<r.length;i+=1){n?.throwIfAborted();let o=r[i],s=t.get(o),a=s.earliest===null||s.duration===void 0?null:s.earliest+s.duration;for(let c of s.successors){n?.throwIfAborted();let d=t.get(c);a===null?d.earliest=null:d.earliest!==null&&(a>d.earliest||a===d.earliest&&(d.predecessor===void 0||o<d.predecessor))&&(d.earliest=a,d.predecessor=o),d.pending-=1,d.pending===0&&r.push(c)}}return r}function Um(e,t,n,r,i,o,s,a){let c=t.duration;if(t.latest!==void 0){r.scheduled_count+=1;let d=t.latest-c;r.rows.length<o?r.rows.push({id:e,deadline_id:t.anchor,latest_start:new Date(i+d*6e4).toISOString(),slack_minutes:t.earliest===null?null:d-t.earliest}):r.truncated=!0}if(t.deadline!==void 0&&t.earliest!==null&&t.earliest+c>t.deadline)if(r.overcommitted_count+=1,r.overcommitted.length<o){let d=Nm(e,n,Math.min(o,s.remaining),a);s.remaining-=d.path.length,d.path_truncated&&(r.truncated=!0),r.overcommitted.push({deadline_id:e,deadline:t.item.deadline,shortfall_minutes:t.earliest+c-t.deadline,...d})}else r.truncated=!0}function Hm(e,t,n,r,i,o,s,a){let c={remaining:o};for(let d of e){a?.throwIfAborted();let l=t.get(d);if(l.pending>0){s(d,"cycle_or_gated_by_cycle");continue}if(l.duration===void 0){s(d,"unknown_estimate");continue}if(l.latest!==void 0&&!Number.isFinite(new Date(r+(l.latest-l.duration)*6e4).getTime())){s(d,"date_range_exceeded");continue}l.earliest===null&&s(d,"unknown_predecessor_estimate"),Um(d,l,t,n,r,i,c,a)}}function La(e,t,n={}){n.signal?.throwIfAborted();let r=Date.parse(n.now??new Date().toISOString());if(!Number.isFinite(r))throw new TypeError("Invalid scheduling clock");let i=n.maxWork??1e5,o=n.limit??10;for(let[f,p]of[["maxWork",i],["limit",o]])if(!Number.isSafeInteger(p)||p<1)throw new TypeError(`Invalid scheduling ${f}`);let s={as_of:new Date(r).toISOString(),basis:"derived_elapsed_minutes",complete:!0,truncated:!1,work_limit_exceeded:!1,scheduled_count:0,residual_count:0,overcommitted_count:0,rows:[],residuals:[],overcommitted:[]},a=e.nodes(),c=e.edges();if(a.length+c.length+t.length>i)return{...s,complete:!1,work_limit_exceeded:!0};let d=(f,p)=>{s.complete=!1,s.residual_count+=1,s.residuals.length<o?s.residuals.push({id:f,reason:p}):s.truncated=!0},l=$m(a,t,r,d,n.signal);Pm(e,l,n.signal);let u=jm(a,l,n.signal);return Mm(u,l,n.signal),Hm(a,l,s,r,o,i,d,n.signal),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]="ccb7d865-8baa-5379-a810-7be494eadcb1")}catch{}})();function rt(){return{nodes:0,isolated:0,degree_leq_one:0,semantic_nodes:0,without_semantic_edges:0,degree_histogram:{}}}function Na(e,t,n,r){let i={all:rt(),active:rt(),terminal:rt()},o=new Map;for(let s of e.details){if(r?.throwIfAborted(),e.missingIdSet.has(s.id.toLowerCase())||s.status==="external")continue;let a=o.get(s.status)??rt();o.set(s.status,a);let c=e.graph.incidentEdges(s.id),d=c.some(l=>n(l.kind));for(let l of[i.all,i[t(s.status)?"terminal":"active"],a]){l.nodes+=1,l.isolated+=+(c.length===0),c.length<=1&&(l.degree_leq_one+=1),d?l.semantic_nodes+=1:l.without_semantic_edges+=1;let u=String(c.length);l.degree_histogram[u]=(l.degree_histogram[u]??0)+1}}return{coverage_by_lifecycle:i,coverage_by_status:Object.fromEntries([...o].sort(([s],[a])=>s.localeCompare(a)))}}function Fa(e){if(!jn(e))return!1;let t=e;if(!["nodes","isolated","degree_leq_one","semantic_nodes","without_semantic_edges"].every(r=>Number.isSafeInteger(t[r])&&Number(t[r])>=0)||!jn(t.degree_histogram))return!1;let n=Object.entries(t.degree_histogram);return n.every(([r,i])=>/^(0|[1-9]\d*)$/.test(r)&&Number.isSafeInteger(i)&&Number(i)>=0)&&n.reduce((r,[,i])=>r+Number(i),0)===t.nodes&&Number(t.isolated)<=Number(t.degree_leq_one)&&Number(t.degree_leq_one)<=Number(t.nodes)&&Number(t.semantic_nodes)+Number(t.without_semantic_edges)===t.nodes}function jn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $a(e){for(let r of["ordering_acyclic","active_ordering_acyclic"])if(e[r]!==void 0&&typeof e[r]!="boolean")return!1;let t=e.coverage_by_lifecycle,n=e.coverage_by_status;return t===void 0&&n===void 0?!0:!jn(t)||!jn(n)?!1:["all","active","terminal"].every(r=>Fa(t[r]))&&Object.values(n).every(Fa)}function Ma(e,t){return Object.fromEntries([...new Set([...Object.keys(e),...Object.keys(t)])].sort().map(n=>{let r=Object.hasOwn(e,n)?e[n]:rt(),i=Object.hasOwn(t,n)?t[n]:rt(),o=Object.fromEntries([...new Set([...Object.keys(r.degree_histogram),...Object.keys(i.degree_histogram)])].sort().map(s=>[s,(i.degree_histogram[s]??0)-(r.degree_histogram[s]??0)]));return[n,{nodes:i.nodes-r.nodes,isolated:i.isolated-r.isolated,degree_leq_one:i.degree_leq_one-r.degree_leq_one,semantic_nodes:i.semantic_nodes-r.semantic_nodes,without_semantic_edges:i.without_semantic_edges-r.without_semantic_edges,degree_histogram:o}]}))}function Pa(e,t){return!e.coverage_by_lifecycle||!t.coverage_by_lifecycle||!e.coverage_by_status||!t.coverage_by_status?{lifecycle_comparable:!1}:{lifecycle_comparable:!0,coverage_by_lifecycle:Ma(e.coverage_by_lifecycle,t.coverage_by_lifecycle),coverage_by_status:Ma(e.coverage_by_status,t.coverage_by_status)}}(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]="896e1553-b127-532f-ac39-e0d47f29eebc")}catch{}})();var it=["missing_reference_active","missing_reference_terminal","legacy_no_blocker_sentinel","ordering_cycle","legacy_ordering_cycle","ordering_storage_contradiction","legacy_ordering_storage_contradiction","hierarchy_cycle","legacy_hierarchy_cycle","hierarchy_cardinality_violation","legacy_hierarchy_cardinality_violation","hierarchy_direction_violation","legacy_hierarchy_direction_violation","duplicate_edge","legacy_duplicate_edge","duplicate_dependency_row","legacy_duplicate_dependency_row","stale_lifecycle_block","isolated_active_node","sparse_active_node"];(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]="34b2e83e-f6a1-57e7-84ee-4ad83acb2e19")}catch{}})();var Bm=25,Gm="milestone",Km="outcome milestone:",zm=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Un(e){return zm.has(e)}var ja={error:0,warning:1,info:2};function Ua(e){return new Set((e??[]).filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()))}function ot(e,t,n,r,i,o,s,a){let c=[...i].sort((d,l)=>d.localeCompare(l));return{code:e,severity:t,policy:n,message:r(c.length),count:c.length,sample:c.slice(0,o),sample_truncated:c.length>o,remediation:s,...a===void 0?{}:{evidence:[...a].sort((d,l)=>d.localeCompare(l)).slice(0,o)}}}function Vm(e,t){return e.cycles.map(n=>ot(n.legacy_terminal?"legacy_hierarchy_cycle":"hierarchy_cycle",n.legacy_terminal?"info":"error","Structural hierarchy must be acyclic across scalar and registered dependency relationships.",r=>`${r} items participate in one hierarchy cycle.`,n.item_ids,t,n.legacy_terminal?"Preserve historical rows unless an explicit legacy repair is approved.":"Remove or retype one exact hierarchy relation before continuing mutation."))}function Ha(e,t,n){let r=e.cardinality_violations.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[ot(n?"legacy_hierarchy_cardinality_violation":"hierarchy_cardinality_violation",n?"info":"error","Every structural child must resolve to at most one logical parent across all hierarchy spellings.",i=>`${i} child item${i===1?"":"s"} resolve to multiple hierarchy parents.`,r.map(i=>i.child_id),t,n?"Preserve historical rows unless an explicit legacy repair is approved.":"Remove the exact surplus hierarchy rows so each child has one parent.",r.map(i=>`${i.child_id} <- ${i.parent_ids.join(", ")}`))]}function Ba(e,t,n){let r=e.divergences.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[ot(n?"legacy_hierarchy_direction_violation":"hierarchy_direction_violation",n?"info":"error","Scalar parent metadata and dependency-backed hierarchy rows must resolve to the same logical parent.",i=>`${i} child item${i===1?"":"s"} have divergent hierarchy storage surfaces.`,r.map(i=>i.child_id),t,n?"Preserve historical rows unless an explicit legacy repair is approved.":"Align the scalar parent and exact dependency rows to one canonical parent.",r.map(i=>`${i.child_id}: scalar=${i.scalar_parent_id} dependencies=${i.dependency_parent_ids.join(",")}`))]}function qm(e,t){let n=Tn(e);return n?[...Vm(n,t),...Ha(n,t,!1),...Ha(n,t,!0),...Ba(n,t,!1),...Ba(n,t,!0)]:[]}function Wm(e){let t=e.graph.registry(),n=new Map;for(let r of e.graph.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let[o,s]=(i.precedence??"source_before_target")==="target_before_source"?[r.target,r.source]:[r.source,r.target],a=n.get(o);a?a.push(s):n.set(o,[s])}for(let r of n.values())r.sort((i,o)=>i.localeCompare(o));return n}function Ka(e,t){t.indexes.set(e,t.nextIndex),t.lowLinks.set(e,t.nextIndex),t.nextIndex+=1,t.stack.push(e),t.onStack.add(e)}function Ym(e,t,n,r){let i=n.get(e.node)??[];if(e.neighborIndex>=i.length)return!1;let o=i[e.neighborIndex];return e.neighborIndex+=1,r.indexes.has(o)?r.onStack.has(o)&&r.lowLinks.set(e.node,Math.min(r.lowLinks.get(e.node),r.indexes.get(o))):(Ka(o,r),t.push({node:o,neighborIndex:0})),!0}function Xm(e,t,n,r){t.pop();let i=t.at(-1);if(i&&r.lowLinks.set(i.node,Math.min(r.lowLinks.get(i.node),r.lowLinks.get(e.node))),r.lowLinks.get(e.node)!==r.indexes.get(e.node))return;let o=[];for(;;){let s=r.stack.pop();if(r.onStack.delete(s),o.push(s),s===e.node)break}(o.length>1||o.length===1&&n.get(o[0])?.includes(o[0]))&&r.components.push(o.sort((s,a)=>s.localeCompare(a)))}function Jm(e){let t={indexes:new Map,lowLinks:new Map,onStack:new Set,stack:[],components:[],nextIndex:0},n=[...e.keys()].sort((r,i)=>r.localeCompare(i));for(let r of n){if(t.indexes.has(r))continue;let i=[{node:r,neighborIndex:0}];for(Ka(r,t);i.length>0;){let o=i.at(-1);Ym(o,i,e,t)||Xm(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function ii(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function ee(e,t,n,r,i,o,s,a){t.length!==0&&e.push(ot(r,i,o,s,t,n,a))}function Qm(e,t,n){let r=[],i=[...e.dangling.active,...e.dangling.legacy_terminal].filter(o=>!o.no_active_blocker_sentinel);return ee(r,i.filter(o=>!t(o.holder_status)).map(ii),n,"missing_reference_active","error","Active items must not reference absent targets; missing prerequisites distort scheduling.",o=>`${o} active dangling reference(s) to absent items`,"Restore or re-create the referenced item, or remove/retype the reference on the holder."),ee(r,i.filter(o=>t(o.holder_status)).map(ii),n,"missing_reference_terminal","info","Terminal items may retain historical references, but absent targets remain unexplainable context.",o=>`${o} terminal dangling reference(s) to absent items`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),ee(r,e.dangling.no_active_blocker_sentinels.map(ii),n,"legacy_no_blocker_sentinel","info","The pre-structured-dependency no-active-blocker sentinel is retired; real edges carry blocker state.",o=>`${o} legacy no-active-blocker sentinel reference(s)`,"Delete the sentinel reference; blocker state is derived from blocked_by edges."),r}function si(e,t){let n=t.get(e);return n?!n.terminal:!0}function za(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function Zm(e,t){let n=[],r=[];for(let o of e.orderingContradictions??[])(o.legacy_terminal?r:n).push(za(o));let i=[];return ee(i,n,t,"ordering_storage_contradiction","error","A scalar blocker and same-target structured ordering row must not assert opposite precedence.",o=>`${o} active scalar-versus-structured ordering contradiction(s)`,"Remove the structured dependency row that points the holder before its scalar blocker, or replace both representations with one unambiguous ordering edge."),ee(i,r,t,"legacy_ordering_storage_contradiction","info","Terminal scalar-versus-structured ordering contradictions are exact historical storage defects with no live scheduling effect.",o=>`${o} terminal scalar-versus-structured ordering contradiction(s)`,"Remove the contradictory blocks dependency row in a dedicated changelog-safe closed-item batch; preserve the scalar blocker as the historical precedence record."),i}function ep(e,t,n,r){let i=[],o=Wm(e);for(let c of Jm(o)){let d=c.some(f=>si(f,t)),l=new Set(c.map(f=>f.toLowerCase())),u=(e.orderingContradictions??[]).filter(f=>l.has(f.holder_id.toLowerCase())&&l.has(f.target_id.toLowerCase())).map(za);i.push(d?ot("ordering_cycle","error","Order-bearing relationship kinds must stay acyclic; a cycle makes every member unschedulable.",f=>`execution-order cycle across ${f} item(s)`,c,r,"Remove or retype one ordering edge inside the cycle, or split the work so precedence is linear.",u.length===0?void 0:u):ot("legacy_ordering_cycle","info","Ordering cycles between exclusively terminal items are historical contradictions with no scheduling effect.",f=>`terminal-only execution-order cycle across ${f} item(s)`,c,r,"Leave as history debt, or clean up in a dedicated changelog-safe closed-item batch; never repair closed items ad hoc.",u.length===0?void 0:u))}let s=new Map;for(let[c,d]of o)for(let l of d){let u=s.get(l);u?u.push(c):s.set(l,[c])}let a=[...t.values()].filter(c=>!c.missing&&!c.terminal&&n(c.status)&&!(s.get(c.id)??[]).some(d=>{let l=t.get(d);return l===void 0||!l.terminal})).map(c=>c.id);return ee(i,a,r,"stale_lifecycle_block","warning","A blocked lifecycle status must be backed by at least one open ordering predecessor.",c=>`${c} status-blocked item(s) with no open blocker edge`,'Add a local blocker edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status.'),i}function Hn(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function ai(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!Nn(o))continue;let s=ri(i,o);if(s.from===s.to)continue;let a=`${$n(o)}::${s.from}::${s.to}`,c=n.get(a);c?c.edges.push(i):n.set(a,{...s,edges:[i]})}let r=[...n.values()].filter(i=>i.edges.length>=2);for(let i of r)i.edges.sort((o,s)=>o.kind.localeCompare(s.kind));return r.sort((i,o)=>i.from.localeCompare(o.from)||i.to.localeCompare(o.to))}function tp(e,t,n){let r=[],i=[];for(let s of ai(e))(si(s.from,t)||si(s.to,t)?r:i).push(Hn(s));let o=[];return ee(o,r,n,"duplicate_edge","info","One semantic relationship should be stored once; parallel same-family spellings (reciprocal inverse pairs included) add no information and skew degree metrics.",s=>`${s} duplicated relationship(s) between active endpoints`,"Remove all but one stored spelling of the relationship; keep the canonical direction the holder declared first."),ee(o,i,n,"legacy_duplicate_edge","info","Duplicated spellings between exclusively terminal items are historical noise with no scheduling effect.",s=>`${s} duplicated relationship(s) between terminal endpoints`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),o}function np(e,t){let n=[],r=[];for(let o of e.duplicateRows??[])(o.legacy_terminal?r:n).push(`${o.holder_id} -> ${o.target_id} (${o.kind} x${o.occurrences})`);let i=[];return ee(i,n,t,"duplicate_dependency_row","warning","One dependency row must be stored once per holder; identical repeated rows are a storage-layer defect invisible to the assembled graph.",o=>`${o} exactly duplicated stored dependency row(s) on active holder(s)`,"Remove the repeated rows so the dependency is stored exactly once; graph semantics are unchanged."),ee(i,r,t,"legacy_duplicate_dependency_row","info","Identical repeated dependency rows on terminal holders are historical storage noise with no scheduling effect.",o=>`${o} exactly duplicated stored dependency row(s) on terminal holder(s)`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),i}function rp(e,t){let n=new Map,r={source_to_target:[],target_to_source:[],both:[]};for(let s of e.graph.registry().list())s.outcomeTraversal!==void 0&&r[s.outcomeTraversal].push(s.kind);let i={source_to_target:r.source_to_target.join(","),target_to_source:r.target_to_source.join(","),both:r.both.join(",")},o=(s,a)=>{let c=n.get(a)??new Set;c.add(s),n.set(a,c)};for(let s of e.graph.edges()){t?.throwIfAborted();let a=e.graph.registry().require(s.kind);(a.outcomeTraversal==="source_to_target"||a.outcomeTraversal==="both")&&o(s.source,s.target),(a.outcomeTraversal==="target_to_source"||a.outcomeTraversal==="both")&&o(s.target,s.source)}return{basis:i,reverse:n}}function ip(e,t,n){let r=new Set(e),i=[...e].sort();for(let o=0;o<i.length;o+=1){n?.throwIfAborted();for(let s of[...t.get(i[o])??[]].sort())r.has(s)||(r.add(s),i.push(s))}return r}function op(e,t,n,r){let i=0,o=0,s=0,a=0;for(let p of e.values())if(r?.throwIfAborted(),!t.has(p.id)&&!(p.missing||p.status==="external")){if(p.terminal){s+=1,n.has(p.id)&&(a+=1);continue}n.has(p.id)?i+=1:o+=1}let c=i+o,d=s-a,l=i+a,u=o+d,f=l+u;return{active_outcome_reachable_nodes:i,active_outcome_unreachable_nodes:o,active_outcome_reachability_basis_points:c===0?0:Math.floor(i*1e4/c),terminal_nodes:s,terminal_outcome_reachable_nodes:a,terminal_outcome_unreachable_nodes:d,terminal_outcome_reachability_basis_points:s===0?0:Math.floor(a*1e4/s),outcome_reachable_nodes:l,outcome_unreachable_nodes:u,outcome_reachability_basis_points:f===0?0:Math.floor(l*1e4/f)}}function sp(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===Gm&&a.title.trim().toLowerCase().startsWith(Km)).map(a=>a.id)),{basis:i,reverse:o}=rp(e,n),s=ip(r,o,n);return{outcome_nodes:r.size,outcome_reachability_basis:i,...op(t,r,s,n)}}function ap(e,t,n,r,i){e.active+=1;let o=t.type??"(untyped)",s=e.byType.get(o);s||(s={active:0,isolated:0,degree_leq_one:0},e.byType.set(o,s)),s.active+=1,!(n>1)&&(e.degreeLeqOne+=1,s.degree_leq_one+=1,n===0&&(e.isolated+=1,s.isolated+=1),!(r.has(t.id.toLowerCase())||i.has(o.toLowerCase()))&&(n===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function cp(e,t,n,r,i,o,s){let a={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let v of e.graph.nodes()){s?.throwIfAborted();let w=t.get(v);if(w){if(w.missing){a.missing+=1;continue}w.terminal||ap(a,w,e.graph.incidentEdges(v).length,n,r)}}let{isolates:c,sparse:d}=a,l=[];ee(l,c,i,"isolated_active_node","warning","Active work should be reachable from the graph unless explicitly declared a valid isolate.",v=>`${v} active item(s) with no relationships`,"Link the item to its parent, prerequisite, or origin \u2014 or register it as an exempt isolate."),ee(l,d,i,"sparse_active_node","info","Active items with a single edge often miss an honest semantic partner; sparse is not automatically defective.",v=>`${v} active item(s) with exactly one relationship`,"Investigate for an honest second edge (story->task, defect family, cross-epic complement); do not fabricate one.");let u=e.graph.edges().length,f=nt(e.graph,{signal:s}).value,p=new Set(f.map(({edge:v})=>`${v.source.toLowerCase()}\0${v.target.toLowerCase()}\0${v.kind}`));for(let v of e.orderingContradictions??[])p.add(`${v.holder_id.toLowerCase()}\0${v.target_id.toLowerCase()}\0${v.dependency_kind}`);let m=Object.fromEntries(Object.entries(o).sort(([v],[w])=>v.localeCompare(w))),h=Object.entries(m).reduce((v,[w,E])=>v+(Un(w)?E:0),0),y=Pn(e.graph,{signal:s}).value,b=sp(e,t,s);return{findings:l,profile:{nodes:e.graph.nodes().length,recorded_nodes:e.details.filter(v=>v.status!=="missing"&&v.status!=="external").length,edges:u,informative_edges:u-p.size,redundant_edges:f.length,ordering_contradiction_edges:e.orderingContradictions?.length??0,edge_basis:"deduplicated_directed",edges_by_kind:m,edge_share_by_kind:Object.fromEntries(Object.entries(m).map(([v,w])=>[v,w/u])),semantic_edges:h,semantic_edge_share:u===0?0:h/u,active_nodes:a.active,missing_nodes:a.missing,isolated_active_nodes:a.isolated,degree_leq_one_active_nodes:a.degreeLeqOne,coverage_by_type:Object.fromEntries([...a.byType.entries()].sort(([v],[w])=>v<w?-1:1)),articulation_points:y.articulationPoints.length,bridge_edges:y.bridges.length,...b,finding_subjects_by_code:Object.fromEntries(it.map(v=>[v,0]))}}}function Bn(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??Bm;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=Ua(t.exemptIsolates),s=Ua(t.isolateExemptTypes),a=new Map(e.details.map(f=>[f.id,{id:f.id,status:f.status,missing:e.missingIdSet.has(f.id.toLowerCase()),terminal:n(f.status),...f.type===void 0?{}:{type:f.type}}]));t.signal?.throwIfAborted();let c={};for(let f of e.graph.edges())c[f.kind]=(c[f.kind]??0)+1;let d=Qm(e,n,i);d.push(...qm(e,i)),t.signal?.throwIfAborted(),d.push(...Zm(e,i)),t.signal?.throwIfAborted(),d.push(...ep(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...tp(e,a,i),...np(e,i)),t.signal?.throwIfAborted();let l=cp(e,a,o,s,i,c,t.signal);d.push(...l.findings),d.sort((f,p)=>ja[f.severity]-ja[p.severity]||f.code.localeCompare(p.code)||f.sample[0].localeCompare(p.sample[0]));let u=l.profile.finding_subjects_by_code;for(let f of d)u[f.code]+=f.count;return{findings:d,profile:{...l.profile,...Na(e,n,Un,t.signal),ordering_acyclic:!d.some(f=>f.code==="ordering_cycle"||f.code==="legacy_ordering_cycle"),active_ordering_acyclic:!d.some(f=>f.code==="ordering_cycle"),finding_subjects_by_code:u}}}function oi(e,t){let n=[...new Set([...Object.keys(e),...Object.keys(t)])].sort(),r={};for(let i of n){let o=(t[i]??0)-(e[i]??0);o!==0&&(r[i]=o)}return r}function Ga(e){return e.profile.coverage_by_type??{}}function dp(e,t){let n={},r=Ga(e),i=Ga(t),o=[...new Set([...Object.keys(r),...Object.keys(i)])].sort();for(let s of o){let a=Object.assign({active:0,isolated:0,degree_leq_one:0},r[s]),c=Object.assign({active:0,isolated:0,degree_leq_one:0},i[s]),d={active:c.active-a.active,isolated:c.isolated-a.isolated,degree_leq_one:c.degree_leq_one-a.degree_leq_one};Object.values(d).some(l=>l!==0)&&(n[s]=d)}return n}function Va(e,t){let n=dp(e,t),{edge_share_by_kind:r={},semantic_edges:i=0,semantic_edge_share:o=0}=e.profile,{edge_share_by_kind:s={},semantic_edges:a=0,semantic_edge_share:c=0}=t.profile,d=e.profile.recorded_nodes??e.profile.nodes,l=t.profile.recorded_nodes??t.profile.nodes,u=e.profile.informative_edges??e.profile.edges,f=t.profile.informative_edges??t.profile.edges,p=e.profile.redundant_edges??0,m=t.profile.redundant_edges??0,h=e.profile.ordering_contradiction_edges??0,y=t.profile.ordering_contradiction_edges??0;return{baseline_saved_at:e.saved_at,same_snapshot:e.fingerprint===t.fingerprint,affected_subjects_by_code:oi(e.affected_subjects_by_code,t.affected_subjects_by_code),profile:{nodes:t.profile.nodes-e.profile.nodes,recorded_nodes:l-d,edges:t.profile.edges-e.profile.edges,informative_edges:f-u,redundant_edges:m-p,ordering_contradiction_edges:y-h,active_nodes:t.profile.active_nodes-e.profile.active_nodes,missing_nodes:t.profile.missing_nodes-e.profile.missing_nodes,isolated_active_nodes:t.profile.isolated_active_nodes-e.profile.isolated_active_nodes,degree_leq_one_active_nodes:t.profile.degree_leq_one_active_nodes-e.profile.degree_leq_one_active_nodes,edges_by_kind:oi(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:oi(r,s),semantic_edges:a-i,semantic_edge_share:c-o,coverage_by_type:n,...Pa(e.profile,t.profile)}}}import qa 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]="e5089f2d-3fc5-5843-95ab-ba3dd2ab9582")}catch{}})();var Wa=2,ci=500,lp=64,up="graph-durable-cache";function Ya(e){return Be(e,up,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Ct(e){return qa.join(e,"runtime","graph-cache.json")}function Xa(e){return qa.join(e,"runtime","graph-audit-baseline.json")}function di(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==Wa||typeof t.fingerprint!="string"||typeof t.saved_at!="string"||typeof t.results!="object"||t.results===null||Array.isArray(t.results)?void 0:t}catch{return}}async function li(e,t){let n=await ye(Ct(e)),r=di(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function ui(e,t,n,r,i){let o=await Ya(e);try{let s=di(await ye(Ct(e))),a=s?.fingerprint===t?s.results:{};delete a[r],a[r]=i;let c=Object.keys(a);for(let d of c.slice(0,Math.max(0,c.length-lp)))delete a[d];await W(Ct(e),JSON.stringify({version:Wa,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function fi(e){let t=await Ya(e);try{await go(Ct(e))}finally{await t()}}async function Ja(e,t){let n=Ct(e),r=await ye(n),i=di(r);return i===void 0?{exists:r!==null,fresh:!1,entry_count:0}:{exists:!0,fresh:i.fingerprint===t,entry_count:Object.keys(i.results).length,fingerprint:i.fingerprint.slice(0,12),saved_at:i.saved_at,bytes:Buffer.byteLength(r,"utf8")}}function mi(e,t){return t||e>=ci}function Gn(e){return st(e)&&Object.values(e).every(Fe)}function st(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fe(e){return Number.isInteger(e)&&Number(e)>=0}function Qa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function It(e,t){return e===void 0||t(e)}function fp(e){return st(e)&&Object.values(e).every(Qa)}function mp(e){return st(e)?Object.values(e).every(t=>st(t)&&[t.active,t.isolated,t.degree_leq_one].every(Fe)):!1}function pp(e,t,n){let r=["recorded_nodes","informative_edges","redundant_edges","ordering_contradiction_edges"],i=r.filter(s=>e[s]!==void 0).length;if(i!==0&&i!==r.length||!r.every(s=>It(e[s],Fe)))return;let o={recorded_nodes:e.recorded_nodes??t,informative_edges:e.informative_edges??n,redundant_edges:e.redundant_edges??0,ordering_contradiction_edges:e.ordering_contradiction_edges??0};return o.recorded_nodes<=t&&o.informative_edges<=n&&o.redundant_edges<=n&&o.ordering_contradiction_edges<=n?o:void 0}function hp(e,t,n){let r=[...t,...n,"finding_subjects_by_code"],i=r.filter(o=>e[o]!==void 0).length;return i!==0&&i!==r.length?!1:t.every(o=>It(e[o],Fe))&&n.every(o=>It(e[o],Fe)&&(e[o]===void 0||Number(e[o])<=1e4))&&It(e.finding_subjects_by_code,Gn)}function gp(e,t,n,r){let i=pp(e,n,r);if(i===void 0)return;let o=["articulation_points","bridge_edges","outcome_nodes","active_outcome_reachable_nodes","active_outcome_unreachable_nodes","terminal_nodes","terminal_outcome_reachable_nodes","terminal_outcome_unreachable_nodes","outcome_reachable_nodes","outcome_unreachable_nodes"],s=["active_outcome_reachability_basis_points","terminal_outcome_reachability_basis_points","outcome_reachability_basis_points"];if(!hp(e,o,s)||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed")return;let a=Gn(e.finding_subjects_by_code)?e.finding_subjects_by_code:{};return{edge_basis:"deduplicated_directed",...i,...Object.fromEntries(o.map(c=>[c,e[c]??0])),...Object.fromEntries(s.map(c=>[c,e[c]??0])),finding_subjects_by_code:Object.fromEntries(it.map(c=>[c,a[c]??t[c]??0]))}}function _p(e,t,n,r,i){let o=[n,r,i],s=o.filter(d=>d!==void 0).length;if(s===0)return{edge_share_by_kind:{},semantic_edges:0,semantic_edge_share:0};if(s!==o.length||!fp(n)||!Fe(r)||!Qa(i))return;let a=Object.entries(t);if(a.reduce((d,[,l])=>d+l,0)!==e||Object.keys(n).length!==a.length||a.some(([d,l])=>n[d]!==(e===0?0:l/e)))return;let c=a.reduce((d,[l,u])=>d+(Un(l)?u:0),0);if(!(r!==c||i!==(e===0?0:c/e)))return{edge_share_by_kind:n,semantic_edges:r,semantic_edge_share:i}}function yp(e){if(e!==null)try{let t=JSON.parse(e);if(!st(t))return;let n=t,r=n.profile;if(typeof n.saved_at!="string"||typeof n.fingerprint!="string")return;let i=n.affected_subjects_by_code;if(!Gn(i)||!st(r)||!$a(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(Fe)||!Gn(r.edges_by_kind)||!It(r.coverage_by_type,mp))return;let o=_p(r.edges,r.edges_by_kind,r.edge_share_by_kind,r.semantic_edges,r.semantic_edge_share);if(o===void 0)return;let s=gp(r,i,r.nodes,r.edges);if(s===void 0)return;let{coverage_by_type:a={}}=r;return{...n,profile:{...r,...o,...s,coverage_by_type:a}}}catch{return}}async function Za(e){return yp(await ye(Xa(e)))}async function ec(e,t){await W(Xa(e),JSON.stringify(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]="253f392d-4e91-57ec-b656-6134583d57e5")}catch{}})();var vp={missing_reference_active:{op:"investigate",confidence:"medium",rationale:"Restore or re-create the referenced item, or remove/retype the reference on the active holder; the correct fix depends on why the target is absent."},missing_reference_terminal:{op:"waive",confidence:"high",rationale:"Terminal-holder reference to an absent item is historical debt; waive it or clean it up only in a dedicated changelog-safe closed-item batch."},legacy_no_blocker_sentinel:{op:"remove",confidence:"high",rationale:"The pre-structured-dependency no-active-blocker sentinel is retired and carries no information; blocker state derives from blocked_by edges."},ordering_cycle:{op:"investigate",confidence:"low",rationale:"Every cycle member is unschedulable until one ordering edge is removed or retyped; the planner never chooses which edge to cut."},legacy_ordering_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only ordering cycles have no scheduling effect; repairing them would mutate closed history (changelog drag)."},ordering_storage_contradiction:{op:"remove",confidence:"high",rationale:"The structured ordering row asserts the opposite precedence from the same-target scalar blocker; remove that exact dependency row or replace both representations with one unambiguous edge."},legacy_ordering_storage_contradiction:{op:"remove",confidence:"high",rationale:"The terminal holder contains a proven contradictory structured ordering row; remove it in a dedicated changelog-safe batch while preserving the scalar blocker as history."},hierarchy_cycle:{op:"investigate",confidence:"low",rationale:"Cut or retype one exact structural relation in the cycle; the planner preserves every evidence row because intent determines the correct parent."},legacy_hierarchy_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only hierarchy cycles are historical debt; waive them unless an explicit closed-history repair is approved."},hierarchy_cardinality_violation:{op:"investigate",confidence:"medium",rationale:"Choose the canonical parent and remove or retype the exact surplus hierarchy rows; the planner cannot infer ownership intent."},legacy_hierarchy_cardinality_violation:{op:"waive",confidence:"high",rationale:"Multiple parents confined to terminal items are historical debt; waive them unless a dedicated history repair is approved."},hierarchy_direction_violation:{op:"investigate",confidence:"medium",rationale:"Align the scalar parent and dependency-backed hierarchy rows to the intended canonical parent."},legacy_hierarchy_direction_violation:{op:"waive",confidence:"high",rationale:"Divergent hierarchy storage confined to terminal items is historical debt; waive it unless a dedicated history repair is approved."},duplicate_edge:{op:"remove",confidence:"high",rationale:"Parallel same-family spellings state one relationship twice; remove all but one stored spelling, keeping the holder's canonical direction."},legacy_duplicate_edge:{op:"waive",confidence:"high",rationale:"Duplicated spellings between terminal items are historical noise; waive or batch changelog-safe cleanup."},duplicate_dependency_row:{op:"remove",confidence:"high",rationale:"The identical dependency row is stored more than once on the holder; drop the repeats so the row exists exactly once \u2014 graph semantics are unchanged."},legacy_duplicate_dependency_row:{op:"waive",confidence:"high",rationale:"Repeated identical rows on terminal holders are storage noise; waive or clean up only in a changelog-safe closed-item batch."},stale_lifecycle_block:{op:"investigate",confidence:"medium",rationale:`Add a local ordering edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status; only the holder's owner knows which is true.`},isolated_active_node:{op:"investigate",confidence:"medium",rationale:"Link the item to its parent, prerequisite, or origin \u2014 or register it as an explicitly exempt isolate; the audit never fabricates an edge."},sparse_active_node:{op:"investigate",confidence:"low",rationale:"Investigate for an honest second edge (story-to-task, defect family, cross-epic complement); sparse is not automatically defective."}};function tc(e){return`${e.source} -${e.kind}-> ${e.target}`}function bp(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:tc(r),rationale:"This stored spelling restates the kept canonical edge of the same semantic family; removing it leaves the relationship stated exactly once.",evidence:[`keep: ${tc(t)}`,`group: ${Hn(e)}`],confidence:"high"}))}function wp(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>bp(t.get(r)));let n=vp[e.code];return e.sample.map(r=>({op:n.op,code:e.code,subject:r,rationale:n.rationale,evidence:[e.policy],confidence:n.confidence}))}function nc(e,t={}){let{redundancyLimit:n,...r}=t,i=Bn(e,r),o=new Map(ai(e).map(d=>[Hn(d),d])),s=i.findings.flatMap(d=>wp(d,o)),a=i.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=nt(e.graph,{limit:n??t.maxSampleSize??25,...t.signal===void 0?{}:{signal:t.signal}});for(let d of c.value)s.push({op:"remove",code:"redundant_edge",subject:`${d.edge.source} -> ${d.edge.target} (${d.edge.kind})`,rationale:"The stored edge is implied by a longer same-family witness path; shortcut edges are sometimes deliberate emphasis, so confirm intent before removing.",evidence:[`witness: ${d.witness.join(" -> ")}`],confidence:"medium"});return a=a||c.meta.truncated,{steps:s,report:i,truncated:a,cost:{visitedNodes:c.meta.visitedNodes,inspectedEdges:c.meta.inspectedEdges}}}(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]="66df3949-0caf-5f01-8cec-3bba3d1e6111")}catch{}})();var sc=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]);function rc(e,t,n){let r=e;if(t&&e.subcommand==="audit"){let{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:f}=e.profile,p=Object.fromEntries(Object.entries(f).map(([m,h])=>{let{degree_histogram:y,...b}=h;return[m,b]}));r={...e,profile:{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:p}}}return{...r,projection:{mode:t?"summary":"full",declared_field_groups:n===void 0?[]:[{name:n,restore_with:"--full"}],included_field_groups:n===void 0||t?[]:[n]}}}function kp(e,t,n,r){return{assembly:t,...n===void 0?{}:{kinds:n},maxDepth:An(r.maxDepth),limit:e==="impact"&&Number(r.limit)===0?0:he(r.limit,"limit")??(r.full===!0?Number.MAX_SAFE_INTEGER:ke.rows),after:r.after?.trim()||void 0,direction:ei(r.direction),maxPaths:he(r.maxPaths,"max-paths"),sample:he(r.sample,"sample")??ke.samples,exemptIsolates:ic(r.exemptIsolate),exemptIsolateTypes:ic(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0}}function ic(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function Ep(e,t,n){let r=e.trim().toLowerCase();if(!wr.includes(r))throw ps({command_path:"graph",token:r||"<empty>",allowed:wr});let i=r;if(sc.has(i)&&!t?.trim())throw new _(`graph ${i} requires an item id.`,g.USAGE);if(i==="paths"&&!n?.trim())throw new _("graph paths requires a source and a target item id.",g.USAGE);return i}function pi(e){throw e instanceof TypeError?new _(e.message,g.USAGE):e}function hi(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function oc(e,t){let n=t.trim().toLowerCase();for(let r of e.details)if(r.id.trim().toLowerCase()===n&&!e.missingIdSet.has(r.id.toLowerCase()))return r.id;throw new _(`Item ${t} not found`,g.NOT_FOUND)}function Ip(e,t,n){let r={ancestors:ba,descendants:wa,predecessors:ka,successors:Ea}[e],i;try{i=r(n.assembly.graph,t,{...n.kinds===void 0?{}:{kinds:n.kinds},...n.maxDepth===void 0?{}:{maxDepth:n.maxDepth},limit:n.limit,...n.after===void 0?{}:{after:n.after}})}catch(s){pi(s)}let o=hi(i.meta);return{subcommand:e,root:t,count:i.value.length,...o,...i.meta.nextCursor===void 0?{}:{next_cursor:i.meta.nextCursor},...n.summary?{}:{ids:i.value}}}function Cp(e,t,n){let r=Ia(n.assembly.graph,e,t,{direction:n.direction,...n.kinds===void 0?{}:{kinds:n.kinds},...n.maxDepth===void 0?{}:{maxDepth:n.maxDepth},...n.maxPaths===void 0?{}:{maxPaths:n.maxPaths}});return{subcommand:"paths",root:e,target:t,direction:n.direction,count:r.value.length,...hi(r.meta),...n.summary?{}:{paths:r.value.map(i=>({nodes:i.nodes,kinds:i.edges.map(o=>o.kind),length:i.length}))}}}function Sp(e,t){let n;try{n=vn(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth},...t.unbounded?{}:{limit:t.limit},...t.after===void 0?{}:{after:t.after}})}catch(r){pi(r)}return{subcommand:"impact",root:e,direction:t.direction,count:n.affected.length,truncated:n.truncated,...n.nextCursor===void 0?{}:{next_cursor:n.nextCursor},cost:{visited_nodes:n.cost.visitedNodes,inspected_edges:n.cost.inspectedEdges},...t.summary?{}:{affected:n.affected}}}function Tp(e,t,n){return{acyclic:e.acyclic,ordered_node_count:e.order.length,layer_count:e.layers.length,frontier_count:e.frontier.length,critical_path_length:e.criticalPathLength,cycle_count:e.cycles.length,...t?{}:{frontier:e.frontier.slice(0,n),critical_path:e.criticalPath.slice(0,n),cycles:e.cycles.slice(0,n)}}}function Rp(e,t,n){return{component_count:e.components.length,largest_component_size:e.components[0]?.length??0,orphan_count:e.orphans.length,...t?{}:{orphans:e.orphans.slice(0,n),hubs:e.hubs.slice(0,n)}}}function xp(e,t,n){let r=0,i=0,o=0;for(let s of e.cycles)r+=Number(s.legacy_terminal);for(let s of e.cardinality_violations)i+=Number(s.legacy_terminal);for(let s of e.divergences)o+=Number(s.legacy_terminal);return{acyclic:e.cycles.length===0,relation_count:e.relations.length,cycle_count:e.cycles.length,active_cycle_count:e.cycles.length-r,legacy_cycle_count:r,cardinality_violation_count:e.cardinality_violations.length,active_cardinality_violation_count:e.cardinality_violations.length-i,legacy_cardinality_violation_count:i,parent_divergence_count:e.divergences.length,active_parent_divergence_count:e.divergences.length-o,legacy_parent_divergence_count:o,...t?{}:{cycles:e.cycles.slice(0,n).map(s=>s.item_ids)}}}function Dp(e){let t=e.assembly.graph,n=e.limit,r=bn(t,{registry:t.registry()}),i=ws(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:Tp(r,e.summary,n),knowledge:Rp(i,e.summary,n),hierarchy:xp(Tn(e.assembly),e.summary,n)}}function Ap(e,t){let n=Bn(e.assembly,{isTerminal:t,maxSampleSize:e.sample,...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),r={},i={},o={},s={};for(let d of n.findings)r[d.severity]=(r[d.severity]??0)+1,i[d.code]=(i[d.code]??0)+1,o[d.severity]=(o[d.severity]??0)+d.count,s[d.code]=(s[d.code]??0)+d.count;let{finding_subjects_by_code:a,...c}=n.profile;return{subcommand:"audit",truncated:n.findings.length>e.limit,finding_count:n.findings.length,findings_by_severity:r,findings_by_code:i,affected_subjects_by_severity:o,affected_subjects_by_code:s,profile:e.summary?c:n.profile,legacy_alias_counts:e.assembly.legacyAliasCounts,...e.summary?{}:{findings:n.findings.slice(0,e.limit)}}}function Op(e){let t=e.limit,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Sa(e.assembly.graph,n),i=r.value;return{subcommand:"communities",community_count:i.communities.length,largest_community_size:i.communities[0]?.size??0,iterations:i.iterations,converged:i.converged,truncated:!i.converged||i.communities.length>t,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...e.summary?{}:{communities:i.communities.slice(0,t).map(o=>({representative:o.representative,size:o.size,members:o.members.slice(0,t)}))}}}function Lp(e){let t;try{t=nt(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},limit:e.limit})}catch(n){pi(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...hi(t.meta),...e.summary?{}:{redundant:t.value.map(n=>({source:n.edge.source,target:n.edge.target,kind:n.edge.kind,witness:n.witness}))}}}function Fp(e,t){let n=t.limit,r=Ta(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth}}),i=r.value.rows.filter(o=>o.dominatedCount>0);return{subcommand:"dominators",root:e,direction:t.direction,reachable_count:r.value.reachableCount,bottleneck_count:i.length,truncated:r.meta.truncated||i.length>n,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...t.summary?{}:{bottlenecks:i.slice(0,n).map(o=>({id:o.id,idom:o.idom,dominated_count:o.dominatedCount}))}}}function Mp(e){let t=e.limit,n=Oa(e.assembly.graph),r=n.rows.filter(i=>i.critical).length;return{subcommand:"slack",acyclic:n.acyclic,makespan:n.makespan,scheduled_count:n.scheduledCount,critical_count:r,critical_path_length:n.criticalPathLength,cycle_count:n.cycles.length,truncated:n.rows.length>t,...e.summary?{}:{critical_path:n.criticalPath.slice(0,t),rows:n.rows.slice(0,t).map(i=>({id:i.id,earliest_start:i.earliestStart,latest_start:i.latestStart,slack:i.slack,critical:i.critical}))}}}function Np(e){let t=e.limit,n=Aa(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),r=n.value;return{subcommand:"centrality",node_count:r.nodeCount,edge_count:r.edgeCount,edge_basis:"simple_undirected",truncated:r.rows.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{rows:r.rows.slice(0,t).map(i=>({id:i.id,degree:i.degree,in_degree:i.inDegree,out_degree:i.outDegree,betweenness:i.betweenness,closeness:i.closeness}))}}}function $p(e){let t=e.limit,n=Pn(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),{articulationPoints:r,bridges:i}=n.value;return{subcommand:"articulation",articulation_count:r.length,bridge_count:i.length,truncated:r.length>t||i.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{articulation_points:r.slice(0,t),bridges:i.slice(0,t)}}}function Pp(e,t){let n=e.limit,r=nc(e.assembly,{isTerminal:t,redundancyLimit:n,maxSampleSize:e.sample,...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),i={},o={};for(let s of r.steps)i[s.op]=(i[s.op]??0)+1,o[s.code]=(o[s.code]??0)+1;return{subcommand:"plan",step_count:r.steps.length,steps_by_op:i,steps_by_code:o,finding_count:r.report.findings.length,truncated:r.truncated||r.steps.length>n,cost:{visited_nodes:r.cost.visitedNodes,inspected_edges:r.cost.inspectedEdges},...e.summary?{}:{steps:r.steps.slice(0,n)}}}function ac(e,t,n,r){return JSON.stringify({projection_version:2,subcommand:e,root:t??null,target:n??null,kinds:r.kinds??null,maxDepth:r.maxDepth??null,limit:r.limit,after:r.after??null,direction:r.direction,maxPaths:r.maxPaths??null,sample:r.sample,exemptIsolates:[...new Set(r.exemptIsolates.map(i=>i.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(r.exemptIsolateTypes.map(i=>i.toLowerCase()))].sort(),summary:r.summary,unbounded:r.unbounded})}function cc(e,t,n,r,i){return e==="analyze"?Dp(r):e==="audit"?Ap(r,i):e==="plan"?Pp(r,i):e==="communities"?Op(r):e==="redundancy"?Lp(r):e==="dominators"?Fp(t,r):e==="slack"?Mp(r):e==="centrality"?Np(r):e==="articulation"?$p(r):e==="paths"?Cp(t,n,r):e==="impact"?Sp(t,r):Ip(e,t,r)}function jp(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new _("--rebuild and --clear apply only to graph index.",g.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new _("--save-baseline applies only to graph audit.",g.USAGE);if(e==="slack"&&t.kind!==void 0)throw new _("graph slack analyzes every ordering kind; --kind is not supported.",g.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new _("graph index accepts either --rebuild or --clear, not both.",g.USAGE);if(t.full===!0&&t.limit!==void 0)throw new _(`graph ${e} accepts either --full or --limit, not both.`,g.USAGE)}async function Up(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await fi(e),s="cleared"),o.rebuild===!0){await fi(e);let c=await li(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,limit:ke.rows,sample:ke.samples,unbounded:!1};for(let l of["analyze","audit"])await ui(e,t,c,ac(l,void 0,void 0,d),cc(l,void 0,void 0,d,i));s="rebuilt"}let a=await Ja(e,t);return{subcommand:"index",action:s,state:a.exists?a.fresh?"fresh":"stale":"absent",entry_count:a.entry_count,item_count:r,min_items_threshold:ci,persist_enabled:mi(r,a.exists),current_fingerprint:t.slice(0,12),...a.saved_at===void 0?{}:{saved_at:a.saved_at},...a.bytes===void 0?{}:{bytes:a.bytes}}}async function Hp(e,t,n,r){let i={saved_at:new Date().toISOString(),fingerprint:t,affected_subjects_by_code:n.affected_subjects_by_code,profile:{...n.profile,finding_subjects_by_code:Object.fromEntries(it.map(s=>[s,n.affected_subjects_by_code[s]??0]))}},o=await Za(e);return r&&await ec(e,i),o===void 0?n:{...n,baseline:Va(o,i)}}async function Bp(e,t,n,r,i){try{await ui(e,t,n,r,i)}catch{}}function Gp(e,t,n,r){if(e.subcommand!=="slack")return;let i=new Set(t.assembly.details.filter(f=>r(f.status)).map(f=>f.id)),o=t.assembly.graph,s=new Bt(o.nodes().filter(f=>!i.has(f)),o.edges().filter(f=>!i.has(f.source)&&!i.has(f.target)),o.registry()),a=La(s,n.filter(f=>!i.has(f.id)),{now:x(),limit:t.limit}),{rows:c,residuals:d,overcommitted:l,...u}=a;e.deadline_schedule={population:"active",...u,...t.summary?{}:{rows:c,residuals:d,overcommitted:l}}}async function _E(e,t,n,r,i){let o=Ep(e,t,n);Wt(r.summary===!0,r.full===!0,"--summary");let s=O(process.cwd(),i.path);await U(s);let a=await F(s),c=L(a,D()),d=await fe(s,a.item_format,c.type_to_folder,void 0,a.schema),l=J(a.schema),u=M=>$(M,l);jp(o,r);let f=z(),p=ti(r.kind,f),m=xn().lookup(s,Rn(d,u,f),()=>Qe(d,u,f)),h=kp(o,m.assembly,p,r);if(o==="index")return rc(await Up(s,m.fingerprint,h,d.length,u,r),!1);let y=sc.has(o)?oc(h.assembly,t):void 0,b=o==="paths"?oc(h.assembly,n):void 0,v=ac(o,y,b,h),w=await li(s,m.fingerprint),E=w.results[v],S=m.memoize(v,()=>E!==void 0?structuredClone(E):cc(o,y,b,h,u)),P=mi(d.length,w.exists);!S.reused&&E===void 0&&P&&await Bp(s,m.fingerprint,w,v,S.value);let j=S.value.subcommand==="audit"?await Hp(s,m.fingerprint,S.value,h.saveBaseline):S.value;return j.cache={fingerprint:m.fingerprint.slice(0,12),assembly:m.assemblyReused?"hit":"miss",result:S.reused?"hit":"miss",durable:E!==void 0?"hit":P?"miss":"off"},Gp(j,h,d,u),rc(j,h.summary,"result_rows")}import gi from"node:fs/promises";import _i 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]="069e2e60-11d9-5a37-a966-9073944d32a2")}catch{}})();var dc=8388608,Kp=new Set(["resolved","failed"]),zp=[{kind:"boolean",matches:e=>typeof e=="boolean"||typeof e=="string"&&/^(?:true|false)$/iu.test(e.trim())},{kind:"single_digit",matches:e=>typeof e=="number"&&Number.isInteger(e)&&e>=0&&e<=9||typeof e=="string"&&/^\d$/u.test(e.trim())}];function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function yi(e){return zp.find(t=>t.matches(e))?.kind}function lc(e){let t=new Map,n=0,r=0;return{entries:e.map(i=>{let o=ge(i.agent_provenance)?i.agent_provenance:void 0;if(o===void 0||!Vo(i).ok)return i;let s={},a=!1;for(let[d,l]of Object.entries(o)){let u=ge(l)?yi(l.value):void 0;if(u===void 0){s[d]=l;continue}a=!0,r+=1;let f=i.agent_harness??"unknown",p=`${f}\0${d}\0${u}`,m=t.get(p)??{harness:f,dimension:d,kind:u,count:0};m.count+=1,t.set(p,m)}if(!a)return i;n+=1;let c={...i};return Object.keys(s).length===0?delete c.agent_provenance:c.agent_provenance=s,qo(i,c,{retainPriorRecord:!0,retainPriorRecordHash:!1})}),receipt:{changed:n>0,events_changed:n,observations_removed:r,invalid_values:[...t.values()].sort((i,o)=>i.harness.localeCompare(o.harness)||i.dimension.localeCompare(o.dimension)||i.kind.localeCompare(o.kind))}}}async function uc(e){let t=[];for(let n of await fc(e)??[])try{let r=await gi.readFile(_i.join(e,"history",n),"utf8");for(let i of r.split(`
2
+ `)){if(i.trim().length===0)continue;let o=mc(i);if(!(o===null||!ge(o.agent_provenance))&&Object.values(o.agent_provenance).some(s=>ge(s)&&yi(s.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function fc(e){try{return(await gi.readdir(_i.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function Vp(e,t,n){let r;try{r=await gi.open(_i.join(e,"history",t),"r");let i=(await r.stat()).size,o=Math.min(i,Math.max(0,n)),s=Buffer.alloc(o),{bytesRead:a}=await r.read(s,0,o,0),c=s.subarray(0,a).toString("utf8"),d=a>=i,l=c.lastIndexOf(`
3
+ `),u=c;return d||(u=l===-1?"":c.slice(0,l+1)),{content:u,bytesRead:a,complete:d}}catch{return null}finally{await r?.close()}}function mc(e){try{let t=JSON.parse(e);return ge(t)?t:null}catch{return null}}function qp(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let i=ge(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(i).forEach(([s,a])=>{if(!ge(a))return;let c=yi(a.value);if(!c)return;let d=`${r}\0${s}\0${c}`,l=n.get(d)??{harness:r,dimension:s,kind:c,count:0};l.count+=1,n.set(d,l)}),!ge(e.context))return;let o=e.context.agent_provenance_outcomes;ge(o)&&Object.entries(o).forEach(([s,a])=>{if(!ge(a)||typeof a.resolver!="string"||!Kp.has(String(a.status)))return;let c=`${r}\0${s}\0${a.resolver}`,d=t.get(c)??{harness:r,dimension:s,resolver:a.resolver,attempts:0,successes:0};d.attempts+=1,a.status==="resolved"&&(d.successes+=1),t.set(c,d)})}function Wp(e,t,n,r,i,o){let s=i;for(let a of e.split(`
4
+ `)){if(a.trim().length===0)continue;if(s>=r)return{eventsRead:s,truncated:!0};s+=1;let c=mc(a);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&Jt(c.ts)){let d=new Date(c.ts).toISOString();(o.earliest_event_at===null||d<o.earliest_event_at)&&(o.earliest_event_at=d),(o.latest_event_at===null||d>o.latest_event_at)&&(o.latest_event_at=d)}qp(c,t,n)}return{eventsRead:s,truncated:!1}}function Yp(e,t,n){return n?[...e.filter(r=>r.attempts>0&&r.successes===0).map(r=>`provenance_resolver_zero_success:${r.harness}:${r.dimension}:${r.resolver}:${String(r.attempts)}`),...t.map(r=>`provenance_value_domain_invalid:${r.harness}:${r.dimension}:${r.kind}:${String(r.count)}`)]:[]}async function EE(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let n={scope:"history_prefix",event_limit:t,byte_limit:dc,bytes_read:0,events_read:0,truncated:!1,unreadable_sources:0,malformed_events:0,earliest_event_at:null,latest_event_at:null,complete:!1},r=new Map,i=new Map,o=0,s=0,a=!1,c=await fc(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await Vp(e,u,Math.max(0,dc-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let p=Wp(f.content,r,i,t,o,n);if(o=p.eventsRead,p.truncated){a=!0;break}if(!f.complete){a=!0;break}}let d=[...r.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.resolver.localeCompare(f.resolver)),l=[...i.values()].sort((u,f)=>u.harness.localeCompare(f.harness)||u.dimension.localeCompare(f.dimension)||u.kind.localeCompare(f.kind));return n.bytes_read=s,n.events_read=o,n.truncated=a,n.complete=!a&&n.unreadable_sources===0&&n.malformed_events===0,{outcomes:d,sample:n,invalid_values:l,warnings:Yp(d,l,n.complete),events_read:o,truncated:a}}import Xp 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]="c7589997-de92-502d-8e61-ac61b67fe6cd")}catch{}})();var Jp=Object.freeze({pm_item_scalar_missing:!0});function at(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===1&&e.pm_item_scalar_missing===!0}function T(e){return e===void 0?Jp:e}function xe(e){return re(k(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function vi(e,t){let n=Ge(e);if(n)throw new _(`History merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,g.GENERIC_FAILURE);let r=[];for(let[i,o]of e.split(/\r?\n/).entries()){let s=o.trim();if(s)try{let a=JSON.parse(s);if(typeof a!="object"||a===null||Array.isArray(a))throw new TypeError("history entry must be an object");r.push(a)}catch{throw new _(`History merge input (${t}) contains invalid JSON at line ${i+1}.`,g.GENERIC_FAILURE)}}return r}function oe(e){return k({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function Qp(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&oe(e[r])===oe(t[r]);)r+=1;return r}function Zp(e,t,n,r){let i=[...e,...n],o=new Map(i.map((u,f)=>[u,f])),s=new Map(i.map((u,f)=>[oe(u),f])),a=i.map(()=>new Set);for(let u of[e,t]){let f=u.map(p=>o.get(p)??s.get(oe(p)));for(let p=1;p<f.length;p+=1)f[p-1]!==f[p]&&a[f[p-1]].add(f[p])}let c=i.map(()=>0);for(let u of a)for(let f of u)c[f]+=1;let d=i.map((u,f)=>f).filter(u=>c[u]===0),l=[];for(;d.length>0;){d.sort((f,p)=>{let m=i[f],h=i[p],y=C(m.ts,h.ts),b=oe(m),v=oe(h);return y||Number(r.has(v))-Number(r.has(b))});let u=d.shift();l.push(i[u]);for(let f of a[u])c[f]-=1,c[f]===0&&d.push(f)}if(l.length!==i.length)throw new _("History union cannot preserve contradictory original branch event orders; leave the file unresolved for manual recovery.",g.GENERIC_FAILURE);return l}function pc(e){return{entries:e,positions:new Map(e.map((t,n)=>[oe(t),n])),index:-1,document:Jo()}}function Ci(e,t){let n=t??e.index;for(;e.index<n;){let r=xr(e.document,e.entries[e.index+1].patch);if(!r.ok)throw new _("History union cannot preserve a patch that does not apply in its original branch.",g.GENERIC_FAILURE);e.document=r.document,e.index+=1}return e.document}function hc(e,t){if(t!==void 0&&t>e.index+1)throw new _("History union cannot attribute multiple original branch events to one semantic identity; preserve the source histories for manual recovery.",g.GENERIC_FAILURE);return Ci(e,t)}function eh(e,t,n){if(n===0)return;let r=pc(e),i=pc(t),o=Ci(r,n-1);Ci(i,n-1);let s=0,a=new Set([..._c,...yc]);return(c,d)=>{if(s++<n)return c.patch;let l=oe(c),u=hc(r,r.positions.get(l)),f=hc(i,i.positions.get(l)),p=cn(c.patch).filter(v=>{let[w,E]=v.path.slice(1).split("/");return w!=="metadata"||!a.has(E)}),m=xr(d,p);if(!m.ok)throw new _("History union cannot rebase a scalar patch onto the merged replay position; leave the file unresolved for manual recovery.",g.GENERIC_FAILURE);let h=wc(o.metadata,u.metadata,f.metadata,"ours","latest_document_update",String(u.metadata.updated_at),String(f.metadata.updated_at)),y=m.document;for(let v of a)Object.hasOwn(h.merged,v)?y.metadata[v]=h.merged[v]:delete y.metadata[v];let b=an({metadata:y.metadata,body:y.body});return Xp.compare(d,b)}}function FE(e,t,n){let r=vi(e,"base"),i=vi(t,"ours"),o=vi(n,"theirs"),s=[r,i,o].map(p=>p.filter(m=>m.op==="create"));if(s[0].length===0&&s.slice(1).every(p=>p.length>0)||s.some(p=>p.length>1)||new Set(s.flat().map(oe)).size>1)throw new _("Duplicate item identity: history contains independent or unproven create events. Preserve both branches and assign distinct item ids before merging.",g.CONFLICT,{code:"item_identity_conflict"});let a=Qp(i,o);if(a===i.length&&a===o.length)return{merged:De(i),strategy:"identical",common_entries:a,entries_from_ours:0,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===o.length)return{merged:De(i),strategy:"fast_forward_ours",common_entries:a,entries_from_ours:i.length-a,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===i.length)return{merged:De(o),strategy:"fast_forward_theirs",common_entries:a,entries_from_ours:0,entries_from_theirs:o.length-a,entries_total:o.length,reanchored:!1};let c=i.slice(a),d=new Set(c.map(oe)),l=o.slice(a).filter(p=>!d.has(oe(p))),u=Zp(c,o.slice(a),l,d),f=dn([...i.slice(0,a),...u],void 0,{continuousHashSurface:!0,projectPatch:eh(i,o,a)});if(f.skippedOps>0)throw new _(`History union cannot preserve ${f.skippedOps} patch operation(s) after deterministic suffix ordering; leave the file unresolved for manual recovery.`,g.GENERIC_FAILURE);return{merged:De(f.entries),strategy:"union_reanchor",common_entries:a,entries_from_ours:c.length,entries_from_theirs:l.length,entries_total:f.entries.length,reanchored:!0}}function bi(e,t){let n=Ge(e);if(n)throw new _(`Relationship merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,g.GENERIC_FAILURE);let r=[];for(let[i,o]of e.split(/\r?\n/).entries()){let s=o.trim();if(!s)continue;let a;try{a=JSON.parse(s)}catch{throw new _(`Relationship merge input (${t}) contains invalid JSON at line ${i+1}.`,g.GENERIC_FAILURE)}if(typeof a!="object"||a===null||Array.isArray(a)||typeof a.eventId!="string"||typeof a.sequence!="number")throw new _(`Relationship merge input (${t}) line ${i+1} is not a relationship event (eventId + sequence required).`,g.GENERIC_FAILURE);r.push(a)}return r}function Kn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
5
+ `)}
6
+ `}function th(e){return e.map((t,n)=>({...t,sequence:n+1}))}function ME(e,t,n){bi(e,"base");let r=bi(t,"ours"),i=bi(n,"theirs"),o=Math.min(r.length,i.length),s=0;for(;s<o&&r[s].eventId===i[s].eventId;)s+=1;if(s===r.length&&s===i.length)return{merged:Kn(r),strategy:"identical",common_entries:s,entries_from_ours:0,entries_from_theirs:0,entries_total:r.length,reanchored:!1};if(s===i.length)return{merged:Kn(r),strategy:"fast_forward_ours",common_entries:s,entries_from_ours:r.length-s,entries_from_theirs:0,entries_total:r.length,reanchored:!1};if(s===r.length)return{merged:Kn(i),strategy:"fast_forward_theirs",common_entries:s,entries_from_ours:0,entries_from_theirs:i.length-s,entries_total:i.length,reanchored:!1};let a=r.slice(s),c=new Set(a.map(f=>f.eventId)),d=i.slice(s).filter(f=>!c.has(f.eventId)),l=[...a,...d].sort((f,p)=>{if(f.timestamp!==void 0&&p.timestamp!==void 0){let y=C(f.timestamp,p.timestamp);if(y!==0)return y}else{if(f.timestamp===void 0&&p.timestamp!==void 0)return 1;if(f.timestamp!==void 0)return-1}let m=c.has(f.eventId),h=c.has(p.eventId);return m!==h?Number(h)-Number(m):0}),u=th([...r.slice(0,s),...l]);return{merged:Kn(u),strategy:"union_reanchor",common_entries:s,entries_from_ours:a.length,entries_from_theirs:d.length,entries_total:u.length,reanchored:!0}}var _c=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],yc=["acceptance_criteria"],nh=["updated_at"];function Me(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:k(e)===k(t)}function gc(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(l=>k(l))),o=r(t),s=new Set(o.map(l=>k(l))),a=r(n),c=new Set(a.map(l=>k(l))),d=o.filter(l=>{let u=k(l);return!i.has(u)||c.has(u)});for(let l of a){let u=k(l);!s.has(u)&&!i.has(u)&&d.push(l)}return d}function St(e){if(typeof e!="object"||e===null||Array.isArray(e))return k(e);let{provenance:t,...n}=e;return k(n)}function rh(e){if(typeof e!="object"||e===null||Array.isArray(e))return e;let t=e;return t.provenance?{...t,provenance:{...t.provenance,source_kind:"merge_union"}}:{...t,provenance:{source_kind:"merge_union"}}}function ih(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(St)),o=r(t),s=new Set(o.map(St)),a=r(n),c=new Set(a.map(St)),d=o.filter(l=>{let u=St(l);return!i.has(u)||c.has(u)});for(let l of a){let u=St(l);!s.has(u)&&!i.has(u)&&d.push(rh(l))}return d}function oh(e,t){return C(String(e),String(t))>=0?e:t}function vc(e,t,n,r){return Me(t,n)?{value:t,from_theirs:!1,conflict:!1}:Me(e,t)?{value:n,from_theirs:!0,conflict:!1}:Me(e,n)?{value:t,from_theirs:!1,conflict:!1}:{value:r==="theirs"?n:t,from_theirs:r==="theirs",conflict:!0}}function bc(e,t,n,r,i,o,s){let a=vc(e,t,n,r);if(!a.conflict)return{...a,conflict:!1};if(i==="preferred_side")return{...a,resolution_basis:"requested_preference",retained_side:a.from_theirs?"theirs":"ours"};let c=C(o,s);if(i==="latest_document_update"&&c!==0){let l=c<0;return{value:l?n:t,from_theirs:l,conflict:!0,resolution_basis:"document_updated_at",retained_side:l?"theirs":"ours"}}let d=k(T(n)).localeCompare(k(T(t)))<0;return{value:d?n:t,from_theirs:d,conflict:!0,resolution_basis:"stable_value_tiebreak",retained_side:d?"theirs":"ours"}}function wi(e){return{...e.metadata}}function ki(e,t,n){try{let r=Lo(Ao(e,n),n),i=Object.entries(r.metadata).find(([,o])=>at(o))?.[0];if(i!==void 0)throw new TypeError(`metadata field ${i} uses the reserved missing-scalar evidence marker`);return r}catch(r){throw new _(`Item merge input (${t}) is not a readable item document: ${String(r)}`,g.GENERIC_FAILURE)}}function sh(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?ih(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?gc(mn(e.baseValue),mn(e.oursValue),mn(e.theirsValue)).join("; "):gc(e.baseValue,e.oursValue,e.theirsValue);return e.accumulator.merged[e.field]=t,Me(t,e.oursValue)||e.accumulator.unionFields.push(e.field),!0}function ah(e){let t=bc(e.baseValue,e.oursValue,e.theirsValue,e.preferred,e.conflictResolution,e.oursUpdatedAt,e.theirsUpdatedAt);t.value!==void 0&&(e.accumulator.merged[e.field]=t.value),t.conflict?(e.accumulator.conflictFields.push(e.field),e.accumulator.conflictDecisions.push({field:e.field,base:T(e.baseValue),ours:T(e.oursValue),theirs:T(e.theirsValue),retained:T(t.value),discarded:T(t.from_theirs?e.oursValue:e.theirsValue),retained_side:t.retained_side,resolution_basis:t.resolution_basis})):t.from_theirs&&e.accumulator.fieldsFromTheirs.push(e.field)}function wc(e,t,n,r,i,o,s){let a=new Set([..._c,...yc]),c=new Set(nh),d=[...new Set([...Object.keys(t),...Object.keys(n)])].sort((u,f)=>u.localeCompare(f)),l={merged:{},conflictFields:[],fieldsFromTheirs:[],unionFields:[],conflictDecisions:[]};for(let u of d){let f=e[u],p=t[u],m=n[u];if(!sh({field:u,baseValue:f,oursValue:p,theirsValue:m,unionFieldSet:a,accumulator:l})){if(c.has(u)){l.merged[u]=oh(p,m);continue}ah({field:u,baseValue:f,oursValue:p,theirsValue:m,preferred:r,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:s,accumulator:l})}}return l}function NE(e,t,n,r={}){let i=r.preferred??"ours",o=r.conflictResolution??"preferred_side",s=ki(t,"ours",r),a=ki(n,"theirs",r);if(e.trim().length===0)throw new _("Duplicate item identity: add/add item documents have no common ancestor. Preserve both branches and assign distinct item ids before merging.",g.CONFLICT,{code:"item_identity_conflict",item_id:s.metadata.id});let c=ki(e,"base",r);if(c.metadata.id!==s.metadata.id||c.metadata.id!==a.metadata.id)throw new _("Duplicate or mismatched item identity: all merge sides must address the common ancestor's item id.",g.CONFLICT,{code:"item_identity_conflict",item_id:c.metadata.id});let d=wi(c),l=wi(s),u=wi(a),{merged:f,conflictFields:p,fieldsFromTheirs:m,unionFields:h,conflictDecisions:y}=wc(d,l,u,i,o,s.metadata.updated_at,a.metadata.updated_at),b=bc(c.body,s.body,a.body,i,o,s.metadata.updated_at,a.metadata.updated_at);return b.conflict?(p.push("body"),y.push({field:"body",base:T(c.body),ours:T(s.body),theirs:T(a.body),retained:T(b.value),discarded:T(b.from_theirs?s.body:a.body),retained_side:b.retained_side,resolution_basis:b.resolution_basis})):b.from_theirs&&m.push("body"),{merged:Oo({metadata:f,body:b.value},r),conflict_fields:p,fields_from_theirs:m,union_fields:h,conflict_decisions:y,requested_preference:i,requested_preference_applied:o==="preferred_side",conflict_resolution:o}}function Ei(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ii(e,t){let n=Ge(e);if(n)throw new _(`JSON merge input (${t}) contains unresolved conflict markers at line ${n.line}.`,g.GENERIC_FAILURE);if(e.trim().length!==0)try{return JSON.parse(e)}catch{throw new _(`JSON merge input (${t}) is not valid JSON.`,g.GENERIC_FAILURE)}}function ch(e,t,n){if(!Array.isArray(e)||!Array.isArray(t)||!Array.isArray(n))return null;let r=d=>{let l=new Map;for(let u of d){let f=k(u);l.set(f,(l.get(f)??0)+1)}return l},i=r(e),o=r(t),s=r(n);for(let[d,l]of i)if((o.get(d)??0)<l||(s.get(d)??0)<l)return null;let a=new Map(o),c=[];for(let d of n){let l=k(d),u=a.get(l)??0;u>0?a.set(l,u-1):c.push(d)}return{merged:[...t,...c],acceptedTheirs:c.length>0}}function dh(e,t,n,r,i,o,s){if(!Ei(t)||!Ei(n))return null;let a=Ei(e)?e:{},c={},d=[...new Set([...Object.keys(t),...Object.keys(n)])].sort((l,u)=>l.localeCompare(u));for(let l of d){let u=i.length>0?`${i}.${l}`:l,f=lh(a,t,n,l,r,u,o,s);f!==void 0&&(c[l]=f)}return c}function kc(e,t,n,r,i,o,s){if(Me(t,n))return t;let a=ch(e,t,n);if(a!==null)return a.acceptedTheirs&&s.push(i),a.merged;let c=dh(e,t,n,r,i,o,s);if(c!==null)return c;let d=vc(e,t,n,r);return d.conflict?o.push(i):d.from_theirs&&s.push(i),d.value}function lh(e,t,n,r,i,o,s,a){let c=Object.prototype.hasOwnProperty.call(t,r),d=Object.prototype.hasOwnProperty.call(n,r),l=Object.prototype.hasOwnProperty.call(e,r);if(c&&d)return kc(e[r],t[r],n[r],i,o,s,a);if(c){if(l&&Me(e[r],t[r])){a.push(o);return}return l?(s.push(o),i==="theirs"?void 0:t[r]):t[r]}if(!(l&&Me(e[r],n[r])))return l?(s.push(o),i==="theirs"?n[r]:void 0):(a.push(o),n[r])}function $E(e,t,n,r={}){let i=r.preferred??"ours",o=Ii(e,"base"),s=Ii(t,"ours"),a=Ii(n,"theirs"),c=[],d=[],l=kc(o,s,a,i,"",c,d);return{merged:`${JSON.stringify(l??null,null,2)}
7
+ `,conflict_paths:c,paths_from_theirs:d,preferred:i}}import{execFile as Nh}from"node:child_process";import{randomUUID as $h}from"node:crypto";import{readdir as Ph,stat as jh}from"node:fs/promises";import H from"node:path";import{promisify as Uh}from"node:util";import{constants as Ec}from"node:fs";import{lstat as uh,open as fh}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]="b063a672-991a-5251-a2f3-6a1c7bcafd2f")}catch{}})();var mh={lstat:uh,open:fh};function ph(e){return e.O_NOFOLLOW??0}async function Tt(e,t,n=mh){let r=await n.lstat(e);if(r.isSymbolicLink()||!r.isFile()||r.size>t)return null;let i=await n.open(e,Ec.O_RDONLY|ph(Ec));try{let o=await i.stat();if(!o.isFile()||o.size>t)return null;let s=Buffer.alloc(o.size),a=0;for(;a<s.length;){let{bytesRead:c}=await i.read(s,a,s.length-a,a);if(c===0)break;a+=c}return(await i.stat()).size===o.size&&a===o.size?s.toString("utf8",0,a):null}finally{await i.close()}}import Vn from"node:path";import{execFile as hh}from"node:child_process";import{createHash as Ic}from"node:crypto";import{readdir as gh}from"node:fs/promises";import _h from"node:path";import{promisify as yh}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]="af5442e7-c8af-5d81-8c89-7f1a98159cec")}catch{}})();var Ee=yh(hh),zn=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function WE(e,t,n){let r=t.trim(),i=/^(['"])(.*)\1$/su.exec(r)?.[2]??r;for(let o of["rebase-merge","rebase-apply"])try{let{stdout:s}=await Ee("git",["rev-parse","--path-format=absolute","--git-path",`${o}/orig-head`],{cwd:e,timeout:1e4}),a=(await Tt(s.trim(),128))?.trim();if(a===void 0||!zn.test(a))continue;let{stdout:c}=await Ee("git",["rev-parse","--verify",`${a}:${i}`],{cwd:e,timeout:1e4}),d=c.trim();return{kind:"rebase",original_head:a,original_blob:d}}catch{}if(n!==void 0&&Object.keys(process.env).some(o=>/^GITHEAD_[a-f0-9]{40}(?:[a-f0-9]{24})?$/u.test(o)))try{let{stdout:o}=await Ee("git",["rev-parse","HEAD","ORIG_HEAD"],{cwd:e,timeout:1e4}),[s,a]=o.trim().split(/\r?\n/u);if(s!==a||!zn.test(s))return;let{stdout:c}=await Ee("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),d=c.trim(),l=Ic(d.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(n)}\0`).update(n).digest("hex");return d!==l?void 0:{kind:"merge",original_head:s,original_blob:d}}catch{}}function Cc(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e;return Object.keys(t).length===3&&(t.kind==="rebase"||t.kind==="merge")&&typeof t.original_head=="string"&&zn.test(t.original_head)&&typeof t.original_blob=="string"&&zn.test(t.original_blob)}async function Sc(e,t,n,r){if(r!==void 0&&Ic(n.original_blob.length===40?"sha1":"sha256").update(`blob ${Buffer.byteLength(r)}\0`).update(r).digest("hex")!==n.original_blob)return!1;try{let{stdout:i}=await Ee("git",["rev-parse","--absolute-git-dir"],{cwd:e,timeout:1e4}),o=new Set(["rebase-merge","rebase-apply","MERGE_HEAD","CHERRY_PICK_HEAD","REVERT_HEAD"]);if((await gh(i.trim())).some(d=>o.has(d)))return!1;let{stdout:s}=await Ee("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(s.trim()!==n.original_head)return!1;let{stdout:a}=await Ee("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(a.trim()!==n.original_blob)return!1;let{stdout:c}=await Ee("git",["hash-object","--",_h.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==n.original_blob?!1:(await Ee("git",["diff","--cached","--quiet","HEAD","--",t],{cwd:e,timeout:1e4}),!0)}catch{return!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]="35c5d9a8-5ae0-5e97-9ea3-f8a70a5fd7d0")}catch{}})();var vh=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,bh=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,Wn=2048,wh=64,kh=1e5,Eh=new Set(["version","id","item_path","item_id","requested_preference","requested_preference_applied","preferred","conflict_resolution","fields_from_theirs","union_fields","merged_field_hashes","decisions","state","created_at","reconciled_at","value_availability","value_policy","evidence_source","operation","settlement"]);function Yn(e){return vh.test(e)}var Ih=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),Xn="bounded_non_sensitive_scalars_v1",Ch=new Set(["open","in_progress","blocked","closed","canceled"]),Sh=new Set(["risk","confidence","severity"]),Th=new Set(["low","medium","high","critical"]),Rc=new Map([["priority",new Set([0,1,2,3,4].map(k))],["status",new Set([...Ch].map(k))],...[...Sh].map(e=>[e,new Set([...Th].map(k))])]);function _e(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xc(e,t){return Object.keys(e).every(n=>t.has(n))}function qn(e){return Array.isArray(e)&&e.length<=Wn&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function Rt(e){let t=[{value:e,depth:0}],n=0;for(;t.length>0;){let r=t.pop();if(n+=1,n>kh||r.depth>wh)return!1;if(Array.isArray(r.value))for(let i of r.value)t.push({value:i,depth:r.depth+1});else if(_e(r.value))for(let i of Object.values(r.value))t.push({value:i,depth:r.depth+1})}return!0}function Dc(e){if(!_e(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[xc(e,Ih),typeof e.field=="string",typeof e.field=="string"&&e.field.length>0,typeof e.field=="string"&&e.field.length<=256,Object.hasOwn(e,"base"),Object.hasOwn(e,"ours"),Object.hasOwn(e,"theirs"),Object.hasOwn(e,"retained"),Object.hasOwn(e,"discarded"),Rt(e.base),Rt(e.ours),Rt(e.theirs),Rt(e.retained),Rt(e.discarded),t.includes(e.retained_side),n.includes(e.resolution_basis)].every(Boolean)}function Rh(e){if(!_e(e))return!1;let t=Object.entries(e);return t.length<=Wn&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function xh(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||Vn.posix.isAbsolute(e))return!1;let n=Vn.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&Vn.posix.basename(n,Vn.posix.extname(n))===t}function Dh(e){return!qn(e.fields_from_theirs)||!qn(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>Wn||!e.decisions.every(Dc)?!1:e.merged_field_hashes===void 0||Rh(e.merged_field_hashes)}function Ah(e){let t=[void 0,"ours","theirs"],n=[void 0,"preferred_side","stable_value_order","latest_document_update"],r=[void 0,"clone_local","hash_only","bounded_inline","mixed"],i=[void 0,"clone_local","durable"];return t.includes(e.requested_preference)&&t.includes(e.preferred)&&(e.requested_preference_applied===void 0||typeof e.requested_preference_applied=="boolean")&&n.includes(e.conflict_resolution)&&(e.state==="pending"||e.state==="reconciled")&&r.includes(e.value_availability)&&(e.value_policy===void 0||e.value_policy===Xn)&&i.includes(e.evidence_source)}function Oh(e){return typeof e.created_at=="string"&&Ir(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&Ir(e.reconciled_at))}function Tc(e,t){if(!_e(t)||Jn(t)===void 0)return!1;let n=Object.keys(t);if(!n.every(i=>i==="pm_value_hash"||i==="pm_value"))return!1;if(!Object.hasOwn(t,"pm_value"))return n.length===1;let r=t.pm_value;return(r===null||Rc.get(e)?.has(k(r))===!0)&&xe(r)===t.pm_value_hash}function Lh(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&Tc(r.field,r.retained)&&Tc(r.field,r.discarded)))return!1;let t=e.decisions.reduce((r,i)=>r+(_e(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(_e(i.discarded)&&Object.hasOwn(i.discarded,"pm_value")?1:0),0),n=t===0?"hash_only":t===e.decisions.length*2?"bounded_inline":"mixed";return e.value_availability===n&&(t===0||e.value_policy===Xn)}function Fh(e){return e.operation!==void 0&&!Cc(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function Mh(e){for(let t of["version","id","item_path","item_id","fields_from_theirs","union_fields","decisions","state","created_at"])if(!Object.hasOwn(e,t))return"required_fields";return e.version!==1||!xc(e,Eh)?"required_fields":typeof e.id!="string"||!Yn(e.id)?"receipt_id":typeof e.item_id!="string"||!bh.test(e.item_id)?"item_id":xh(e.item_path,e.item_id)?null:"item_path"}function Si(e,t){if(!_e(e))return"required_fields";let n=Mh(e);return n!==null?n:Fh(e)?Dh(e)?Ah(e)?Oh(e)?t==="durable"&&!Lh(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function Ti(e){if(!_e(e)||e.version!==1||e.value_policy!==void 0||!Array.isArray(e.decisions))return e;let t=(e.preferred==="ours"||e.preferred==="theirs")&&e.requested_preference===void 0,n=(e.requested_preference==="ours"||e.requested_preference==="theirs")&&e.value_availability==="clone_local";return!t&&!n?e:{...e,decisions:e.decisions.map(r=>!_e(r)||!Object.hasOwn(r,"retained")||!Object.hasOwn(r,"discarded")?r:{base:T(void 0),ours:T(void 0),theirs:T(void 0),...r})}}function Ac(e){if(!_e(e))return;if(!qn(e.fields_from_theirs))return"fields_from_theirs";if(!qn(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>Wn)return"decisions";let t=e.decisions.findIndex(n=>!Dc(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function Ri(e,t){return Si(e,t)===null}function Jn(e){if(typeof e!="object"||e===null||Array.isArray(e)||!("pm_value_hash"in e))return;let t=e.pm_value_hash;return typeof t=="string"&&/^[a-f0-9]{64}$/u.test(t)?t:void 0}function xi(e,t){let n=at(t),r=xe(n?void 0:t);return!n&&(t===null||Rc.get(e)?.has(k(t))===!0)?{pm_value_hash:r,pm_value:t}:{pm_value_hash: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]="6e5e4691-4858-5a54-82b0-65b97d929b57")}catch{}})();var Hh=Uh(Nh),Fc=16*1024*1024,Qn=100;async function Di(e){try{let{stdout:t}=await Hh("git",["rev-parse","--path-format=absolute","--git-path","pm-merge-receipts"],{cwd:e,encoding:"utf8",windowsHide:!0,timeout:1e4});return t.trim()}catch{return null}}async function Mc(e,t){let n=H.dirname(H.resolve(e,t));for(let r=0;r<12;r+=1){if(await Gt(H.join(n,"settings.json")))return n;let i=H.dirname(n);if(i===n)break;n=i}return null}function Ai(e){return H.join(e,"merge-receipts")}function ct(e){return`${e}.json`}async function Oc(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await Tt(e.receiptPath,Fc)}catch(o){if(Pe(o))return null;throw o}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let n;try{n=Ti(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!Ri(n,e.evidenceSource)||n.id!==e.receiptId||e.settlement!==void 0&&n.operation===void 0||H.basename(e.receiptPath)!==ct(n.id))throw new Error(`Receipt ${e.receiptId} settlement source failed schema or identity validation.`);let{evidence_source:r,...i}=n;return{path:e.receiptPath,fingerprints:Oi(n),modern:n.value_policy!==void 0,content:`${JSON.stringify({...i,state:"reconciled",reconciled_at:e.reconciledAt,...e.settlement?{settlement:e.settlement}:{}},null,2)}
8
+ `}}function xt(e,t=!1){return re(k({id:e.id,item_id:e.item_id,item_path:e.item_path,created_at:e.created_at,requested_preference:e.requested_preference??e.preferred??"ours",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflict_resolution??"preferred_side",fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,merged_field_hashes:e.merged_field_hashes??null,operation:e.operation??null,decisions:t?e.decisions.map(n=>({field:n.field,retained_hash:re(k(T(n.retained))),discarded_hash:re(k(T(n.discarded)))})):Zn(e).decisions}))}function Oi(e){let t=[xt(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(xt(e,!0)),t}function Bh(e,t){let{reconciled_at:n,settlement:r,...i}=e;return t.state==="reconciled"?{...i,state:"reconciled",reconciled_at:t.reconciled_at,...t.settlement===void 0?{}:{settlement:t.settlement}}:{...i,state:"pending"}}async function Gh(e,t,n){let r=new Map;for(let i of t){let o=e.get(i.id);if(i.state!=="reconciled"||o===void 0)continue;let s=r.get(o.item_id);if(s===void 0){try{s=await ze(H.join(n,"history",`${o.item_id}.jsonl`),o.item_id),le(s).ok||(s=[])}catch{s=[]}r.set(o.item_id,s)}let a=o.settlement==="original_git_state_restored",c=k({...Zn(o),...a?{reason:o.settlement,operation:o.operation}:{}});if(!s.some(d=>{if(d.op!=="merge_reconcile"||d.record_hash_version===void 0)return!1;let l=d.context?.merge;if(typeof l!="object"||l===null||Array.isArray(l))return!1;let u=l[a?"abandoned_receipts":"receipts"];return Array.isArray(u)&&u.some(f=>k(f)===c)})){let{reconciled_at:d,settlement:l,...u}=o;e.set(o.id,{...u,state:"pending"})}}}function Zn(e){return{receipt_id:e.id,item_id:e.item_id,item_path:e.item_path,conflict_fields:e.decisions.map(t=>t.field),fields_from_theirs:e.fields_from_theirs,union_fields:e.union_fields,requested_preference:e.requested_preference??e.preferred??"ours",requested_preference_applied:e.requested_preference_applied??(e.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflict_resolution,decisions:e.decisions.map(t=>({field:t.field,retained_hash:Jn(t.retained)??xe(at(t.retained)?void 0:t.retained),discarded_hash:Jn(t.discarded)??xe(at(t.discarded)?void 0:t.discarded)}))}}async function gI(e){let t=await Di(e.cwd);if(t===null)return null;let n=e.itemPath.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n,i=H.basename(r,H.extname(r)),o={version:1,id:$h(),item_path:r.replaceAll("\\","/"),item_id:i,requested_preference:e.preferred,requested_preference_applied:(e.conflictResolution??"preferred_side")==="preferred_side",conflict_resolution:e.conflictResolution??"preferred_side",fields_from_theirs:[...e.fieldsFromTheirs],union_fields:[...e.unionFields],...e.mergedFieldHashes?{merged_field_hashes:{...e.mergedFieldHashes}}:{},decisions:structuredClone(e.decisions).map(a=>({...a,base:T(a.base),ours:T(a.ours),theirs:T(a.theirs),retained:T(a.retained),discarded:T(a.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:x(),value_availability:"clone_local"};await vr(t),await W(H.join(t,ct(o.id)),`${JSON.stringify(o,null,2)}
9
+ `);let s=await Mc(e.cwd,o.item_path);if(s!==null){let a=Ai(s),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:xi(u.field,u.retained),discarded:xi(u.field,u.discarded),retained_side:u.retained_side,resolution_basis:u.resolution_basis})),d=c.reduce((u,f)=>u+(Object.hasOwn(f.retained,"pm_value")?1:0)+(Object.hasOwn(f.discarded,"pm_value")?1:0),0),l={...o,decisions:c,value_availability:d===0?"hash_only":d===c.length*2?"bounded_inline":"mixed",value_policy:Xn};await vr(a),await W(H.join(a,ct(o.id)),`${JSON.stringify(l,null,2)}
10
+ `)}return o}async function Lc(e,t){let n;try{n=await Ph(e)}catch(a){let c=await Kh(e,a);return{receipts:[],invalid_evidence_count:c?0:1,invalid_evidence:c?[]:[{evidence_source:t,reason:"directory_unreadable"}],invalid_evidence_truncated:!1}}let r=[],i=0,o=[],s=(a,c)=>{if(i+=1,o.length>=Qn)return;let d=a.slice(0,-5);o.push({evidence_source:t,reason:c.reason,...c.validation_path?{validation_path:c.validation_path}:{},...c.validation_error===void 0?{}:{validation_error:c.validation_error},...Yn(d)?{receipt_id:d}:{candidate_name_hash:re(a)}})};for(let a of n.sort((c,d)=>c.localeCompare(d))){if(!a.endsWith(".json"))continue;let c=await zh(e,a,t);c.receipt!==void 0?r.push(c.receipt):s(a,c)}return{receipts:r,invalid_evidence_count:i,invalid_evidence:o,invalid_evidence_truncated:i>o.length}}async function Kh(e,t,n=jh){if(!ce(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(i){if(!ce(i))return!1;let o=H.dirname(r);if(o===r)return!0;r=o}}async function zh(e,t,n){let r;try{r=await Tt(H.join(e,t),Fc)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=Ti(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let o=Si(i,n);if(o!==null)return{reason:new Set(["receipt_id","item_id","item_path"]).has(o)?"identity_invalid":"schema_invalid",validation_error:o,...o==="collections"?{validation_path:Ac(i)}:{}};let s=i;if(t!==ct(s.id))return{reason:"identity_invalid",validation_error:"filename"};let{preferred:a,evidence_source:c,...d}=s;return{receipt:{...d,requested_preference:s.requested_preference??a??"ours",requested_preference_applied:s.requested_preference_applied??(s.conflict_resolution??"preferred_side")==="preferred_side",conflict_resolution:s.conflict_resolution??"preferred_side",evidence_source:n}}}async function er(e,t={}){let n=await Di(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Lc(n,"clone_local"),i=t.pmRoot??H.join(e,".agents","pm"),o=await Lc(Ai(i),"durable"),s=new Map(o.receipts.map(d=>[d.id,d])),a=0,c=[];for(let d of r.receipts){let l=s.get(d.id);if(l!==void 0&&!(l.value_policy===void 0?Oi(d):[xt(d)]).includes(xt(l))){s.delete(d.id),a+=1,r.invalid_evidence.length+o.invalid_evidence.length+c.length<Qn&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:d.id});continue}s.set(d.id,l===void 0?d:Bh(d,l))}return await Gh(s,o.receipts,i),{receipts:[...s.values()].filter(d=>(t.includeReconciled||d.state==="pending")&&(t.includeLossless!==!1||d.decisions.length>0)).sort((d,l)=>d.created_at.localeCompare(l.created_at)),invalid_evidence_count:r.invalid_evidence_count+o.invalid_evidence_count+a,invalid_evidence:[...r.invalid_evidence,...o.invalid_evidence,...c].slice(0,Qn),invalid_evidence_truncated:r.invalid_evidence_truncated||o.invalid_evidence_truncated||r.invalid_evidence_count+o.invalid_evidence_count+a>Qn,clone_local_evidence_resolved:n!==null}}async function Vh(e,t={}){return(await er(e,t)).receipts}function _I(e){let t=[],n=[];for(let r of e)(Array.isArray(r.decisions)&&r.decisions.length>0?t:n).push(r);return{pendingDecisions:t,lossless:n}}async function yI(e,t,n={}){let r=await Di(e);if(r===null){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let i=t.evidence_source??"clone_local";if(!Ri(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=x(),s=H.join(r,ct(t.id)),a=await Mc(e,t.item_path),c=a===null?null:H.join(Ai(a),ct(t.id)),d=(await Promise.all([Oc({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:n.settlement}),...c===null?[]:[Oc({receiptPath:c,receiptId:t.id,evidenceSource:"durable",reconciledAt:o,settlement:n.settlement})]])).filter(l=>l!==null);if(d.length===0){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}if(!(d.some(l=>l.modern)?[xt(t)]:Oi(t)).some(l=>d.every(u=>u.fingerprints.includes(l))))throw new Error(`Receipt ${t.id} settlement copies disagree on immutable merge provenance.`);for(let l of d)await W(l.path,l.content)}async function vI(e){let t=await Vh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:x()}}async function bI(e){let t=await er(e.cwd??process.cwd(),{...e,includeLossless:!0}),n=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:n,complete:n,count:t.receipts.length,invalid_evidence_count:t.invalid_evidence_count,invalid_evidence:t.invalid_evidence,invalid_evidence_truncated:t.invalid_evidence_truncated,clone_local_evidence_resolved:t.clone_local_evidence_resolved,receipts:t.receipts,generated_at:x()}}import qh 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]="eeaf2318-5964-5d98-ad90-9faa7fc69975")}catch{}})();function Li(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=rs(e.settings);if(n.ownership_enforcement==="strict")throw new _(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,g.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function Wh(e){let t=await ye(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new _(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,g.CONFLICT);let n=await ue(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?e.readItem?await e.readItem(n):await Te(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new _(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,g.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function tr(e){let t=e.writeHistoryRaw??W;try{await t(e.historyPath,e.nextHistoryRaw),await Tr(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await qh.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Tr(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Nc(e){let t=[...Li({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await Be(e.pmRoot,e.subject.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 r=await Wh({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(r),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(r)),t}finally{await n()}}(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]="6283ef18-f75e-5e8c-a65f-0ba05858bc2b")}catch{}})();async function $c(e){let{subject:t,settings:n,operation:r,options:i}=e,o=await Uo(t.historyPath,t.id);if(o.raw===null)throw new _(`No history stream exists for ${t.id}.`,g.NOT_FOUND);if(o.entries.length===0)throw new _(`No history entries exist for ${t.id}; nothing to ${r.slice(8)}.`,g.USAGE);let s=t.located?await Te(t.located,{schema:n.schema}):null,a=we(i.author,n.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:Dr(o.entries),loadedItem:s,author:a}),d=Dr(c.rewrittenEntries);if(!d.ok)throw new _(`${r} produced an invalid rewritten chain (${d.errors.join(", ")}).`,g.GENERIC_FAILURE);let l=c.changed&&!i.dryRun?await Nc({pmRoot:e.pmRoot,subject:t,settings:n,typeRegistry:e.typeRegistry,historyRawBeforeLock:o.raw,currentItemRawBeforeLock:s?.raw??null,operation:r,author:a,force:i.force,itemDocument:s?.document??null,applyRewrite:async u=>{await c.beforeWrite?.(),c.applyRewrite?await c.applyRewrite(u):await tr({historyPath:t.historyPath,nextHistoryRaw:De(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>Vt({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:d,warnings:l})}import{isUtf8 as Yh}from"node:buffer";import{readFile as Xh}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]="cca38e64-dd53-5086-8825-dc1c8f1cc587")}catch{}})();function Jh(e){let t;try{t=JSON.parse(e)}catch{if(e.trimStart().startsWith("{")&&e.includes("}"))throw new _("History salvage cannot discard a potentially complete record with trailing corruption.",g.CONFLICT,{code:"history_salvage_refused"});return null}if(typeof t!="object"||t===null||Array.isArray(t))throw new _("History salvage would conceal interior corruption or a malformed record.",g.CONFLICT,{code:"history_salvage_refused"});let n=t;if(!Array.isArray(n.patch)||![n.ts,n.author,n.op,n.before_hash,n.after_hash].every(r=>typeof r=="string"))throw new _("History salvage requires complete history records before the invalid tail.",g.CONFLICT,{code:"history_salvage_refused"});return n}function Qh(e){if(Ge(e))throw new _("Resolve history merge conflicts before salvage.",g.CONFLICT,{code:"history_salvage_refused"});let t=[],n=0,r,i=0;for(let[s,a]of e.split(`
11
+ `).entries()){if(!a.trim()){n+=a.length+1;continue}let c=Jh(a);if(c===null){r===void 0&&(r=n,i=s+1),n+=a.length+1;continue}if(r!==void 0)throw new _("History salvage would discard a record or conceal interior corruption.",g.CONFLICT,{code:"history_salvage_refused",required:"Recover the damaged record from version control or a backup; no bytes were changed."});t.push(c),n+=a.length+1}let o=le(t);if(!o.ok||o.item_hash_version===void 0)throw new _("History salvage requires a nonempty verified prefix.",g.CONFLICT,{code:"history_salvage_refused",verification_errors:o.errors,required:"Recover an intact history prefix from version control or a backup."});return{entries:t,itemHashVersion:o.item_hash_version,prefix:r===void 0?e:e.slice(0,r),receipt:r===void 0?null:{first_invalid_line:i,discarded_bytes:Buffer.byteLength(e.slice(r)),discarded_sha256:re(e.slice(r)),retained_entries:t.length}}}async function Zh(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await ls(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function Pc(e){let t;try{t=await Xh(e)}catch(n){if(ce(n))return null;throw n}if(!Yh(t))throw new _("History salvage requires UTF-8 input; recover binary corruption from a byte-preserving backup.",g.CONFLICT,{code:"history_salvage_refused"});return t.toString("utf8")}async function jc(e){let{subject:t,settings:n,options:r,author:i}=e;if([r.normalizeProvenance,r.auditOperation,r.auditContext,r.auditContextById,r.forceAuditEntry,r.mergeReceiptProof,r.mergeReceiptProofById].some(Boolean))throw new _("Tail salvage cannot be combined with other repair modes.",g.USAGE);let o=await Pc(t.historyPath);if(o===null)throw new _(`No history stream exists for ${t.id}.`,g.NOT_FOUND);await qt({path:t.historyPath,scope:"project"});let s=Qh(o),a=ln(s.entries,s.entries.length-1),c=Qo(a);if(typeof a.metadata.id=="string"&&a.metadata.id!==t.id)throw new _("History belongs to another item; salvage refused.",g.CONFLICT,{code:"history_salvage_refused"});let d=await Zh(t,n,c),l=Li({itemDocument:d.document,subjectId:t.id,author:i,force:r.force,settings:n}),u=s.itemHashVersion,f=r.dryRun===!0,p=s.receipt!==null;if(p&&!f){let m=await Be(e.pmRoot,t.id,n.locks.ttl_seconds,i,!!r.force,n.governance.force_required_for_stale_lock,n.locks.wait_ms);try{let h=await Pc(t.historyPath),y=await ue(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=y?await ye(y.itemPath):null;if(h!==o||b!==d.itemRaw)throw new _("History or item changed while waiting for salvage lock; retry.",g.CONFLICT);let v=on({...Xo({hashAlgorithm:be(s.entries.at(-1).hash_algorithm),nowIso:x(),author:i,op:"history_salvage",before:c,after:c,message:r.message,context:{history_salvage:s.receipt}}),before_hash:s.entries.at(-1).after_hash,after_hash:s.entries.at(-1).after_hash,item_hash_version:u});await tr({historyPath:t.historyPath,historyRawUnderLock:o,nextHistoryRaw:`${s.prefix}${JSON.stringify(v)}
12
+ `}),l.push(...await Vt({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await m()}}return{id:t.id,dry_run:f,changed:p,history:{path:t.historyPath,entries_scanned:s.entries.length,chain_drift_before:!1,entries_rehashed:0,entries_patch_repaired:0,converted_replace_to_add:0,skipped_ops:0,reconciled_with_item:!1,audit_entry_added:p&&!f,verify_ok:!0,verify_errors:[],item_hash_version_before:u,item_hash_version_after:u,version_disposition:"preserved"},item:{exists:t.located!==null,path:t.located?.itemPath??null,matched_chain_before:null},provenance_normalization:{requested:!1,changed:!1,events_changed:0,observations_removed:0,invalid_values:[]},...s.receipt?{salvage:s.receipt}:{},warnings:l,generated_at:x()}}import{realpath as Zc}from"node:fs/promises";import Mi from"node:path";import ed from"fast-json-patch";import Dt from"node:fs/promises";import{createHash as eg}from"node:crypto";import Hc 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]="97537e2a-b8cb-559e-82bc-3c98b0c51db1")}catch{}})();var Fi=new Set([void 0,...Do]),Bc=11,tg="history-drift-cache.json";function Gc(e){return Hc.join(e,"runtime",tg)}async function ng(e){try{let t=await Dt.readFile(Gc(e),"utf8"),n=JSON.parse(t);return n.version!==Bc||n.history_item_hash_version!==rn||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!Fi.has(r.hash_algorithm)||!Ve.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&Ve.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}function Kc(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function zc(e){let t=[...new Set([...e.missingStreams,...e.unreadableStreams,...e.hashMismatches,...e.chainMismatches,...e.versionSkews,...e.workspaceStateMismatches.length>0||e.workspaceStateMissing.length>0||e.workspaceStateUnreadable.length>0?[Z]:[]])].sort((n,r)=>n.localeCompare(r));return{...e,driftedItems:t}}async function rg(e,t,n,r,i){let o=ts(e),s;try{s=await Dt.stat(o)}catch(d){return ce(d)||i.unreadableStreams.push(Z),!1}let a=i.missingStreams.length,c=await Vc({itemId:Z,historyPath:o,stat:s,cached:t[Z],verifyCacheHitByContent:r,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(Z),c.verification.chainOk||i.chainMismatches.push(Z),n[Z]={mtime_ms:s.mtimeMs,ctime_ms:s.ctimeMs,size:s.size,content_hash:c.verification.contentHash,latest_after_hash:c.verification.latestAfterHash,chain_ok:c.verification.chainOk,version_skew:c.verification.versionSkew,latest_hash_comparable:c.verification.latestHashComparable,item_hash_version:c.verification.itemHashVersion,hash_algorithm:c.verification.hashAlgorithm},c.cacheDirty):(i.missingStreams.splice(a),c.cacheDirty)}function ig(e){return!Fi.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!Ve.includes(e.item_hash_version)}async function og(e){let t=await Dt.readFile(e,"utf8"),n=eg("sha256").update(t).digest("hex");if(t.trim().length===0)return null;let r=[],i=null;for(let f of t.split(/\r?\n/)){let p=f.trim();if(p.length===0)continue;let m=JSON.parse(p);if(typeof m.after_hash!="string"||m.after_hash.trim().length===0)throw new Error("missing after_hash");r.push(m),i=m.after_hash}if(!i)return null;let o=le(r),s=r.some(ig),a=r[r.length-1],c=Fi.has(a.hash_algorithm),d=a.item_hash_version,l=d!==void 0&&Ve.includes(d),u=l?d:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?be(a.hash_algorithm):void 0,identityDiscontinuities:Rr(r),chainOk:o.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||l||d===void 0),contentHash:n,itemHashVersion:u??rn}}function sg(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function Uc(e,t,n){try{return await og(t)||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function ag(e,t){return e!==null&&e.contentHash===t.content_hash&&e.latestAfterHash===t.latest_after_hash&&e.chainOk===t.chain_ok&&e.versionSkew===(t.version_skew===!0)&&e.latestHashComparable===t.latest_hash_comparable&&e.itemHashVersion===t.item_hash_version&&e.hashAlgorithm===t.hash_algorithm}async function Vc(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(sg(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await Uc(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let n=await Uc(e.itemId,e.historyPath,e.accumulator);return{verification:n,cacheDirty:!ag(n,e.cached)}}return{verification:{identityDiscontinuities:[],latestAfterHash:e.cached.latest_after_hash,chainOk:e.cached.chain_ok,versionSkew:e.cached.version_skew===!0,latestHashComparable:e.cached.latest_hash_comparable&&Ve.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function qc(e,t,n,r){let i,o;try{i=Ue(e,t.id),o=await Dt.stat(i)}catch(d){return(ce(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await Vc({itemId:t.id,historyPath:i,stat:o,cached:n.previousEntries[t.id],verifyCacheHitByContent:n.verifyCacheHitByContent,accumulator:r});if(!s.verification)return s.cacheDirty;s.verification.identityDiscontinuities.length>0&&(r.identityDiscontinuities??=[]).push(...s.verification.identityDiscontinuities.map(d=>({...d,item_id:t.id}))),s.verification.versionSkew&&r.versionSkews.push(t.id),s.verification.chainOk||r.chainMismatches.push(t.id),n.nextEntries[t.id]={mtime_ms:o.mtimeMs,ctime_ms:o.ctimeMs,size:o.size,content_hash:s.verification.contentHash,latest_after_hash:s.verification.latestAfterHash,chain_ok:s.verification.chainOk,version_skew:s.verification.versionSkew,latest_hash_comparable:s.verification.latestHashComparable,item_hash_version:s.verification.itemHashVersion,hash_algorithm:s.verification.hashAlgorithm};let{body:a,...c}=t;return s.verification.latestHashComparable&&(sn({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function cg(e,t){if(!(t.unreadableStreams.includes(Z)||t.chainMismatches.includes(Z)||t.versionSkews.includes(Z)))try{let n=await ns(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(Z)}}async function mC(e,t){let n=Kc();return await qc(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},n),zc(n)}async function Wc(e,t,n={}){let r=Kc(),i=(await ng(e))?.entries??{},o={},s=!1,a=n.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:a};for(let l of t)await qc(e,l,c,r)&&(s=!0);let d=await rg(e,i,o,a,r);if(s||=d,await cg(e,r),s||Object.keys(i).length!==Object.keys(o).length){let l=Gc(e);try{await Dt.mkdir(Hc.dirname(l),{recursive:!0}),await W(l,JSON.stringify({version:Bc,history_item_hash_version:rn,entries:o}))}catch{}}return zc(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]="42f8db8f-d659-58e9-84af-21ced6d6a403")}catch{}})();function Yc(e,t){return t==="body"?e.body:e.metadata[t]}function dg(e,t){if(t===null||typeof t!="object"||Array.isArray(t))return!1;let n=t;return e==="comments"?typeof n.created_at=="string"&&typeof n.author=="string"&&typeof n.text=="string":typeof n.path=="string"||e==="tests"&&typeof n.command=="string"}function lg(e){let t={...e};if(t.source_kind==="merge_union"&&(t.source_kind="local_mutation"),t.provenance!==null&&typeof t.provenance=="object"&&!Array.isArray(t.provenance)){let n={...t.provenance};n.source_kind==="merge_union"&&(n.source_kind="local_mutation"),t.provenance=n}return t}function Xc(e,t){if(!Array.isArray(t)||!["comments","docs","tests"].includes(e)||!t.every(r=>dg(e,r)))return t;let n=t.map(r=>e==="comments"?r:lg(r));return[...new Map(n.map(r=>[k(r),r])).values()]}function Ni(e,t){if(e===void 0||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let r=new Set;return e.every(i=>{let o=t.findIndex((s,a)=>!r.has(a)&&Ni(i,s));return o<0?!1:(r.add(o),!0)})}if(e===null||t===null||typeof e!="object"||typeof t!="object"||Array.isArray(t))return!1;let n=t;return Object.entries(e).every(([r,i])=>Object.hasOwn(n,r)&&Ni(i,n[r]))}function Jc(e,t){let n=new Set(t),r=[];for(let i=e.length-1;i>=0&&n.size>0;i-=1){let o=e[i],s=new Set;for(let c of cn(o.patch))s.add(pn(c.path)),c.from&&s.add(pn(c.from));let a=[...n].filter(c=>s.has(c));if(a.length!==0){for(let c of a)n.delete(c);r.push({index:i+1,ts:o.ts,author:o.author,op:o.op,fields:a.sort((c,d)=>c.localeCompare(d))})}}return r.reverse()}function ug(e,t,n){let r=ed.compare(t,n);if(r.length===0)return;let i=new Set;for(let m of r)i.add(pn(m.path));let o=new Set([...i].filter(m=>Ni(Xc(m,Yc(t,m)),Xc(m,Yc(n,m))))),s=new Set([...i].filter(m=>!o.has(m))),a=Jc(e,s),c=Jc(e,o),d=[...i].sort((m,h)=>m.localeCompare(h)),l=[...s].sort((m,h)=>m.localeCompare(h)),u=[...o].sort((m,h)=>m.localeCompare(h)),f=[...new Set(a.map(m=>m.author))].sort((m,h)=>m.localeCompare(h)),p=[...new Set(c.map(m=>m.author))].sort((m,h)=>m.localeCompare(h));return{reconciled_field_count:i.size,reconciled_fields:d,reverted_field_count:s.size,reverted_fields:l,discarded_events:a,discarded_authors:f,preserved_field_count:o.size,preserved_fields:u,preserved_events:c,preserved_authors:p,recovery_hint:a.length>0?"Reconciliation keeps the on-disk item and overwrites these replayed mutations. To recover one, inspect it with pm history <id> --diff --field <field>, then re-apply the lost value with pm update.":null}}async function fg(e){try{return await Zc(e)}catch{return null}}async function mg(e){if(await fg(Mi.resolve(e.gitWorkspaceRoot,e.receipt.item_path))!==e.currentPath)return null;let t=[...new Set([...e.receipt.fields_from_theirs,...e.receipt.union_fields,...e.receipt.decisions.map(o=>o.field)])].sort(),n=e.receipt.merged_field_hashes;if(!n||t.length===0)return null;let r=Object.keys(n).sort();if(t.length!==r.length||t.some((o,s)=>o!==r[s]))return null;let i=e.currentItemReplay.metadata;return t.every(o=>{let s=o==="body"?e.currentItemReplay.body:i[o];return[xe(s),re(k(T(s)))].includes(n[o])})?{receipt:e.receipt,declaredFields:t}:null}async function pg(e){if(e.proof.gitWorkspaceRoot===null)return{trusted:!1,reason:"git_workspace_unavailable",receipt_ids:[]};if(e.itemPath===null||e.currentItemReplay===null)return{trusted:!1,reason:"item_path_unavailable",receipt_ids:[]};let t=e.proof.receipts.filter(s=>s.item_id===e.id);if(t.length===0)return{trusted:!1,reason:"no_item_receipts",receipt_ids:[]};let n=await Zc(e.itemPath),r=[];for(let s of t){let a=await mg({receipt:s,gitWorkspaceRoot:e.proof.gitWorkspaceRoot,currentPath:n,currentItemReplay:e.currentItemReplay});a&&r.push(a)}let i=new Set(r.flatMap(({declaredFields:s})=>s)),o=e.reconciliation?.reconciled_fields;return r.length>0&&(o===void 0||o.length>0&&o.every(s=>i.has(s)))?{trusted:!0,reason:"trusted_merge_driver_hash_evidence",receipt_ids:r.map(({receipt:s})=>s.id)}:{trusted:!1,reason:"no_receipt_set_proves_snapshot",receipt_ids:[]}}async function Qc(e,t,n,r){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,s=t.currentItemPath===null?null:Mi.relative(o,t.currentItemPath).split(Mi.sep).join("/");if(!n||r.entriesRehashed!==0||r.entriesPatchRepaired!==0||t.matchedChainBefore!==!0||t.currentItemRawBeforeLock===null||s!==i.item_path||i.operation===void 0||!await Sc(o,i.item_path,i.operation,t.currentItemRawBeforeLock))throw new _("Restored-origin receipt evidence no longer proves the exact clean item snapshot.",g.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",recovery:{suggested_retry:"pm merge reconcile --dry-run"}})}async function hg(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(o=>o.item_id===e.subjectId).map(o=>o.id)??[]),n=(e.options.mergeReceiptProof?await er(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0)?.receipts.filter(o=>o.item_id===e.subjectId&&t.has(o.id))??[],r=e.options.mergeReceiptProof?await pg({proof:{...e.options.mergeReceiptProof,receipts:n},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(r&&!r.trusted&&e.options.force!==!0)throw new _(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${r.reason}).`,g.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",required:"Use authoritative clone-local or durable receipt evidence whose canonical path, declared fields, and merged-value hashes match the current item, or review the mismatch and rerun with --force.",recovery:{suggested_retry:"pm merge reconcile --dry-run"}});let i=r?.trusted?n.filter(o=>r.receipt_ids.includes(o.id)):[];return{mergeReceiptProof:r,effectiveAuditContext:i.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:i.map(Zn)}}:e.options.auditContext}}function gg(e,t,n){let r=e.located?.itemPath??null,i=t.loadedItem,o=t.entries;if(!i)return{currentItemReplay:null,currentItemPath:r,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let s=an(i.document),a=o[o.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:qe(s,n,be(o.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:i.raw,loadedItem:i}}function _g(e){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-repair re-anchored ${e.entriesRehashed} entr${e.entriesRehashed===1?"y":"ies"}${e.entriesPatchRepaired>0?`, repaired ${e.entriesPatchRepaired} patch(es)`:""}${e.reconcileNeeded?", reconciled chain with on-disk item":""}.`}function yg(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=be(e.reanchorEntries.at(-1)?.hash_algorithm),i=qe(e.finalReplay,e.itemHashVersion,r),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=i.indexOf(o),a=qe(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:x(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?ed.compare(e.finalReplay,e.currentItemReplay):[],before_hash:i[s],after_hash:a[s],message:e.message,...e.explicitItemHashVersion?{item_hash_version:e.itemHashVersion}:{},...e.auditContext===void 0?{}:{context:e.auditContext}};return t.push(on({...c,event_class:Ho(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function vg(e,t,n){let r=[];return e||r.push("history_repair_no_changes"),t>0&&r.push(`history_repair_skipped_unresolvable_ops:${t}`),n&&n.discarded_events.length>0&&r.push(`history_repair_reconcile_discards_events:${n.discarded_events.length}`,`history_repair_discarded_authors:${n.discarded_authors.join(",")}`),r}async function bg(e,t,n){let{pmRoot:r,settings:i,typeRegistry:o}=await Lr(n.path),s=await _n(r,e,i,o.type_to_folder);return t.salvageTail===!0?jc({pmRoot:r,subject:s,settings:i,typeRegistry:o,options:t,author:we(t.author,i.author_default)}):$c({pmRoot:r,subject:s,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:a=>kg({pmRoot:r,subject:s,options:t},a)})}function wg(e,t,n){let r=(e.mergeAbandonmentProof!==void 0||e.mergeReceiptProof!==void 0&&e.force!==!0)&&n!==void 0&&t.some(i=>i.record_hash_version!==void 0&&i.op==="merge_reconcile"&&k(i.context)===k(n));return e.forceAuditEntry===!0&&!r}async function kg(e,t){let{pmRoot:n,subject:r,options:i}=e,o=t.entries,s=t.verification,a=le(o),c=i.normalizeProvenance?lc(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},d=es(c.entries),l=new Set(c.entries.map(N=>N.item_hash_version).filter(N=>N!==void 0)),u=dn(c.entries,d),f=gg(r,t,d);await Qc(i.mergeAbandonmentProof,f,s.ok,u);let p=u.finalDocument,m=qe(p,d),h=!1;if(f.currentItemReplay!==null){let N=qe(f.currentItemReplay,d);h=!m.some((B,Y)=>B===N[Y])}let y=h&&f.currentItemReplay?ug(u.entries,p,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await hg({options:i,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:y}),w=[u.entriesRehashed>0,u.entriesPatchRepaired>0,h,wg(i,u.entries,v),c.receipt.changed].some(Boolean),E=t.author,S=!!i.dryRun,P=_g({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:h}),{rewrittenEntries:j,auditEntryAdded:M}=yg({reanchorEntries:u.entries,changed:w,reconcileNeeded:h,currentItemReplay:f.currentItemReplay,finalReplay:p,author:E,message:P,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:d,explicitItemHashVersion:u.explicitItemHashVersion}),Ce=vg(w,u.skippedOps,y);return{changed:w,rewrittenEntries:j,beforeWrite:async()=>Qc(i.mergeAbandonmentProof,f,s.ok,u),report:({verification:N,warnings:B})=>({id:r.id,dry_run:S,changed:w,history:{path:r.historyPath,entries_scanned:o.length,chain_drift_before:!s.ok,entries_rehashed:u.entriesRehashed,entries_patch_repaired:u.entriesPatchRepaired,converted_replace_to_add:u.convertedReplaceToAdd,skipped_ops:u.skippedOps,reconciled_with_item:h,audit_entry_added:M,verify_ok:N.ok,verify_errors:N.errors,item_hash_version_before:a.item_hash_version??null,item_hash_version_after:d,version_disposition:l.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:f.currentItemPath!==null,path:f.currentItemPath,matched_chain_before:f.matchedChainBefore},provenance_normalization:{requested:i.normalizeProvenance===!0,...c.receipt},...y?{reconciliation:y}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...Ce,...B])].sort((Y,X)=>Y.localeCompare(X)),generated_at:x()})}}function PC(e,t){if(t&&e!==void 0)throw new _("history-repair: <id> and --all are mutually exclusive; pass an item id to repair one stream or --all to repair every drifted stream.",g.USAGE);if(!t&&e===void 0)throw new _("history-repair: provide an item <id> or pass --all to repair every drifted stream.",g.USAGE)}async function jC(e,t){if(e.salvageTail===!0)throw new _("Tail salvage requires one explicit item ID; --all is not supported.",g.USAGE);let{pmRoot:n,settings:r,typeRegistry:i}=await Lr(t.path),o=[],s=await fn(n,r.item_format,i.type_to_folder,o,r.schema,{forceSourceScan:!0}),a=await Wc(n,s),c=e.normalizeProvenance?await uc(n):[],d=[...new Set([...a.driftedItems,...c])].sort((p,m)=>p.localeCompare(m)),l=[],u=[],f={repaired:0,skipped_clean:0,failed:0};for(let p of d)try{let m=await bg(p,{...e,auditContext:e.auditContextById?.[p],auditContextById:void 0,mergeReceiptProof:e.mergeReceiptProofById?.[p]??e.mergeReceiptProof,mergeReceiptProofById:void 0},t),h=m.changed?"repaired":"skipped_clean";f[h]+=1,u.push(...m.warnings.map(y=>`${p}:${y}`)),l.push({id:p,outcome:h,entries_rehashed:m.history.entries_rehashed,entries_patch_repaired:m.history.entries_patch_repaired,reconciled_with_item:m.history.reconciled_with_item,...m.reconciliation?{reconciliation:m.reconciliation}:{},...m.merge_receipt_proof?{merge_receipt_proof:m.merge_receipt_proof}:{},warnings:m.warnings})}catch(m){f.failed+=1,l.push({id:p,outcome:"failed",error:m instanceof Error?m.message:String(m)})}return e.dryRun||await zo(n),{all:!0,dry_run:!!e.dryRun,scanned_streams:s.length,drifted_streams:a.driftedItems.length,provenance_invalid_streams:c.length,streams:l,totals:f,warnings:[...new Set([...o,...u])].sort((p,m)=>p.localeCompare(m)),generated_at:x()}}(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]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var td=16;async function nd(e,t,n){let r=L(t,D()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<td;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await ue(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await Te(c,{schema:t.schema});i.push(d.document.metadata.id),s=d.document.metadata.parent}return i}async function zC(e){await No({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await nd(e.pmRoot,e.settings,e.itemId)})}async function VC(e){await $o(e)}async function qC(e){await Po({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await nd(e.pmRoot,e.settings,e.itemId)}:{}})}var WC={lineage_depth:td,active_items:64,evidence_rows:32};function rd(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}import{encode as Eg}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]="809a4d75-4915-585d-9fc8-ad3e9ef15b1f")}catch{}})();var $i=["agenda","day","week","month"],Pi=["markdown","toon","json"],Ig=["sun","mon","tue","wed","thu","fri","sat"],Cg=365,Sg=365,sd=28,Tg=1e3;function ji(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new _(`${t} must be a non-negative integer`,g.USAGE);return n}function Rg(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new _("Calendar include filter must not be empty",g.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new _("Calendar include filter must be deadlines|reminders|events|scheduled|all",g.USAGE)}return r}function ad(e,t){let n;for(let r of t){let i=vo(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function xg(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!$i.includes(t)){let n=ad(t,$i);throw new _(`Calendar view must be one of ${$i.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function Dg(e){if(!e)return;let t=e.trim().toLowerCase();if(!Pi.includes(t)){let n=ad(t,Pi);throw new _(`Calendar format must be one of ${Pi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function tS(e,t){let n=Dg(e.format);if(t.json&&n&&n!=="json")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?"json":n??"markdown"}function Ag(e,t){if(e===void 0)return;let n=Q(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new _(`Calendar status filter must be one of ${r.join("|")}`,g.USAGE)}return n}function Og(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new _("Calendar assignee filter must be one of assigned|unassigned",g.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new _(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,g.USAGE);return t}function nr(e){return new Date(e).toISOString().slice(0,10)}function cd(e,t){if(!t||t==="UTC")return nr(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return nr(e)}function Gi(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function Ie(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function dd(e){let t=new Date(Gi(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return Ie(t.toISOString(),r)}function Lg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Fg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Mg(e,t){return C(e,t)>=0?e:t}function id(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function od(e,t){e.set(t,(e.get(t)??0)+1)}function Ng(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>je(r)-je(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function ld(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function ud(e){return Ig[new Date(e).getUTCDay()]}function $g(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Pg(e){let t=new Set;for(let n of e??[]){let r=$g(n);r&&t.add(r)}return t}function jg(e,t,n,r,i){let o=e??Ie(n,-(r??Sg)),s=t??Ie(e??n,i??Cg);return{start:o,end:C(s,o)>0?s:Ie(o,1)}}function Ug(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[ud(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Tg,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Pg(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>je(s)-je(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function rr(e,t){return C(t,e.startAt)<0?"continue":e.until&&C(t,e.until)>0||C(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,C(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function ir(e,t){let n=ud(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Hg(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(ir(e,t)&&rr(e,t)==="stop");n+=1)t=Ie(t,e.interval);return e.occurrences}function Bg(e,t,n){let r=je(n),i=Ie(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function Gg(e){let t=dd(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=Ie(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Bg(e,r,i);if(ir(e,o)&&rr(e,o)==="stop")return e.occurrences}}return e.occurrences}function Kg(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=ld(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!ir(e,s))&&rr(e,s)==="stop")return e.occurrences}}return e.occurrences}function zg(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=ld(i,n,o,e.startDate);if(!(!s||!ir(e,s))&&rr(e,s)==="stop")return e.occurrences}}return e.occurrences}function Vg(e,t,n,r){let i=Ug(e,t,n,r);return t.freq==="daily"?Hg(i):t.freq==="weekly"?Gg(i):t.freq==="monthly"?Kg(i):zg(i)}function fd(e){return[...e].sort((t,n)=>{let r=C(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function Ki(e){return{item_id:e.id,item_title:e.title,item_type:e.type,item_status:e.status,item_priority:e.priority,item_assignee:e.assignee??null,item_deadline:e.deadline??null,item_tags:e.tags}}function qg(e){return e.deadline?{at:e.deadline,date:nr(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e),item_deadline:e.deadline}:null}function Wg(e){return(e.reminders??[]).map(t=>({at:t.at,date:nr(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e)}))}function Yg(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Xg(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Jg(e,t,n,r){let i=Ng(t.recurrence),o=Yg(t.start_at,t.end_at);return(t.recurrence?Vg(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):cd(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Xg(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Ki(e)}))}function Qg(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?qg(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Wg(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Jg(o,a,t,r))}return fd(i)}function Zg(e,t,n,r,i){let o=Cs(t.type,n),s=t.tag?.trim().toLowerCase(),a=In(t.priority),c=Ag(t.status,r),d=t.assignee?.trim(),l=Og(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new _('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',g.USAGE);if(d!==void 0&&l==="unassigned")throw new _("Cannot combine --assignee with --assignee-filter unassigned",g.USAGE);return e.filter(p=>e_(p,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function e_(e,t){return t_(e,t)&&n_(e,t)&&gn(e,t.runtimeFieldFilters)}function t_(e,t){return!(t.typeFilter&&e.type!==t.typeFilter||t.tagFilter&&!e.tags.some(n=>n.trim().toLowerCase()===t.tagFilter)||t.priorityFilter!==void 0&&e.priority!==t.priorityFilter||t.statusFilter&&e.status!==t.statusFilter)}function n_(e,t){return!(t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee||t.assigneeFilter!==void 0&&e.assignee!==t.assigneeFilter||t.sprintFilter!==void 0&&e.sprint!==t.sprintFilter||t.releaseFilter!==void 0&&e.release!==t.releaseFilter)}function r_(e,t,n){return!(t&&C(e.at,t)<0||n&&C(e.at,n)>=0)}function Ui(e,t,n){return e.trim().toLowerCase()==="today"?Gi(t):ve(e,new Date(t),n)}function i_(e,t,n){let r=t.date?Ui(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Ui(t.from,n,"--from"):void 0,a=t.to?Ui(t.to,n,"--to"):void 0;if(s&&a&&C(s,a)>=0)throw new _("Calendar --from must be before --to",g.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new _("--from and --to are only supported for --view agenda",g.USAGE);if(e==="agenda")return o_(r,t,n,i,o,s,a);if(e==="day"){let d=Gi(r);return Hi(r,n,i,o,d,Ie(d,1))}if(e==="week"){let d=dd(r);return Hi(r,n,i,o,d,Ie(d,7))}let c=Lg(r);return Hi(r,n,i,o,c,Fg(r))}function o_(e,t,n,r,i,o,s){if(i)throw new _("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",g.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function Hi(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Mg(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function s_(e){let t=new Map;for(let n of e){let r=t.get(n.date)??[];r.push(n),t.set(n.date,r)}return[...t.entries()].sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>({date:n,count:r.length,events:fd(r)}))}function a_(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let c of e)t.add(c.item_id),od(n,c.item_type),od(r,c.item_status),c.kind==="deadline"?i+=1:c.kind==="reminder"?o+=1:(s+=1,c.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:id(n),by_status:id(r),recurring_events:a}}function c_(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function md(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Bi(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function d_(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===cd(e.event_end,e.event_timezone)?md(e.event_end,e.event_timezone):e.event_end:null}function l_(e){let t=`${md(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=d_(e);return i&&n.push(`end=${i}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function nS(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${c_(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${Bi(e.summary.by_kind)}`),t.push(`- by-type: ${Bi(e.summary.by_type)}`),t.push(`- by-status: ${Bi(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
13
+ `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${l_(r)}`);t.push("")}if(e.warnings&&e.warnings.length>0){t.push("### warnings");for(let n of e.warnings)t.push(`- ${n}`);t.push("")}return u_(t.join(`
14
+ `))}function rS(e){return Eg(e)}function u_(e){let t=e.length;for(;t>0&&e[t-1]===`
15
+ `;)t-=1;return e.slice(0,t)}function f_(e){let t=x(),n=xg(e.view),r=i_(n,e,t),i=ie(e.limit),o=Rg(e.include),s=ji(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=ji(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=ji(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new _("Calendar occurrence limit must be >= 1",g.USAGE);let d=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||c!==void 0,u=d&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:c,recurrenceLookaheadDays:u?sd:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function m_(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${sd}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function p_(e,t){return{type:e.type??null,tag:e.tag??null,priority:e.priority??null,status:e.status??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,runtime_filters:t,limit:e.limit??null,include:e.include??null,full_period:e.fullPeriod===!0?"true":null,recurrence_lookahead_days:e.recurrenceLookaheadDays??null,recurrence_lookback_days:e.recurrenceLookbackDays??null,occurrence_limit:e.occurrenceLimit??null}}function h_(e,t){return{start:t.start??null,end:t.end??null,period_start:t.periodStart??null,period_end:t.periodEnd??null,full_period:t.fullPeriod,past:e.past===!0,from:e.from??null,to:e.to??null}}async function pd(e,t){let n=O(process.cwd(),t.path);await U(n);let r=f_(e),i=await F(n),o=J(i.schema),s=nn(i.schema),a=hn(e,s,"calendar"),c=L(i,D()),d=[];m_(d,r.eventsOnlyCapApplied);let l=await fe(n,i.item_format,c.type_to_folder,d,i.schema),u=Zg(l,e,c,o,a),f=jg(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=Qg(u,f,r.includeSources,r.occurrenceLimit).filter(b=>r_(b,r.rangeBounds.start,r.rangeBounds.end)),m=r.limit===void 0?p:p.slice(0,r.limit),h=s_(m),y=[...new Set(d)].sort((b,v)=>b.localeCompare(v));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:h_(e,r.rangeBounds),filters:p_(e,a),summary:a_(m),events:m,days:h,...y.length>0?{warnings:y}:{}}}(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]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var or={version:1,aliases:{}};function sr(e=[]){let t=new Set(Ke),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function hd(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function zi(e,t){if(e.agent_harness?.trim())return{agent_harness:e.agent_harness,harness_source:"recorded"};let n=t.aliases[e.author];return n?{agent_harness:n,harness_source:"vocabulary"}:{harness_source:"unresolved"}}function Vi(e,t=Ke){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new _(`Provenance predicate must use dimension=value; received "${o.trim()}".`,g.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),c=o.slice(s+1).trim();if(!n.has(a))throw new _(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,g.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new _(`Provenance predicate must use dimension=value; received "${o.trim()}".`,g.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function ar(e,t=or,n={}){let r=zi(e,t);return{...n.itemId===void 0?{}:{item_id:n.itemId},...n.version===void 0?{}:{version:n.version},ts:e.ts,op:e.op,author:e.author,...e.author_source===void 0?{}:{author_source:e.author_source},...r,vocabulary_version:t.version,...e.agent_instance===void 0?{}:{agent_instance:e.agent_instance},agent_provenance:e.agent_provenance??{},...e.message===void 0?{}:{message:e.message}}}function cS(e,t,n=or,r=Ke){return qi(t,n,r)(e)}function qi(e,t=or,n=Ke){let r=hd(e.harness),i=hd(e.agentInstance),o=Vi(e,n);return s=>{let a=zi(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,d]of o){let l=s.agent_provenance?.[c];if(!l||!d.has(l.value))return!1}return!0}}function cr(e,t=or,n=Ke){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);zi(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,c=0;for(let d of e){let l=d.agent_provenance?.[s];l===null?c+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:c,legacy_missing:e.length-a-c}})}}import g_ from"node:fs/promises";import yd 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]="a4394793-55d4-5049-ab20-707c1c3d9f2c")}catch{}})();var __=20,y_=5,v_=15,b_="-24h";function vS(e){let t={...e};return t.full===!0?(t.raw=!0,t.compact=!1):t.raw===!0&&t.compact===void 0&&(t.compact=!0),delete t.full,t}var w_={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Wi(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new _(`${t} must not be empty`,g.USAGE);return n}function gd(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new _("Activity time bounds must not be empty",g.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return ve(i,new Date(t),n)}function k_(e,t,n){return!(e.ts.length===0&&(t||n)||t&&C(e.ts,t)<0||n&&C(e.ts,n)>=0)}function _d(e,t){return t===void 0?e:e.slice(0,t)}function At(e,t=""){return typeof e=="string"?e:t}function E_(e,t){return{...t,id:e,ts:At(t.ts),author:At(t.author,"unknown"),op:At(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:At(t.before_hash),after_hash:At(t.after_hash)}}function I_(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function C_(e){try{return(await g_.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(ce(t))return[];throw t}}function S_(e){return e.raw!==!0&&e.compact!==!0&&e.provenance!==!0?"digest":e.provenance===!0?"provenance":e.compact===!0||e.raw===!0&&e.compact!==!1?"compact":"full"}function T_(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?v_:n==="compact"?__:y_}function R_(e,t){let n=x(),r=t==="digest",i=gd(e.to??(r?n:void 0),n,"--to"),o=gd(e.from??(r?b_:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&C(o,i)>=0)throw new _("Activity --from must be before --to",g.USAGE);let s=Or(e.limit);if(e.unbounded===!0&&s!==void 0)throw new _("Activity --unbounded cannot be combined with --limit",g.USAGE);return{id:Wi(e.id,"Activity --id"),op:Wi(e.op,"Activity --op"),author:Wi(e.author,"Activity --author"),from:o,to:i,limit:T_(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function x_(e){let t=O(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await F(t)}}async function D_(e){let t=L(e.settings,D()),n=await fe(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await as({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=yd.join(e.pmRoot,"history");return await qt({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function A_(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:k_(t,n.from,n.to)}async function O_(e,t){let n=[];for(let r of await C_(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await ze(yd.join(e,r),i);for(let s of o){let a=E_(i,s);A_(s,a,t)&&n.push(a)}}return n}function L_(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function F_(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function M_(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,C(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),C(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:F_(i.operations)}}).sort((r,i)=>C(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function N_(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function $_(e,t,n,r,i){if(e==="digest"){let s=M_(t,r),a=_d(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=_d(t,n);return e==="compact"?{rows:{compact_activity:L_(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function vd(e,t){let n=await x_(t),r=S_(e),i=R_(e,r),o=await D_(n),s=sr(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,c=qi({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),d=I_(await O_(o.historyDir,i)).filter(c),l=$_(r,d,i.limit,o.itemsById,f=>ar(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:w_[r]},omission_receipt:Eo("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:d.length,item_count:l.totalRows,author_count:new Set(d.map(f=>f.author)).size,operation_counts:N_(d)}}:{},...e.provenanceSummary===!0?{provenance_summary:cr(d,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??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]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var bd="1970-01-01T00:00:00.000Z";function Ot(e){if(typeof e!="string")return null;let t=e.trim();if(!Jt(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return ve(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return 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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Yi=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],P_=Symbol("no-context-author"),j_=Symbol("no-item-assignee");function wd(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function U_(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function H_(e){let t=U_(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ot(e.created_at)??bd}}function B_(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=Ot(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function G_(e,t){let n=typeof e=="number"?e:typeof e=="string"?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)?1-Math.min(Math.max(n,0),t)/t:0}function K_(e,t){let n=typeof e=="string"?Date.parse(e):e instanceof Date?e.getTime():typeof e=="number"?e:Number.NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return 0;let r=(n-t)/864e5;return r<=0?1:1/(1+r/30)}function z_(e){let t=typeof e=="string"?e.trim().toLowerCase():void 0;return t==="critical"||t==="high"?1:t==="medium"?.5:t==="low"?.1:0}function dr(e,t,n){return e?.[t]??n}function lr(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?H_(d):B_(l)]})),r=[...e].sort((d,l)=>{let u=n.get(d.id).coordinate,f=n.get(l.id).coordinate;return C(f,u)||d.id.localeCompare(l.id)}),i=new Map(r.map((d,l)=>[d.id,l])),o=Math.max(e.length-1,1),s=wd(t.author,P_),a=Q("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=wd(d.assignee,j_)===s,u=(d.comments?.length??0)+(d.notes?.length??0)+(d.learnings?.length??0);return{id:d.id,item:d,signal_provenance:{recency:n.get(d.id)},signals:{recency:e.length===1?1:1-i.get(d.id)/o,activity_density:t.activityDensity?.[d.id],graph_proximity:dr(t.graphProximity,d.id,d.parent?.3:0),claim_focus:dr(t.claimFocus,d.id,R(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:G_(d.priority,4),risk_pressure:z_(d.risk),deadline_pressure:K_(d.deadline,c),knowledge_density:dr(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:dr(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var V_="context_relevance",q_={structural:.4,recency:.35,activity_density:.25,graph_proximity:.15,claim_focus:.6,priority_pressure:.35,risk_pressure:.2,deadline_pressure:.45,knowledge_density:.25,author_affinity:.2,usage_affinity:.3,semantic_similarity:.5},W_=new TextEncoder;function Y_(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!Yi.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function X_(e){let t={...q_};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Yi.includes(n)&&(t[n]=r);for(let[n,r]of Object.entries(t))if(!Number.isFinite(r)||r<0)throw new TypeError(`Context relevance weight ${n} must be a finite non-negative number`);return t}function Ed(e,t={}){Y_(e);let n=X_(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[c,d]of Object.entries(a.signals??{}))d!==void 0&&i.add(c);let o=Yi.filter(a=>i.has(a)),s=e.map((a,c)=>{let d={structural:e.length===1?1:1-c/r,...a.signals},l={},u=0,f=0;for(let p of o){let m=d[p];if(m===void 0)continue;let h=m*n[p];l[p]=h,u+=h,f+=n[p]}return{...a,baseline_rank:c+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,c)=>c.score-a.score||a.baseline_rank-c.baseline_rank),s.forEach((a,c)=>{a.rank=c+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function J_(e,t={}){let n=Ed(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function ur(e,t,n={}){let r=Ed(t,n),i=await ko(V_,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await J_(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Q_=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function kd(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Z_(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(d=>Math.max(0,t[d]??0)),r=Object.values(t).map(d=>Math.max(0,d)).sort((d,l)=>l-d).slice(0,n.length||1),i=d=>d.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(d=>d>0),a=new Set(e.ranked_ids),c=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:kd(e.required_ids??[],a),continuity_coverage:kd(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function ey(e){return Math.ceil(W_.encode(JSON.stringify(e)).byteLength/4)}function ty(e){return Math.round(e*1e4)/1e4}function ny(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function ry(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"});if(Ro(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new _(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,g.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=ny(n,e.surface),o={...n,ranking:void 0},s=ey(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Z_({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function iy(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Q_;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,ty(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function DS(e,t,n){let r=[];for(let i of e)r.push(await ry(i,t));return iy(r,n)}(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var oy={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},sy=["identity","summary","full"];function ay(e){if(!e.id.trim()||!Number.isInteger(e.rank)||e.rank<1)throw new TypeError("Context packing candidates require a non-empty id and positive integer rank");if(!Number.isFinite(e.score)||e.score<0)throw new TypeError("Context packing candidate scores must be finite and non-negative");let t=sy.map(n=>e.token_costs[n]);if(t.some(n=>!Number.isInteger(n)||n<1)||t[0]>t[1]||t[1]>t[2])throw new TypeError("Context projection costs must be positive monotone integers");if(e.uncertainty!==void 0&&(!Number.isFinite(e.uncertainty)||e.uncertainty<0))throw new TypeError("Context packing uncertainty must be finite and non-negative")}function cy(e){if(!Number.isInteger(e.tokenBudget)||e.tokenBudget<1)throw new TypeError("Context packing tokenBudget must be a positive integer");let t=e.profile??"balanced",n=oy[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function dy(e){let t=new Set;for(let n of e){if(ay(n),t.has(n.id))throw new TypeError("Context packing candidates require unique ids");t.add(n.id)}return[...e].sort((n,r)=>n.rank-r.rank||n.id.localeCompare(r.id))}function ly(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let c=e[a];if(c.token_costs.identity>t)continue;s+=1;let d=o<0?void 0:e[o],l=n(c)/c.token_costs.identity,u=d===void 0?Number.NEGATIVE_INFINITY:n(d)/d.token_costs.identity;(l>u||l===u&&d!==void 0&&(c.rank<d.rank||c.rank===d.rank&&c.id.localeCompare(d.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function uy(e){let t=new Set,n=[],r=e.tokenBudget,i=d=>{let l=d.lineage??d.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(d.score-e.uncertaintyPenalty*(d.uncertainty??0))*u)},o=d=>{let l=d.token_costs.identity;n.push({...d,projection:"identity",tokens:l,marginal_value:i(d)}),r-=l;let u=d.lineage??d.cluster;u&&t.add(u)};for(let d of e.ordered.filter(l=>l.required))d.token_costs.identity<=r&&o(d);let s=e.ordered.filter(d=>!d.required),a=!0,c=0;for(;s.length>0;){let d=ly(s,r,i,e.deadline,e.readClock);if(c+=d.evaluated,d.timedOut&&(a=!1),d.index<0||d.timedOut)break;o(s.splice(d.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:c}}function fy(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let c=s.token_costs[r]-s.token_costs[i],d=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(d,1)-s.marginal_value/Math.max(c,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Id(e,t){let n=cy(t),r=dy(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=uy({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=fy(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let d=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!d.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-c,remaining_tokens:c,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import Lt from"node:fs/promises";import Ft from"node:path";import{createHash as Cd,randomUUID as my}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]="01eff51c-7656-5c3f-b0c0-28594fca8a1e")}catch{}})();var Xi=3,Ji=2,Sd=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],py=new Set(["substantive_history","release_cohort","created_at"]),hy={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function dt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Td(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function gy(e){let t={};for(let n of Sd){let r=e[n];if(r!==void 0){if(!Td(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function _y(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function yy(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function Rd(e,t){return{...t,activityDensity:t.activityDensity??_y(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??yy(e)}}function eo(e){let t=Cd("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function vy(e){if(!dt(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",dt(e.signals),dt(t)].every(Boolean))return null;let n=t.recency;if(!dt(n))return null;let r=Ot(n.coordinate);if(r===null)return null;let i=new Set(Sd),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Td(a))||![typeof n.source=="string"&&py.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function by(e,t){let n=Array.from(e,vy);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==eo(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function wy(e){if(!dt(e)||e.format_version!==Xi||e.signal_set_version!==Ji||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=by(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:Xi,signal_set_version:Ji,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function xd(e){if(typeof e.sourceCursor!="string"||e.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(e.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(e.source!=="derived_index"&&e.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback")}function Dd(e,t,n=eo(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:gy(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:Xi,signal_set_version:Ji,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function HS(e,t){return xd(t),Dd(lr(e,Rd(e,t)),t)}var Qi=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Ft.resolve(t)}async read(){try{return JSON.parse(await Lt.readFile(this.filePath,"utf8"))}catch(t){if(dt(t)&&Pe(t))return null;throw t}}async write(t){let n=Ft.dirname(this.filePath);await Lt.mkdir(n,{recursive:!0});let r=Ft.join(n,`.${Ft.basename(this.filePath)}.${my()}.tmp`);try{await Lt.writeFile(r,`${JSON.stringify(t)}
16
+ `,{encoding:"utf8",flag:"wx"}),await Lt.rename(r,this.filePath)}finally{try{await Lt.rm(r,{force:!0})}catch{}}}},Zi=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){xd(n);let r=[],i=null;try{let f=await this.adapter.read();i=wy(f),f!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(f=>f.id).sort((f,p)=>f.localeCompare(p)),s=i?.items.map(f=>f.id)??[],a=lr(t,Rd(t,n)),c=eo(a),d=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===c&&i.source===n.source&&s.length===o.length&&s.every((f,p)=>f===o[p]),l;if(d&&i!==null)l=i;else{i!==null&&r.push("context_signal_store_stale"),l=Dd(a,n,c);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:d?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>hy[f])}}};function ky(e){let t=Cd("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function fr(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await We(t.pmRoot),o=t.sourceCursor??i?.source_cursor??ky(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Zi(new Qi(Ft.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await Ko(t.pmRoot,e.map(d=>d.id))).map(([d,l])=>[d,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:c,sourceCursor:o,source: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]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Ey(e){for(let t of e.patch){if(t.path==="/metadata/status"||t.path==="/front_matter/status"){if(typeof t.value=="string")return t.value.trim().toLowerCase();continue}if(t.path!==""||typeof t.value!="object")continue;let n=t.value,r=n.metadata??n.front_matter;if(typeof r?.status=="string")return r.status.trim().toLowerCase()}}function Iy(e,t,n){let r,i;for(let o of t){let s=Ey(o);if(s===void 0)continue;let a=n.has(s)&&(r!==void 0&&!n.has(r)||r===void 0&&o.op==="create");r=s,a&&Number.isFinite(Date.parse(o.ts))&&(i={id:e,completed_at:o.ts,history_op:o.op})}return i}function Ad(e){return e.completed_at!==void 0?{resolved:!0,timestamp:e.completed_at,source:"completed_at",fallback:!1}:e.closed_at!==void 0?{resolved:!0,timestamp:e.closed_at,source:"closed_at",fallback:!0}:e.updated_at!==void 0?{resolved:!0,timestamp:e.updated_at,source:"updated_at",fallback:!0}:{resolved:!1}}function GS(e,t,n){let r=[];for(let i of e){if(i.completed_at!==void 0||!n.has(i.status.trim().toLowerCase()))continue;let o=Iy(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import Cy from"node:path";import{createHash as Sy}from"node:crypto";import Ty 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]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Od=1,Ry=1e4,Ld=12;function xy(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Dy(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function Ay(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function Oy(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(R(o.status,t.statusRegistry))).map(o=>{let s=Ad(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,c=xy(a.timestamp),d=`epoch:${c}`,l=i.get(d)??{kind:"epoch",key:c,label:c,items:[]};l.items.push(o),i.set(d,l);let u=Dy(s,r);if(u){let f=`epic:${u.id}`,p=i.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};p.items.push(o),i.set(f,p)}}return{format_version:Od,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(Ay).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Ly(e){return typeof e=="object"&&e!==null&&"id"in e&&typeof e.id=="string"&&e.id.length>0&&"title"in e&&typeof e.title=="string"}function Fy(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(Ly)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function My(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Od||typeof t.source_cursor!="string"||!t.source_cursor.trim()||!Number.isSafeInteger(t.source_item_count)||t.source_item_count<0||typeof t.generated_at!="string"||!Number.isFinite(Date.parse(t.generated_at))||!Array.isArray(t.rollups)?null:t.rollups.every(Fy)?t:null}function Ny(e){return`scan:${Sy("sha256").update(k(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function $y(e,t,n){return n!==void 0?n:(await We(t))?.source_cursor??Ny(e)}async function Py(e){try{let t=My(JSON.parse(await Ty.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Pe(t))}}}async function Fd(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Ry));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await $y(e,t.pmRoot,t.sourceCursor),i=Cy.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Py(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let c=Oy(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await W(i,`${JSON.stringify(c)}
17
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function jy(e,t,n=Ld){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function Md(e,t,n=Ld){if(e.snapshot===null)return;let r=jy(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",source_cursor:e.snapshot.source_cursor,...e.snapshot.completion_time_sources?{completion_time_sources:{...e.snapshot.completion_time_sources}}:{},rollups:r}}function Uy(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function ZS(e,t,n=5){let r=Uy(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",matches: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]="599ebac9-d3e8-561d-a971-8164179f1adf")}catch{}})();var Hy=["markdown","toon","json","ndjson"],mr=new Set(["Epic","Feature"]),Ud=10,Hd=1e4,Bd=["hierarchy","activity","progress","recently_created","unparented","workload"],By=[...Bd,"blockers","files","staleness","tests"],Gy=/^(\d{4})-(\d{2})-(\d{2})/,Ky=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,zy=/^(\d{4})(\d{2})(\d{2})$/,Vy=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function qy(e){if(!e)return;let t=e.trim().toLowerCase();if(!Hy.includes(t))throw new _("Context format must be one of markdown|toon|json|ndjson",g.USAGE);return t}var Nd=new Set(["id","title","type","status","priority","order","deadline","assignee","tags","tags_inherited","updated_at","parent","children_total","children_closed","completion_pct","blocked","blocker_ids","created_at"]);function Wy(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Nd.has(r))throw new _(`Context --fields value not projectable: ${r} (valid: ${[...Nd].join(", ")})`,g.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new _("Context --fields requires at least one field name",g.USAGE);return t}function Mt(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function wT(e,t){let n=qy(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Yy(e,t){return ie(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ud)}function ro(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new _("--token-budget must be a positive integer",g.USAGE);return n}function Xy(e,t){return t>=Hd&&e===Number.MAX_SAFE_INTEGER?Ud:e}function Jy(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!br.includes(n))throw new _(`Context --depth must be one of ${br.join("|")}`,g.USAGE);return n}function Qy(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!Kt.includes(o))throw new _(`Context --section must be one of ${Kt.join("|")}`,g.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...Kt]:(t==="deep"?By:Bd).filter(r=>n.sections[r])}function Zy(e,t){return e?ie(e,"--activity-limit")??t.activity_limit:t.activity_limit}function ev(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new _("--stale-threshold must be a number of days (e.g. 7 or 7d)",g.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new _("--stale-threshold must be positive",g.USAGE);return i}function $d(e,t){let n=R(e,t),r=Q("blocked",t),i=Q("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Nt(e,t){let n=Q("closed",t);return R(e,t)===n}function io(e,t){return R(e,t)===t.in_progress_status}function Gd(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function tv(e,t){return t.blocked_statuses.has(R(e,t))}var nv=["compact","brief","fields","includeBody","include_body","parent"];function rv(e){let t={...e};for(let n of nv)delete t[n];return t}function oo(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=lt(e),o=$t(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function iv(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new _("Context --parent requires an item id",g.USAGE);return t}function ov(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function sv(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:C(n,r)}function av(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function cv(e){let t=Gy.exec(e)??Ky.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=av(n,r-1)}function dv(e){let t=zy.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Vy.exec(e);if(n){let[,r,i,o,s,a,c,d]=n,l=c?`:${c}`:"",u=d&&d.length===5&&d!=="Z"?`${d.slice(0,3)}:${d.slice(3)}`:d??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function Kd(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!cv(t))return Number.NaN;let n=Date.parse(dv(t));return Number.isFinite(n)?n:Number.NaN}function no(e){let t=Kd(e);return Number.isFinite(t)?new Date(t).toISOString():""}function lv(e){let t=Kd(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function so(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Ne(e,t,n){let r=$d(e.status,n)-$d(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=ov(e.order,t.order);if(o!==0)return o;let s=sv(e.deadline,t.deadline);if(s!==0)return s;let a=C(no(t.updated_at),no(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function to(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function ao(e,t,n=new Set,r="context"){return Id(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:to({id:i.id,title:i.item.title}),summary:to({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:to(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function co(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function lo(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function zd(e,t){return t>0?Math.round(e/t*100):0}function lt(e){let t=new Map;for(let n of e){let r=so(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Pt(e,t,n){let r={id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,order:e.order??null,deadline:e.deadline??null,assignee:e.assignee??null,tags:Array.isArray(e.tags)?[...e.tags]:[],updated_at:e.updated_at,parent:so(e.parent)};if(t&&n){let i=$t(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Nt(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=zd(s,o)}}return r}function uv(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function pr(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function fv(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function mv(e,t,n,r){let i=new Map;for(let c of e)i.set(c.id,c);let o=lt(e),s=new Set(t.filter(c=>mr.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let l=$t(c,o),u=o.get(c)??[],f=0,p=0,m=0,h=0;for(let b of l)Nt(b.status,n)?f++:io(b.status,n)?m++:tv(b.status,n)?h++:Gd(b.status,n)&&p++;let y=u.sort((b,v)=>Ne(b,v,n)).slice(0,r).map(b=>{let v=$t(b.id,o),w=v.filter(E=>Nt(E.status,n)).length;return{id:b.id,title:b.title,type:b.type,status:b.status,children_total:v.length,children_closed:w}});a.push({id:d.id,title:d.title,type:d.type,status:d.status,children_total:l.length,children_closed:f,children_open:p,children_in_progress:m,children_blocked:h,children:y})}return a.sort((c,d)=>{let l=i.get(c.id),u=i.get(d.id);return Ne(l,u,n)}).slice(0,r)}function $t(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function pv(e,t){return(await vd({compact:!0,limit:String(e)},t)).compact_activity??[]}function hv(e,t,n,r,i){let o=new Map;for(let c of e){if(!c.parent)continue;let d=o.get(c.parent)??[];d.push(c),o.set(c.parent,d)}let s=t.filter(c=>mr.has(c.type)),a=[];for(let c of s){let d=$t(c.id,o),l=d.length;if(l===0)continue;let u=0,f=0,p=0,m=0;for(let h of d)Nt(h.status,r)?u++:n.has(h.id.trim().toLowerCase())?m++:io(h.status,r)?p++:Gd(h.status,r)&&f++;a.push({id:c.id,title:c.title,type:c.type,total:l,closed:u,open:f,in_progress:p,blocked:m,completion_pct:zd(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function gv(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=En(o,i,n),a=s.find(d=>!d.resolved)?.id??s[0]?.id??null,c=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:c?.title??null,blocked_by_status:c?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function _v(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function yv(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>io(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function vv(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function bv(e,t,n,r){return e.map(i=>({item:i,sortKey:no(i.created_at)})).sort((i,o)=>{let s=C(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Pt(i,t,n),created_at:i.created_at}))}function wv(e,t,n,r){return e.filter(i=>!so(i.parent)&&!mr.has(i.type)).sort((i,o)=>Ne(i,o,t)).slice(0,r).map(i=>Pt(i,t,n))}function kv(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let c=a.test_runs??[];if(c.length>0){n++;let d=!1;for(let l of c)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(d=!0);d&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function Pd(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Vd(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function Ev(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Iv(e){if("reference_only"in e){let n=e.kind==="reminder"?` \u2014 ${e.reminder_text??"reminder"}`:e.kind==="event"?` \u2014 ${e.event_title??"event"}${e.event_recurring?" (recurring)":""}`:"";return`${Pd(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Pd(e.at)} [${e.kind}] ${e.item_id} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder")return`${t} \u2014 ${e.reminder_text}`;if(e.kind==="event"){let n=e.event_recurring?" (recurring)":"",r=e.event_title??e.item_title;return`${t} \u2014 ${r}${n}`}return t}function jd(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function Cv(e,t,n){if(t.blocked_fallback.length!==0){e.push("## Blocked fallback");for(let r of t.blocked_fallback)e.push(`- ${n(r)}`);e.push("")}}function Sv(e,t){if(e.push("## Agenda"),e.push(`- events: ${t.agenda.summary.events} (deadlines: ${t.agenda.summary.deadlines}, reminders: ${t.agenda.summary.reminders}, scheduled: ${t.agenda.summary.scheduled})`),t.agenda.events.length===0)e.push("No agenda events matched the selected filters.");else for(let n of t.agenda.events)e.push(`- ${Iv(n)}`);e.push("")}function Tv(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=i.children_total>0?Math.round(i.children_closed/i.children_total*100):0;e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function Rv(e,t){if(!(!t.progress||t.progress.length===0)){e.push("## Progress");for(let n of t.progress)e.push(`- ${n.id} "${n.title}" ${n.completion_pct}% (${n.closed}/${n.total} closed, ${n.in_progress} wip, ${n.open} open, ${n.blocked} blocked)`);e.push("")}}function xv(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${lv(i.created_at)} ${Vd(i)}`);e.push("")}}function Dv(e,t,n){if(!(!t.unparented||t.unparented.length===0)){e.push("## Unparented");for(let r of t.unparented)e.push(`- ${n(r)}`);e.push("")}}function Av(e,t){if(!(!t.activity||t.activity.length===0)){e.push("## Recent activity");for(let n of t.activity){let r=n.msg?` ${n.msg}`:"";e.push(`- ${n.ts.slice(0,16)}Z ${n.id} ${n.op} by:${n.author}${r}`)}e.push("")}}function Ov(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function Lv(e,t){if(!(!t.files||t.files.length===0)){e.push("## Hot files");for(let n of t.files)e.push(`- ${n.path} refs:${n.references} items:[${n.items.join(",")}]`);e.push("")}}function Fv(e,t){if(!(!t.workload||t.workload.length===0)){e.push("## Workload");for(let n of t.workload){let r=n.assignee??"(unassigned)";e.push(`- ${r} active:${n.active} wip:${n.in_progress} items:[${n.items.join(",")}]`)}e.push("")}}function Mv(e,t){if(!(!t.staleness||t.staleness.length===0)){e.push("## Stale items");for(let n of t.staleness)e.push(`- ${n.id} ${n.status} stale:${n.stale_days}d last:${n.updated_at.slice(0,10)} "${n.title}"`);e.push("")}}function Nv(e,t){t.tests&&(e.push("## Test health"),e.push(`- items_with_tests: ${t.tests.items_with_tests}`),e.push(`- items_with_recent_runs: ${t.tests.items_with_recent_runs}`),e.push(`- passed: ${t.tests.recent_runs.passed}, failed: ${t.tests.recent_runs.failed}, skipped: ${t.tests.recent_runs.skipped}`),t.tests.items_failing.length>0&&e.push(`- items_failing: [${t.tests.items_failing.join(",")}]`),e.push(""))}function $v(e,t){t.summary.active_items===0&&t.summary.blocked===0&&t.agenda.summary.events===0&&(e.push("## Suggestions"),e.push("No active work items or upcoming events. Consider:"),e.push('- `pm create --type Task --title "..."` to add a new work item'),e.push("- `pm list --status closed --limit 5` to review recent completions"),e.push("- `pm search <keywords>` to find related past work"),e.push("- `pm aggregate` for a full project status overview"))}function kT(e){let t=[],n=e.focus_fields,r=o=>n?Ev(o,n):Vd(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),jd(t,"High-level focus",e.high_level,"No high-level active items.",r),jd(t,"Low-level focus",e.low_level,"No low-level active items.",r),Cv(t,e,r),Sv(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return Tv(t,e),Rv(t,e),xv(t,e,n,r),Dv(t,e,r),Av(t,e),Ov(t,e),Lv(t,e),Fv(t,e),Mv(t,e),Nv(t,e),$v(t,e),t.join(`
18
+ `)}async function Pv(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=r.context??ho.context,o=J(r.schema),s=Jy(e.depth,i),a=Yy(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Qy(e.section,s,i),activityLimit:Zy(e.activityLimit,i),staleThresholdDays:ev(e.staleThreshold,i),parentScope:iv(e.parent),focusFields:Wy(e.fields),baseListOptions:rv(e)}}function jv(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Uv(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Hv(e,t){let n=await kt(void 0,Uv(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!$(a.status,t.statusRegistry)),o=r,s=Bv(t.parentScope,r);return s&&(i=i.filter(a=>s.has(a.id.trim().toLowerCase())),o=o.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:i,allItems:o,fullCorpus:r,subtreeIds:s}}function Bv(e,t){if(e===void 0)return;let n=oo(t,e);if(!n.found)throw new _(`Context --parent item not found: ${e}`,g.NOT_FOUND);return n.ids}function Gv(e,t,n,r){let i=new Set(pt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>mr.has(o.type)||i.has(o.id)||Re(o.type,r)!=="agent").map(o=>o.id))}async function Kv(e,t,n,r,i,o,s,a,c,d,l,u,f,p,m,h){let y=[...e].sort((I,ut)=>Ne(I,ut,i)),b=await tn({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),v=await fr(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:b.affinity,claimFocus:m}),w=await ur("context",v.candidates),E=w.ranked.map(I=>I.item),S=i.active_statuses,P=E.filter(I=>S.has(R(I.status,i))),j=u?He(P,d,l,I=>I.id):0,M=u?P.slice(j,j+s):P,Ce=u&&M.length>0&&j+M.length<P.length,N=Ce&&M.length>0?de(l,M[M.length-1].id,j+M.length-1):void 0,B=E.filter(I=>r.has(I.id.trim().toLowerCase())),Y=new Set([...M.map(I=>I.id),...B.slice(0,s).map(I=>I.id)]),X=ao({...w,ranked:w.ranked.filter(I=>Y.has(I.id))},p,new Set(Object.entries(m??{}).filter(([,I])=>I>=1).map(([I])=>I))),te=X.included.map(I=>I.item),ae=te.filter(I=>S.has(R(I.status,i))),V=te.filter(I=>r.has(I.id.trim().toLowerCase())),$e=lt(t),gr=jv(o)?$e:void 0,q=new Map(n.map(I=>[I.id.trim().toLowerCase(),I])),G=I=>{let ut=Pt(I,i,gr);return r.has(I.id.trim().toLowerCase())&&(ut.blocked=!0,ut.blocker_ids=En(I,q,i).filter(_r=>!_r.resolved).map(_r=>_r.id)),ut},mo=Gv(ae,n,i,h),al=ae.filter(I=>mo.has(I.id)).slice(0,u?M.length:s).map(G),cl=ae.filter(I=>!mo.has(I.id)).slice(0,u?M.length:s).map(G),po=P.length===0;return{activeItems:ae,blockedItems:V,highLevel:al,lowLevel:cl,blockedFallback:po?V.slice(0,s).map(G):[],blockedFallbackUsed:po,ranking:w,packing:X,featureStore:v,pageExtras:{...u?{applied_limit:s}:{},...Ce?{has_more:!0,truncated:!0}:{},...N?{next_cursor:N}:{}}}}function zv(e,t){return Se("context",{pmRoot:t,options:Yt(e,ms)})}function Vv(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Hd}async function qv(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await pd(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=fv(s,t.statusRegistry).slice(0,t.limit),c=a.map(d=>r.has(d.item_id)?{at:d.at,date:d.date,kind:d.kind,item_id:d.item_id,reference_only:!0,...d.kind==="reminder"?{reminder_text:d.reminder_text}:{},...d.kind==="event"?{event_title:d.event_title,event_recurring:d.event_recurring}:{}}:d);return{agenda:o,agendaEvents:c,agendaSummary:uv(a)}}function qd(e,t,n){let r=String(t);return e.filter(i=>R(i.status,n)===r).length}async function Wv(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=lt(n),d=n.filter(u=>!$(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?mv(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await pv(t.activityLimit,a):void 0,progress:l("progress")?hv(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?gv(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?bv(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?wv(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?_v(o.activeItems,t.limit):void 0,workload:l("workload")?yv(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?vv(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?kv(o.activeItems):void 0}}function Yv(e,t,n){let r=Q("canceled",t),i=e.filter(s=>t.active_statuses.has(R(s.status,t))),o=qd(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Nt(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Xv(e,t,n){t.hierarchy&&(e.hierarchy=t.hierarchy),t.activity&&(e.activity=t.activity),t.progress&&(e.progress=t.progress),t.blockersSection&&(e.blockers=t.blockersSection),t.recentlyCreated&&(e.recently_created=t.recentlyCreated),t.unparented&&(e.unparented=t.unparented),t.filesSection&&(e.files=t.filesSection),t.workload&&(e.workload=t.workload),t.staleness&&(e.staleness=t.staleness),t.tests&&(e.tests=t.tests),n!==void 0&&n.length>0&&(e.warning_details=n)}function Jv(e,t){t&&(e.focus_fields=t,e.high_level=Mt(e.high_level,t),e.low_level=Mt(e.low_level,t),e.blocked_fallback=Mt(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Mt(e.recently_created,t)),e.unparented&&(e.unparented=Mt(e.unparented,t)))}function Qv(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function Zv(e,t,n){t.length>0||n.length>0||e.agenda.events.length>0||(e.suggestions=['pm create --type Task --title "..." to add a new work item',"pm list --status closed --limit 5 to review recent completions","pm search <keywords> to find related past work","pm aggregate for a full project status overview"])}async function eb(e,t,n,r){try{let i=new Set(t.packing.included.map(c=>c.id)),o=t.ranking.ranked.map(c=>({id:c.id,rank:c.rank,included:i.has(c.id)})),s=new Set(o.map(c=>c.id));for(let c of Zt(e,"context"))s.has(c)||(o.push({id:c,rank:o.length+1,included:!1}),s.add(c));let a=await en({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qt(e,a)}catch{e.warnings=pr(e.warnings,["context_usage_feedback_write_failed"])}}async function tb(e,t,n){if(e)return{};let r=(await bo({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function nb(e,t){let n=jo(),r=await Fo(e),i=n.instance||Mo(t);return rd(r.semantic_attribution?.[i])}async function ET(e,t){let n=O(process.cwd(),t.path),r=await Pv(e,t),i=await Hv(t,r),o=Xy(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:ro(e.tokenBudget,Math.max(256,o*160))},a=we(void 0,s.settings.author_default),c=await nb(n,a),d=tb(e.noExtensionHealth===!0,n,s.settings),l=mt(i.fullCorpus,s.statusRegistry),u=await Kv(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,x(),a,e.after,zv(e,n),Vv(e,i.fullCorpus.length),n,s.tokenBudget,c,L(s.settings,D())),f=await qv(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),p=await Fd(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),m=pr(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],p.warnings),h=qd(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-h,b=await Wv({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),v=Yv(i.allItems,s.statusRegistry,l),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:h,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...v},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=Md(p,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),Xv(w,b,u.featureStore.warning_details),Qv(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=lo(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),w.packing=co(u.packing)),So(w,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>({id:E.id,status:R(E.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:E.blocked}))),Jv(w,s.focusFields),To(w),m.length>0&&(w.warnings=m),Zv(w,u.activeItems,u.blockedItems),await eb(w,u,n,a),w}(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]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function Wd(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(Er(r,"json"),Er(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,c=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,f=c.length;for(;u<f;){let p=Math.ceil((u+f)/2);r.ready=c.slice(0,p),i()<=t?u=p:f=p-1}r.ready=c.slice(0,u),a=i()}let d=a>t&&r.recommended!==null;d&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=o-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:d,restore_budget_tokens:s}},d&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(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]="f610c3be-8212-56de-86d4-2b5b9752b87c")}catch{}})();var rb=["markdown","toon","json"],ib=5,ob=1440*60*1e3;function sb(e){if(!e)return;let t=e.trim().toLowerCase();if(!rb.includes(t))throw new _("Next format must be one of markdown|toon|json",g.USAGE);return t}function $T(e,t){let n=sb(e.format);if(t.json&&n&&n!=="json")throw new _("Cannot combine --json with --format markdown|toon",g.USAGE);return t.json?"json":n??"toon"}function Yd(e,t,n){let r=ie(e,t);return r===void 0||r<=0?n:r}function jt(e,t,n,r){return{...Pt(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function ab(e,t,n,r){let i=e.item,o=[],s=Q("in_progress",t);return o.push(R(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(cb(i.deadline,n)),o.push(Ae(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function Xd(e,t,n){let r=we(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var PT={partitionCallerOwnedReady:Xd,resolveNextCallerAuthor:(e,t)=>Jd(e,t)};function jT(e,t,n){let r=e.filter(i=>Re(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Re(i.item.type,n)!=="human"),decisions:t?[]:r}}function cb(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/ob);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function db(e,t){let n=Q("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function uo(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function lb(e,t){return{type:e.type,tag:e.tag,priority:typeof e.priority=="number"?String(e.priority):e.priority,assignee:e.assignee,assigneeFilter:e.assigneeFilter,sprint:e.sprint,release:e.release,noTruncate:!0,...t}}function hr(e,t,n){return[...e].sort((r,i)=>{let o=uo(r.item,t),s=uo(i.item,t);return o!==s?Number(o)-Number(s):Ne(r.item,i.item,n)})}function ub(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:ab(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function fb(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return[...r,'pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}function mb(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function pb(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of Zt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await en({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qt(e.result,i)}catch{e.result.warnings=pr(e.result.warnings,["context_usage_feedback_write_failed"])}}async function hb(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=fb(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Wd(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=lo(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=co(ao(e.readyRanking,e.packingBudget,new Set,"next"))),await pb({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function gb(e,t,n){if(!n)return e;let r=oo(t,n);if(!r.found)throw new _(`Next --parent item not found: ${n}`,g.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function _b(e,t,n,r,i,o,s){let a=e.filter(p=>!uo(p.item,t)),c=s||a.length===0?e:a,d=await tn({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await fr(c.map(p=>p.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:d.affinity}),u=await ur("next",l.candidates),f=new Map(c.map(p=>[p.item.id,p]));return{projectedReady:u.ranked.map(p=>f.get(p.id)).filter(p=>p!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Jd(e,t){let n=e.assignee?.trim();return we(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function UT(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=Jd(e,r.author_default),o=J(r.schema),s=L(r,D()),a=x(),c=Yd(e.limit,"--limit",ib),d=ro(e.tokenBudget,Math.max(192,c*128)),l=Yd(e.blockedLimit,"--blocked-limit",c),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",p=await kt(void 0,lb(e,{excludeTerminal:!0}),t),m=await kt(void 0,{excludeTerminal:!1,noTruncate:!0},t),h=gb(p.items,m.items,f),y=m.items,b=pt(h,y,o,s),v=lt(y),w=$r(b,o,e,s),E=Xd(w.ready,r.author_default,i),S=hr(E.available,v,o),P=[...b.blocked].sort((q,G)=>Ne(q.item,G.item,o)),{projectedReady:j,ranking:M,completedContainer:Ce,featureStore:N}=await _b(S,v,o,a,i,n,e.includeContainers===!0),B=j.map((q,G)=>jt(q,o,v,G+1)),Y=P.map((q,G)=>jt(q,o,v,G+1)),X=hr(w.decisions,v,o).map((q,G)=>jt(q,o,v,G+1)),te=hr(w.gates,v,o).map((q,G)=>jt(q,o,v,G+1)),ae=hr(b.containers,v,o).map((q,G)=>jt(q,o,v,G+1)),V=ub({projectedReady:j,readyRows:B,statusRegistry:o,now:a,completedContainer:Ce}),$e=mb(X.length,E.held.length,B.length,c)??{};te.length>c&&($e.gate_needed_total=te.length),ae.length>c&&($e.containers_total=ae.length);let gr={output_default:"toon",now:a,recommended:V,ready:B.slice(1,c+1),decision_needed:X.slice(0,c),gate_needed:te.slice(0,c),containers:ae.slice(0,c),blocked:u?[]:Y.slice(0,l),held_by_others:E.held.slice(0,c),summary:{recommended:V!==null,ready:B.length,blocked:Y.length,in_progress:db(B,o),candidates:b.active_count,containers:b.container_count,decision_needed:X.length,gate_needed:te.length,held_by_others:E.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:f.length>0?f:null,limit:c,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:d},truncation:Object.keys($e).length>0?$e:void 0};return hb({result:gr,recommended:V,blockedRows:Y,gateCount:te.length,candidatesWarnings:p.warnings,corpusWarnings:m.warnings,readyRanking:M,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:d,featureStore:N,tokenBudget:e.tokenBudget===void 0?void 0:d,hasIntentBudget:typeof e.for=="string"})}function HT(e){let t=["# pm next","",...yb(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Ut(n,r.map(i=>`- ${Ht(i)}`),""));if(t.push(...Ut("Recommended",vb(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Ut("Decision needed",(e.decision_needed??[]).map(n=>`- ${Ht(n)}`),"No human-gated decisions.")),t.push(...Ut("Ready",e.ready.map(n=>`- ${Ht(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Ut("Blocked",e.blocked.map(n=>`- ${bb(n)}`),"No blocked items.")),e.suggestions&&e.suggestions.length>0){t.push("## Suggestions");for(let n of e.suggestions)t.push(`- ${n}`)}return t.join(`
19
+ `).trimEnd()}function yb(e){let t=[`- now: ${e.now}`,`- ready: ${e.summary.ready} (in_progress: ${e.summary.in_progress}), blocked: ${e.summary.blocked}, candidates: ${e.summary.candidates}`];return e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(""),t}function vb(e){return e?[`- ${Ht(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Ut(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function bb(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Ht(e)} blocked_by:${t}`}function Ht(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}import{createHash as wb}from"node:crypto";import{setTimeout as kb}from"node:timers/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]="3483e997-6bee-52bf-a048-8fe5c2427d06")}catch{}})();var Zd=1,el=/^[A-Za-z0-9_-]+$/,Eb=100,Qd=1e3,Ib=250,ZT=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function se(e){if(e===void 0)return;let t=typeof e=="string"?[e]:e,n=[...new Set(t.flatMap(r=>r.split(",")).map(r=>r.trim()).filter(Boolean))].sort((r,i)=>r.localeCompare(i));return n.length===0?void 0:n}function tl(e){return wb("sha256").update(k({type:se(e.type),author:se(e.author),item:se(e.item),harness:se(e.harness),agent_instance:se(e.agentInstance),provenance:se(e.provenanceFilter)})).digest("hex").slice(0,24)}function fo(e,t){let n={version:Zd,fingerprint:t,ts:e.entry.ts,stream_id:e.stream_id,stream_offset:e.stream_offset};return Buffer.from(JSON.stringify(n),"utf8").toString("base64url")}function nl(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Zd,n.fingerprint===t,typeof n.ts=="string",typeof n.stream_id=="string",typeof n.stream_offset=="number",Number.isSafeInteger(n.stream_offset),Number(n.stream_offset)>=0].every(Boolean)}function rl(e,t){let n=e.trim();if(n.length===0||n.length>4096||!el.test(n))throw new _("Invalid mutation event cursor.",g.USAGE,{code:"invalid_event_cursor"});let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw new _("Invalid mutation event cursor.",g.USAGE,{code:"invalid_event_cursor"})}if(!nl(r,t))throw new _("Mutation event cursor does not match this query.",g.USAGE,{code:"event_cursor_query_mismatch"});return r}function il(e){let t=e??Eb;if(!Number.isSafeInteger(t)||t<0||t>Qd)throw new _(`Mutation event limit must be an integer from 0 to ${Qd}.`,g.USAGE,{code:"invalid_event_limit"});return t}function ol(e){return e instanceof Error&&e.name==="AbortError"}function sl(e,t){let n=e?.trim();if(!n)return{};if(el.test(n))return{cursor:rl(n,t)};let r=Date.parse(n);if(!Number.isFinite(r))throw new _("Mutation event --since must be an event cursor or ISO timestamp.",g.USAGE,{code:"invalid_event_since"});return{sinceTimestamp:new Date(r).toISOString()}}async function Cb(e,t){let n=await Sr(e,t);if(n===null){if(!await Bo(e))return{...await Go(e,t),source:"authoritative_history"};n=await Sr(e,t)}if(n===null)throw new _("Mutation event index could not be opened after rebuild.",g.GENERIC_FAILURE,{code:"event_index_unavailable"});return{...n,source:"derived_index"}}function Sb(e){let t=e??"batch";if(t!=="batch"&&t!=="row")throw new _("Mutation event cursor mode must be batch or row.",g.USAGE,{code:"invalid_event_cursor_mode"});return t}async function Tb(e={}){let t=O(e.cwd??process.cwd(),e.pmRoot);await U(t);let n=il(e.limit),r=Sb(e.cursorMode);if(e.full===!0&&e.provenance===!0)throw new _("Mutation event projections are mutually exclusive. Use --provenance or --full.",g.USAGE);let i=await F(t),o=i.agent_identity.identity_vocabulary,s=sr(i.agent_identity.harness_signals),a=Vi({provenance:e.provenanceFilter},s),c=se(e.harness),d=tl(e),{cursor:l,sinceTimestamp:u}=sl(e.since,d),f={...l?{after_ts:l.ts,after_stream_id:l.stream_id,after_stream_offset:l.stream_offset}:u?{since_ts:u}:{},ops:se(e.type),authors:se(e.author),harnesses:c,harness_alias_authors:c?Object.entries(o.aliases).filter(([,h])=>c.includes(h)).map(([h])=>h):void 0,agent_instances:se(e.agentInstance),provenance:[...a].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:se(e.item),limit:n},p=await Cb(t,f),m=p.events.map(h=>({...r==="row"?{cursor:fo(h,d)}:{},item_id:h.stream_id,version:h.stream_offset+1,ts:h.entry.ts,author:h.entry.author,type:h.entry.op,...h.entry.message===void 0?{}:{message:h.entry.message},patch_count:h.entry.patch.length,...e.full===!0?{entry:h.entry}:{},...e.provenance===!0?{provenance:ar(h.entry,o,{itemId:h.stream_id,version:h.stream_offset+1})}:{}}));return{events:m,count:m.length,has_more:p.has_more,cursor_mode:r,...p.events.length===0?{}:{next_cursor:fo(p.events[p.events.length-1],d)},source:p.source,...e.provenanceSummary===!0?{provenance_summary:cr(p.events.map(h=>h.entry),o,s)}:{}}}async function*Rb(e={}){let t=e.intervalMs??Ib;if(!Number.isSafeInteger(t)||t<10)throw new _("Mutation event follow interval must be an integer of at least 10ms.",g.USAGE,{code:"invalid_event_follow_interval"});let n=e.since;for(;e.signal?.aborted!==!0;){let r=await Tb({...e,cursorMode:e.cursorMode??"batch",since:n});if(yield r.next_cursor===void 0&&n!==void 0?{...r,next_cursor:n}:r,r.events.length>0){n=r.next_cursor;continue}try{await kb(t,void 0,{signal:e.signal})}catch(i){if(ol(i))return;throw i}}}async function*eR(e={}){for await(let t of Rb({...e,cursorMode:"row"}))for(let n of t.events)yield n}var tR={decodeMutationEventCursor:rl,encodeMutationEventCursor:fo,eventQueryFingerprint:tl,isAbortError:ol,isMutationEventCursorEnvelope:nl,parseMutationEventLimit:il,resolveMutationEventStart:sl};(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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function rR(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,i)=>r.localeCompare(i))}export{Lr as a,_n as b,iw as c,ow as d,bn as e,vn as f,ws as g,dw as h,Re as i,bl as j,Ae as k,kn as l,Es as m,En as n,mt as o,$r as p,pt as q,ie as r,In as s,Cs as t,Pr as u,ht as v,Ss as w,Ts as x,js as y,Wr as z,Hs as A,i0 as B,o0 as C,Ks as D,zs as E,a0 as F,El as G,Dw as H,Il as I,Aw as J,Ow as K,Lw as L,Fw as M,Rl as N,z as O,As as P,Sn as Q,Bw as R,Ur as S,Gw as T,yt as U,Pl as V,Ul as W,Br as X,Hl as Y,Qe as Z,Gr as _,Kr as $,Kl as aa,zr as ba,Qw as ca,Zw as da,e0 as ea,t0 as fa,pu as ga,ea as ha,Ys as ia,Xs as ja,vu as ka,bu as la,wu as ma,kt as na,Rn as oa,Xr as pa,xn as qa,B0 as ra,ma as sa,he as ta,lk as ua,ba as va,wa,ka as xa,Ea as ya,Ia as za,Mn as Aa,Sa as Ba,nt as Ca,Ta as Da,Aa as Ea,Pn as Fa,Oa as Ga,La as Ha,Jm as Ia,za as Ja,Hn as Ka,ai as La,Bn as Ma,Va as Na,Wa as Oa,ci as Pa,Ct as Qa,Xa as Ra,li as Sa,ui as Ta,fi as Ua,Ja as Va,mi as Wa,Za as Xa,ec as Ya,nc as Za,Ep as _a,_E as $a,mC as ab,Wc as bb,rR as cb,lc as db,uc as eb,EE as fb,Jp as gb,at as hb,T as ib,xe as jb,FE as kb,ME as lb,_c as mb,nh as nb,NE as ob,$E as pb,WE as qb,Sc as rb,Yn as sb,Zn as tb,gI as ub,er as vb,Vh as wb,_I as xb,yI as yb,vI as zb,bI as Ab,Wh as Bb,$c as Cb,ug as Db,bg as Eb,PC as Fb,jC as Gb,nd as Hb,zC as Ib,VC as Jb,qC as Kb,WC as Lb,rd as Mb,tS as Nb,nS as Ob,rS as Pb,pd as Qb,or as Rb,sr as Sb,Vi as Tb,ar as Ub,cS as Vb,qi as Wb,cr as Xb,vS as Yb,vd as Zb,bd as _b,Ot as $b,Yi as ac,lr as bc,V_ as cc,Ed as dc,J_ as ec,ur as fc,Q_ as gc,Z_ as hc,ry as ic,iy as jc,DS as kc,oy as lc,Id as mc,Xi as nc,Ji as oc,hy as pc,wy as qc,HS as rc,Qi as sc,Zi as tc,fr as uc,Ad as vc,GS as wc,Ry as xc,Oy as yc,Fd as zc,jy as Ac,Md as Bc,Uy as Cc,ZS as Dc,Hy as Ec,Wy as Fc,Mt as Gc,wT as Hc,ro as Ic,Jy as Jc,Qy as Kc,oo as Lc,Ne as Mc,ao as Nc,co as Oc,lo as Pc,lt as Qc,Pt as Rc,pr as Sc,kT as Tc,Qv as Uc,ET as Vc,rb as Wc,$T as Xc,PT as Yc,jT as Zc,UT as _c,HT as $c,ZT as ad,Tb as bd,Rb as cd,eR as dd,tR as ed};
20
+ //# sourceMappingURL=chunk-IFPJDJUM.js.map