@unbrained/pm-cli 2026.10.11 → 2026.10.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +45 -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 +31 -31
  6. package/dist/cli/commander-usage.js +3 -3
  7. package/dist/cli/error-guidance.d.ts +158 -161
  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/help-json-payload.js +1 -1
  16. package/dist/cli/invocation-profile.d.ts +8 -8
  17. package/dist/cli/main.d.ts +166 -165
  18. package/dist/cli/main.js +4 -4
  19. package/dist/cli/migration-gates.d.ts +20 -20
  20. package/dist/cli/register-list-query.d.ts +4 -4
  21. package/dist/cli/register-mutation-options.d.ts +2 -2
  22. package/dist/cli/register-operations.d.ts +68 -63
  23. package/dist/cli/register-operations.js +1 -1
  24. package/dist/cli/register-setup.d.ts +1 -1
  25. package/dist/cli/register-structured-mutation.d.ts +3 -3
  26. package/dist/cli/register-structured-mutation.js +1 -1
  27. package/dist/cli/runtime/activation.d.ts +3 -3
  28. package/dist/cli/runtime/invocation-options.js +1 -1
  29. package/dist/cli/runtime/selection.d.ts +6 -6
  30. package/dist/cli/runtime-compatibility-boundary.d.ts +12 -12
  31. package/dist/cli-bundle/bundle-manifest.json +1 -1
  32. package/dist/cli-bundle/chunks/{chunk-K2UTE75T.js → chunk-AM2XOZKE.js} +2 -2
  33. package/dist/cli-bundle/chunks/{chunk-S445XEYT.js → chunk-APWPC4ZZ.js} +2 -2
  34. package/dist/cli-bundle/chunks/chunk-DJDRHJBP.js +234 -0
  35. package/dist/cli-bundle/chunks/{chunk-RUT3CCAG.js → chunk-DUK5DHI6.js} +2 -2
  36. package/dist/cli-bundle/chunks/chunk-HXHFKXLV.js +2 -0
  37. package/dist/cli-bundle/chunks/chunk-IFPJDJUM.js +20 -0
  38. package/dist/cli-bundle/chunks/{chunk-OBLO45UM.js → chunk-LBDWFWPK.js} +2 -2
  39. package/dist/cli-bundle/chunks/{chunk-ZWRLAOA4.js → chunk-N5EXRYCZ.js} +2 -2
  40. package/dist/cli-bundle/chunks/chunk-PSNS537F.js +30 -0
  41. package/dist/cli-bundle/chunks/{chunk-2JYTSTQP.js → chunk-RL45OYTL.js} +2 -2
  42. package/dist/cli-bundle/chunks/{chunk-ESRACL6K.js → chunk-UBTYYZIE.js} +49 -49
  43. package/dist/cli-bundle/chunks/chunk-WYZGZV2M.js +2 -0
  44. package/dist/cli-bundle/chunks/{chunk-SSY4OSJR.js → chunk-YH6H3UVE.js} +10 -10
  45. package/dist/cli-bundle/chunks/{register-list-query-T6BOR67M.js → register-list-query-BJ742QOR.js} +2 -2
  46. package/dist/cli-bundle/chunks/{register-mutation-6NXR7SAJ.js → register-mutation-GGGBRIH2.js} +3 -3
  47. package/dist/cli-bundle/chunks/register-operations-E6HXYHNM.js +2 -0
  48. package/dist/cli-bundle/chunks/{register-setup-MAYFPKBX.js → register-setup-4ZVTVEPY.js} +2 -2
  49. package/dist/cli-bundle/focused-chunks/{chunk-EIOQNLBQ.js → chunk-3LQEBXU5.js} +12 -12
  50. package/dist/cli-bundle/focused-chunks/{chunk-PLTTMQAW.js → chunk-6BTUISKV.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/chunk-73UNAJHD.js +2 -0
  52. package/dist/cli-bundle/focused-chunks/{chunk-WAOXID5J.js → chunk-DVK7VKZL.js} +2 -2
  53. package/dist/cli-bundle/focused-chunks/{chunk-SIEGIPNT.js → chunk-F5J3ATMV.js} +16 -16
  54. package/dist/cli-bundle/focused-chunks/chunk-IIKFTJVC.js +2 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-IOTNG6CN.js +2 -0
  56. package/dist/cli-bundle/focused-chunks/{chunk-AU6VJGTY.js → chunk-KGFRQ34R.js} +2 -2
  57. package/dist/cli-bundle/focused-chunks/chunk-NNW5BS5L.js +3 -0
  58. package/dist/cli-bundle/focused-chunks/{chunk-KNJR2WUO.js → chunk-QMNAY25P.js} +62 -62
  59. package/dist/cli-bundle/focused-chunks/{chunk-W5AE7GKZ.js → chunk-R23T7GFZ.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/chunk-RAA7SVRA.js +8 -0
  61. package/dist/cli-bundle/focused-chunks/{chunk-52UJEHEV.js → chunk-RU6GCFN3.js} +2 -2
  62. package/dist/cli-bundle/focused-chunks/{chunk-JGFSSR3G.js → chunk-S6ITXQ5T.js} +5 -5
  63. package/dist/cli-bundle/focused-chunks/{chunk-DMSADMEU.js → chunk-SOB7X4FJ.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/chunk-UPJA45K7.js +26 -0
  65. package/dist/cli-bundle/main.js +22 -22
  66. package/dist/cli-bundle/sdk-authoring.js +1 -1
  67. package/dist/cli-bundle/sdk-contracts.js +2 -2
  68. package/dist/cli-bundle/sdk-core.js +31 -31
  69. package/dist/cli-bundle/sdk-governance.js +1 -1
  70. package/dist/cli-bundle/sdk-graph.js +1 -1
  71. package/dist/cli-bundle/sdk-merge.js +51 -51
  72. package/dist/cli-bundle/sdk-query.js +1 -1
  73. package/dist/cli-bundle/sdk-runtime.js +1 -1
  74. package/dist/cli-bundle/sdk-testing.js +1 -1
  75. package/dist/cli-bundle/sdk.js +8 -8
  76. package/dist/cli.d.ts +4 -4
  77. package/dist/core/checkpoint/checkpoint-gc.d.ts +32 -32
  78. package/dist/core/checkpoint/mutation-checkpoint.d.ts +34 -34
  79. package/dist/core/config/nested-settings.d.ts +26 -26
  80. package/dist/core/config/positional-value.d.ts +16 -16
  81. package/dist/core/diagnostics/remediation.d.ts +6 -6
  82. package/dist/core/diagnostics/remediation.js +1 -1
  83. package/dist/core/extensions/activation-summary-markdown.d.ts +6 -6
  84. package/dist/core/extensions/activation-summary.d.ts +54 -54
  85. package/dist/core/extensions/activation-transaction.d.ts +7 -7
  86. package/dist/core/extensions/capability-usage.d.ts +26 -26
  87. package/dist/core/extensions/command-hook-context.d.ts +26 -26
  88. package/dist/core/extensions/contribution-inventory.d.ts +21 -21
  89. package/dist/core/extensions/extension-candidate.d.ts +14 -14
  90. package/dist/core/extensions/extension-capability-aliases.d.ts +2 -2
  91. package/dist/core/extensions/extension-policy.d.ts +80 -80
  92. package/dist/core/extensions/extension-types.d.ts +1294 -1285
  93. package/dist/core/extensions/extension-types.js +1 -1
  94. package/dist/core/extensions/flag-definition-validation.d.ts +4 -4
  95. package/dist/core/extensions/item-fields.d.ts +3 -2
  96. package/dist/core/extensions/item-fields.js +1 -1
  97. package/dist/core/extensions/loader.d.ts +36 -36
  98. package/dist/core/extensions/loader.js +1 -1
  99. package/dist/core/extensions/manifest-schema.d.ts +16 -16
  100. package/dist/core/extensions/module-graph-snapshot.d.ts +8 -8
  101. package/dist/core/extensions/read-output-contract.d.ts +5 -0
  102. package/dist/core/extensions/read-output-contract.js +2 -0
  103. package/dist/core/extensions/registration-values.d.ts +1 -1
  104. package/dist/core/extensions/reserved-host-flags.d.ts +6 -6
  105. package/dist/core/extensions/version-compat.d.ts +10 -10
  106. package/dist/core/fs/fs-utils.d.ts +1 -1
  107. package/dist/core/fs/host-environment-errors.d.ts +14 -14
  108. package/dist/core/governance/content-fields.d.ts +31 -31
  109. package/dist/core/governance/issue-codes.d.ts +27 -27
  110. package/dist/core/governance/metadata-coverage.d.ts +91 -91
  111. package/dist/core/history/drift-scan.d.ts +26 -26
  112. package/dist/core/history/event-classification.d.ts +1 -1
  113. package/dist/core/history/event-classification.js +1 -1
  114. package/dist/core/history/event-index.d.ts +41 -41
  115. package/dist/core/history/history-compact-bulk.d.ts +22 -22
  116. package/dist/core/history/history-diff.d.ts +22 -22
  117. package/dist/core/history/history-rewrite.d.ts +66 -66
  118. package/dist/core/history/history-storage-stats.d.ts +31 -31
  119. package/dist/core/history/history-stream-policy.d.ts +12 -12
  120. package/dist/core/history/history.d.ts +22 -22
  121. package/dist/core/history/identity.d.ts +6 -6
  122. package/dist/core/history/operation-contract.d.ts +9 -9
  123. package/dist/core/history/projection.d.ts +15 -15
  124. package/dist/core/history/read.d.ts +4 -4
  125. package/dist/core/history/replay.d.ts +51 -49
  126. package/dist/core/history/replay.js +1 -1
  127. package/dist/core/history/workspace-history.d.ts +101 -101
  128. package/dist/core/io/bulk-ids-input.d.ts +4 -4
  129. package/dist/core/item/actionability.d.ts +40 -40
  130. package/dist/core/item/id.d.ts +3 -3
  131. package/dist/core/item/item-format-version.d.ts +8 -8
  132. package/dist/core/item/item-format.d.ts +37 -35
  133. package/dist/core/item/item-format.js +2 -2
  134. package/dist/core/item/item-type-definition.d.ts +2 -2
  135. package/dist/core/item/parent-reference-policy.d.ts +1 -1
  136. package/dist/core/item/parse.d.ts +12 -12
  137. package/dist/core/item/sprint-release-format.d.ts +2 -2
  138. package/dist/core/item/status-filter.d.ts +4 -4
  139. package/dist/core/item/toon-decode.d.ts +9 -9
  140. package/dist/core/item/type-registry.d.ts +40 -40
  141. package/dist/core/lock/lock-gc.d.ts +50 -50
  142. package/dist/core/lock/lock.d.ts +37 -37
  143. package/dist/core/output/mutation-projection.d.ts +6 -6
  144. package/dist/core/output/output-control.d.ts +4 -4
  145. package/dist/core/output/output.d.ts +40 -40
  146. package/dist/core/output/query-summary.d.ts +5 -5
  147. package/dist/core/packages/manifest.d.ts +50 -50
  148. package/dist/core/policy/workflow-policy-schema.d.ts +306 -306
  149. package/dist/core/policy/workflow-policy-store.d.ts +7 -7
  150. package/dist/core/policy/workflow-policy.d.ts +81 -81
  151. package/dist/core/profile/profile-describe.d.ts +40 -40
  152. package/dist/core/profile/profile-lint.d.ts +20 -20
  153. package/dist/core/profile/profile-plan.d.ts +84 -84
  154. package/dist/core/profile/profile-presets.d.ts +52 -52
  155. package/dist/core/reproducibility/context.d.ts +6 -6
  156. package/dist/core/schema/fields-file.d.ts +54 -54
  157. package/dist/core/schema/item-types-file.d.ts +36 -36
  158. package/dist/core/schema/runtime-field-values.d.ts +2 -2
  159. package/dist/core/schema/runtime-schema.d.ts +86 -86
  160. package/dist/core/schema/status-defs-file.d.ts +36 -36
  161. package/dist/core/schema/type-inference.d.ts +14 -14
  162. package/dist/core/schema/type-workflows.d.ts +22 -22
  163. package/dist/core/search/background-refresh.d.ts +9 -9
  164. package/dist/core/search/bm25.d.ts +19 -19
  165. package/dist/core/search/cache.d.ts +35 -35
  166. package/dist/core/search/corpus.d.ts +12 -12
  167. package/dist/core/search/embedding-batches.d.ts +48 -48
  168. package/dist/core/search/eval.d.ts +49 -49
  169. package/dist/core/search/http-client.d.ts +38 -38
  170. package/dist/core/search/providers.d.ts +41 -41
  171. package/dist/core/search/relevance.d.ts +20 -20
  172. package/dist/core/search/semantic-defaults.d.ts +8 -8
  173. package/dist/core/search/staleness.d.ts +4 -4
  174. package/dist/core/search/vector-stores.d.ts +78 -78
  175. package/dist/core/search/vectorization-metadata.d.ts +6 -6
  176. package/dist/core/sentry/helpers.d.ts +15 -15
  177. package/dist/core/sentry/instrument.d.ts +40 -40
  178. package/dist/core/session/session-state.d.ts +32 -32
  179. package/dist/core/shared/agent-session-context.d.ts +14 -14
  180. package/dist/core/shared/author.d.ts +128 -128
  181. package/dist/core/shared/command-types.d.ts +40 -40
  182. package/dist/core/shared/conflict-markers.d.ts +6 -6
  183. package/dist/core/shared/constants.d.ts +13 -13
  184. package/dist/core/shared/errors.d.ts +194 -183
  185. package/dist/core/shared/errors.js +1 -1
  186. package/dist/core/shared/secret-rules.d.ts +97 -97
  187. package/dist/core/shared/serial-queue.d.ts +8 -8
  188. package/dist/core/shared/split-comma-list.d.ts +6 -6
  189. package/dist/core/shared/time.d.ts +23 -23
  190. package/dist/core/store/item-format-migration.d.ts +10 -10
  191. package/dist/core/store/item-metadata-cache.d.ts +38 -38
  192. package/dist/core/store/item-metadata-query-index.d.ts +79 -79
  193. package/dist/core/store/item-metadata-read-work.d.ts +6 -6
  194. package/dist/core/store/item-store.d.ts +110 -110
  195. package/dist/core/store/paths.d.ts +2 -2
  196. package/dist/core/store/settings-read-cache.d.ts +12 -12
  197. package/dist/core/store/settings-validator.d.ts +165 -165
  198. package/dist/core/store/settings.d.ts +59 -59
  199. package/dist/core/telemetry/observability.d.ts +17 -17
  200. package/dist/core/telemetry/policy.d.ts +3 -3
  201. package/dist/core/telemetry/runtime.d.ts +242 -242
  202. package/dist/core/telemetry/runtime.js +2 -2
  203. package/dist/core/test/background-runs.d.ts +186 -185
  204. package/dist/core/test/background-runs.js +2 -2
  205. package/dist/core/test/item-test-run-tracking.d.ts +6 -6
  206. package/dist/core/test/run-selectors.d.ts +18 -18
  207. package/dist/core/validate/fix-planning.d.ts +50 -50
  208. package/dist/core/validate/missing-by-type.d.ts +4 -4
  209. package/dist/core/validate/missing-link-owners.d.ts +30 -30
  210. package/dist/core/validate/stale-file-classification.d.ts +8 -8
  211. package/dist/mcp/http-server.d.ts +28 -28
  212. package/dist/mcp/legacy-adapter.d.ts +33 -33
  213. package/dist/mcp/runtime-capabilities.d.ts +16 -16
  214. package/dist/mcp/server.d.ts +50 -50
  215. package/dist/mcp/tool-definitions.d.ts +36 -36
  216. package/dist/sdk/agent/closed-domain-contracts.d.ts +18 -18
  217. package/dist/sdk/agent/command-recovery.d.ts +4 -0
  218. package/dist/sdk/agent/command-recovery.js +1 -1
  219. package/dist/sdk/agent/command-suggestions.d.ts +2 -0
  220. package/dist/sdk/agent/command-suggestions.js +1 -1
  221. package/dist/sdk/agent/identity-config.d.ts +32 -32
  222. package/dist/sdk/agent/item-addressing.d.ts +8 -8
  223. package/dist/sdk/agent/refusal-closure-census.d.ts +34 -34
  224. package/dist/sdk/agent/refusal-closure.d.ts +42 -42
  225. package/dist/sdk/agent/refusal-corpus-contracts.d.ts +46 -46
  226. package/dist/sdk/agent/refusal-reachability.d.ts +112 -112
  227. package/dist/sdk/agent/subcommand-recovery.d.ts +25 -25
  228. package/dist/sdk/agent/task-transcript-contracts.d.ts +30 -30
  229. package/dist/sdk/agent/tracker-preflight-contracts.d.ts +38 -38
  230. package/dist/sdk/agent-capability-contracts.d.ts +37 -37
  231. package/dist/sdk/annotations.d.ts +106 -106
  232. package/dist/sdk/author-attribution.d.ts +76 -76
  233. package/dist/sdk/authoring.d.ts +1 -1
  234. package/dist/sdk/authoring.js +1 -1
  235. package/dist/sdk/cli-bootstrap.d.ts +70 -70
  236. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +63 -63
  237. package/dist/sdk/cli-contracts/command-aliases.d.ts +14 -14
  238. package/dist/sdk/cli-contracts/command-exit-contracts.d.ts +70 -70
  239. package/dist/sdk/cli-contracts/commander-types.d.ts +17 -17
  240. package/dist/sdk/cli-contracts/completeness.d.ts +26 -26
  241. package/dist/sdk/cli-contracts/enum-contracts.d.ts +5 -5
  242. package/dist/sdk/cli-contracts/flag-contracts.d.ts +32 -32
  243. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  244. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +42 -42
  245. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  246. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +84 -84
  247. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  248. package/dist/sdk/cli-contracts/registration-helpers.d.ts +37 -40
  249. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  250. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +290 -294
  251. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  252. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +793 -793
  253. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +391 -391
  254. package/dist/sdk/cli-contracts/tool-parameter-tables.d.ts +6 -6
  255. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  256. package/dist/sdk/cli-contracts/tool-schema.d.ts +55 -55
  257. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  258. package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +24 -24
  259. package/dist/sdk/comments.d.ts +44 -44
  260. package/dist/sdk/compile-cache.d.ts +4 -4
  261. package/dist/sdk/completion/shared.d.ts +22 -22
  262. package/dist/sdk/compose.d.ts +156 -156
  263. package/dist/sdk/config.d.ts +123 -123
  264. package/dist/sdk/context/semantic-session-attribution.d.ts +14 -14
  265. package/dist/sdk/context/usage-ledger.d.ts +20 -20
  266. package/dist/sdk/context-intent-contracts.d.ts +50 -50
  267. package/dist/sdk/context-intent-contracts.js +1 -1
  268. package/dist/sdk/context-intent-runtime.d.ts +8 -8
  269. package/dist/sdk/context-packing.d.ts +78 -78
  270. package/dist/sdk/context-relevance.d.ts +189 -180
  271. package/dist/sdk/context-relevance.js +1 -1
  272. package/dist/sdk/context-signal-store.d.ts +84 -84
  273. package/dist/sdk/context-usage.d.ts +92 -92
  274. package/dist/sdk/core.d.ts +1 -0
  275. package/dist/sdk/core.js +1 -1
  276. package/dist/sdk/corpus-shape.d.ts +101 -101
  277. package/dist/sdk/define.d.ts +2 -2
  278. package/dist/sdk/dependencies.d.ts +116 -116
  279. package/dist/sdk/dependency-flag-validation.d.ts +14 -12
  280. package/dist/sdk/dependency-flag-validation.js +1 -1
  281. package/dist/sdk/dependency-provenance.d.ts +30 -30
  282. package/dist/sdk/docs.d.ts +32 -32
  283. package/dist/sdk/duplicates.d.ts +21 -21
  284. package/dist/sdk/environment/agent-environment.d.ts +196 -196
  285. package/dist/sdk/environment/project-runtime-compatibility.d.ts +56 -56
  286. package/dist/sdk/environment/source-context.d.ts +6 -6
  287. package/dist/sdk/error-code-catalog.d.ts +40 -40
  288. package/dist/sdk/errors.d.ts +29 -29
  289. package/dist/sdk/eval.d.ts +45 -45
  290. package/dist/sdk/extension/author-manifest.d.ts +14 -14
  291. package/dist/sdk/extension/bundled-catalog.d.ts +7 -7
  292. package/dist/sdk/extension/describe.d.ts +36 -36
  293. package/dist/sdk/extension/doctor.d.ts +29 -29
  294. package/dist/sdk/extension/install-plan.d.ts +55 -55
  295. package/dist/sdk/extension/install-receipts.d.ts +2 -2
  296. package/dist/sdk/extension/install-runtime.d.ts +8 -8
  297. package/dist/sdk/extension/install-snapshot.d.ts +14 -14
  298. package/dist/sdk/extension/install-sources.d.ts +96 -96
  299. package/dist/sdk/extension/managed-state.d.ts +66 -66
  300. package/dist/sdk/extension/migrations.d.ts +82 -82
  301. package/dist/sdk/extension/output-ownership.d.ts +24 -24
  302. package/dist/sdk/extension/runtime-summary.d.ts +5 -5
  303. package/dist/sdk/extension/scaffold.d.ts +12 -12
  304. package/dist/sdk/extension/shared.d.ts +15 -15
  305. package/dist/sdk/extension/source-resolution.d.ts +30 -30
  306. package/dist/sdk/extension/static-inventory.d.ts +42 -42
  307. package/dist/sdk/extension/update-check.d.ts +10 -10
  308. package/dist/sdk/extension.d.ts +320 -320
  309. package/dist/sdk/files.d.ts +157 -157
  310. package/dist/sdk/flag-invocation-contracts.d.ts +44 -44
  311. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  312. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  313. package/dist/sdk/governance/artifact-ledgers.d.ts +35 -35
  314. package/dist/sdk/governance/artifact-ledgers.js +1 -1
  315. package/dist/sdk/governance/assurance-action.d.ts +68 -68
  316. package/dist/sdk/governance/assurance-action.js +1 -1
  317. package/dist/sdk/governance/assurance-mutation-error.d.ts +36 -36
  318. package/dist/sdk/governance/assurance-presets.d.ts +24 -24
  319. package/dist/sdk/governance/assurance-runtime.d.ts +14 -14
  320. package/dist/sdk/governance/assurance.d.ts +353 -353
  321. package/dist/sdk/governance/boundary-fixtures.d.ts +60 -60
  322. package/dist/sdk/governance/closure-timestamps.d.ts +9 -9
  323. package/dist/sdk/governance/coverage-assurance.d.ts +10 -10
  324. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +75 -75
  325. package/dist/sdk/governance/defect-recurrence-graph.d.ts +18 -18
  326. package/dist/sdk/governance/defect-recurrence.d.ts +186 -181
  327. package/dist/sdk/governance/defect-recurrence.js +1 -1
  328. package/dist/sdk/governance/extension-host-version.d.ts +16 -16
  329. package/dist/sdk/governance/gc.d.ts +48 -48
  330. package/dist/sdk/governance/health-merge-evidence.d.ts +5 -5
  331. package/dist/sdk/governance/health.d.ts +188 -188
  332. package/dist/sdk/governance/hierarchy-validation.d.ts +13 -13
  333. package/dist/sdk/governance/linked-file-report.d.ts +26 -26
  334. package/dist/sdk/governance/merge-receipt-history.d.ts +36 -36
  335. package/dist/sdk/governance/provenance-health.d.ts +64 -64
  336. package/dist/sdk/governance/reindex.d.ts +89 -89
  337. package/dist/sdk/governance/reliability.d.ts +56 -56
  338. package/dist/sdk/governance/stale-work.d.ts +22 -22
  339. package/dist/sdk/governance/status-role-diagnostics.d.ts +12 -12
  340. package/dist/sdk/governance/storage-integrity.d.ts +54 -54
  341. package/dist/sdk/governance/tracked-runtime-cache.d.ts +10 -10
  342. package/dist/sdk/governance/upgrade.d.ts +104 -104
  343. package/dist/sdk/governance/validate-history-drift.d.ts +2 -2
  344. package/dist/sdk/governance/validate-item-reader.d.ts +6 -6
  345. package/dist/sdk/governance/validate.d.ts +191 -191
  346. package/dist/sdk/governance/workflow-completeness.d.ts +15 -15
  347. package/dist/sdk/governance/workflow-policy.d.ts +28 -28
  348. package/dist/sdk/governance/workspace-position.d.ts +46 -46
  349. package/dist/sdk/graph/adapter.d.ts +66 -66
  350. package/dist/sdk/graph/analytics.d.ts +54 -54
  351. package/dist/sdk/graph/assembly.d.ts +80 -80
  352. package/dist/sdk/graph/cache.d.ts +29 -29
  353. package/dist/sdk/graph/cardinality-integrity.d.ts +13 -0
  354. package/dist/sdk/graph/cardinality-integrity.js +2 -0
  355. package/dist/sdk/graph/centrality.d.ts +34 -34
  356. package/dist/sdk/graph/conformance.d.ts +33 -33
  357. package/dist/sdk/graph/deadline-scheduling.d.ts +58 -58
  358. package/dist/sdk/graph/durable-cache.d.ts +26 -26
  359. package/dist/sdk/graph/governance.d.ts +165 -165
  360. package/dist/sdk/graph/hierarchy-integrity.d.ts +52 -52
  361. package/dist/sdk/graph/index.d.ts +1 -0
  362. package/dist/sdk/graph/index.js +1 -1
  363. package/dist/sdk/graph/lifecycle-coverage.d.ts +17 -17
  364. package/dist/sdk/graph/mutation-advisory.d.ts +11 -11
  365. package/dist/sdk/graph/query-contracts.d.ts +10 -10
  366. package/dist/sdk/graph/remediation.d.ts +25 -25
  367. package/dist/sdk/graph/run.d.ts +392 -392
  368. package/dist/sdk/graph/scheduling.d.ts +38 -38
  369. package/dist/sdk/graph/traversal.d.ts +14 -14
  370. package/dist/sdk/guide-topics.d.ts +32 -32
  371. package/dist/sdk/guide.d.ts +62 -62
  372. package/dist/sdk/history/attestation-command.d.ts +12 -12
  373. package/dist/sdk/history/attestation-contract.d.ts +78 -78
  374. package/dist/sdk/history/attestation-scan.d.ts +6 -6
  375. package/dist/sdk/history/maintenance.d.ts +46 -46
  376. package/dist/sdk/history/salvage.d.ts +18 -18
  377. package/dist/sdk/history/subject.d.ts +9 -9
  378. package/dist/sdk/history-analytics.d.ts +84 -84
  379. package/dist/sdk/history-compact.d.ts +103 -103
  380. package/dist/sdk/history-mcp.d.ts +8 -8
  381. package/dist/sdk/history-provenance.d.ts +59 -59
  382. package/dist/sdk/history-read.d.ts +36 -36
  383. package/dist/sdk/history-redact.d.ts +78 -78
  384. package/dist/sdk/history-repair.d.ts +158 -158
  385. package/dist/sdk/history-repair.js +1 -1
  386. package/dist/sdk/improvement-ledger.d.ts +102 -102
  387. package/dist/sdk/index.d.ts +2 -0
  388. package/dist/sdk/index.js +1 -1
  389. package/dist/sdk/init-agent-guidance.d.ts +70 -70
  390. package/dist/sdk/init.d.ts +152 -152
  391. package/dist/sdk/item-children.d.ts +28 -28
  392. package/dist/sdk/item-schedule.d.ts +12 -12
  393. package/dist/sdk/item-transaction.d.ts +100 -100
  394. package/dist/sdk/learnings.d.ts +42 -42
  395. package/dist/sdk/lifecycle/append.d.ts +14 -14
  396. package/dist/sdk/lifecycle/claim.d.ts +60 -60
  397. package/dist/sdk/lifecycle/close-many.d.ts +94 -94
  398. package/dist/sdk/lifecycle/close.d.ts +27 -27
  399. package/dist/sdk/lifecycle/copy.d.ts +18 -18
  400. package/dist/sdk/lifecycle/core-field-recovery.d.ts +7 -0
  401. package/dist/sdk/lifecycle/core-field-recovery.js +2 -0
  402. package/dist/sdk/lifecycle/create.d.ts +82 -82
  403. package/dist/sdk/lifecycle/create.js +1 -1
  404. package/dist/sdk/lifecycle/delete.d.ts +28 -28
  405. package/dist/sdk/lifecycle/focus.d.ts +10 -10
  406. package/dist/sdk/lifecycle/hierarchy-mutation-lock.d.ts +10 -10
  407. package/dist/sdk/lifecycle/hierarchy-mutation-lock.js +1 -1
  408. package/dist/sdk/lifecycle/legacy-none-tokens.d.ts +54 -54
  409. package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +4 -4
  410. package/dist/sdk/lifecycle/mcp-actions.d.ts +10 -10
  411. package/dist/sdk/lifecycle/mutation-command-options.d.ts +116 -116
  412. package/dist/sdk/lifecycle/mutation-facet-contracts.d.ts +6 -0
  413. package/dist/sdk/lifecycle/mutation-facet-contracts.js +2 -0
  414. package/dist/sdk/lifecycle/plan-mutation-receipt.d.ts +42 -42
  415. package/dist/sdk/lifecycle/plan.d.ts +217 -217
  416. package/dist/sdk/lifecycle/reopen.d.ts +29 -24
  417. package/dist/sdk/lifecycle/reopen.js +1 -1
  418. package/dist/sdk/lifecycle/repeatable-metadata-parsers.d.ts +3 -3
  419. package/dist/sdk/lifecycle/restore.d.ts +33 -33
  420. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +19 -19
  421. package/dist/sdk/lifecycle/task-composition.d.ts +4 -4
  422. package/dist/sdk/lifecycle/update-many.d.ts +79 -79
  423. package/dist/sdk/lifecycle/update.d.ts +131 -132
  424. package/dist/sdk/lifecycle/update.js +2 -2
  425. package/dist/sdk/lifecycle-completion.d.ts +22 -22
  426. package/dist/sdk/lifecycle-policy.d.ts +52 -52
  427. package/dist/sdk/linked-artifacts.d.ts +69 -69
  428. package/dist/sdk/mcp/apps.d.ts +32 -32
  429. package/dist/sdk/mcp/authorization.d.ts +76 -76
  430. package/dist/sdk/mcp/discovery.d.ts +111 -111
  431. package/dist/sdk/mcp/interactions.d.ts +61 -61
  432. package/dist/sdk/mcp/protocol.d.ts +78 -78
  433. package/dist/sdk/mcp/skills.d.ts +88 -88
  434. package/dist/sdk/mcp/subscriptions.d.ts +39 -39
  435. package/dist/sdk/mcp/tasks.d.ts +75 -75
  436. package/dist/sdk/mcp/transport.d.ts +11 -11
  437. package/dist/sdk/merge/abandoned-receipts.d.ts +6 -6
  438. package/dist/sdk/merge/driver.d.ts +60 -60
  439. package/dist/sdk/merge/install.d.ts +64 -64
  440. package/dist/sdk/merge/receipt-file-boundary.d.ts +5 -5
  441. package/dist/sdk/merge/receipt-operation.d.ts +6 -6
  442. package/dist/sdk/merge/receipt-schema.d.ts +2 -2
  443. package/dist/sdk/merge/receipts.d.ts +156 -156
  444. package/dist/sdk/merge/reconcile.d.ts +36 -36
  445. package/dist/sdk/merge/reconcile.js +1 -1
  446. package/dist/sdk/merge/three-way.d.ts +77 -76
  447. package/dist/sdk/merge/three-way.js +1 -1
  448. package/dist/sdk/mutation-events.d.ts +84 -84
  449. package/dist/sdk/mutation-guard.d.ts +106 -106
  450. package/dist/sdk/notes.d.ts +52 -52
  451. package/dist/sdk/output/table-rows.d.ts +8 -8
  452. package/dist/sdk/output-contracts.d.ts +38 -38
  453. package/dist/sdk/output-projection.d.ts +142 -142
  454. package/dist/sdk/output-token-accounting.d.ts +27 -27
  455. package/dist/sdk/output.d.ts +28 -28
  456. package/dist/sdk/package-import-adapters.d.ts +54 -54
  457. package/dist/sdk/pagination.d.ts +29 -29
  458. package/dist/sdk/profile.d.ts +123 -123
  459. package/dist/sdk/provenance.d.ts +58 -58
  460. package/dist/sdk/public-surface.json +1 -1
  461. package/dist/sdk/query/activity.d.ts +118 -118
  462. package/dist/sdk/query/aggregate.d.ts +140 -140
  463. package/dist/sdk/query/calendar.d.ts +144 -144
  464. package/dist/sdk/query/complete-list.d.ts +53 -53
  465. package/dist/sdk/query/context.d.ts +395 -395
  466. package/dist/sdk/query/duplicate-candidates.d.ts +1 -1
  467. package/dist/sdk/query/get.d.ts +77 -77
  468. package/dist/sdk/query/history.d.ts +72 -72
  469. package/dist/sdk/query/item-filter-options.d.ts +79 -79
  470. package/dist/sdk/query/list-filter-shared.d.ts +1 -1
  471. package/dist/sdk/query/list.d.ts +188 -188
  472. package/dist/sdk/query/multi-value-filters.d.ts +4 -4
  473. package/dist/sdk/query/next-ready-budget.d.ts +14 -14
  474. package/dist/sdk/query/next.d.ts +137 -137
  475. package/dist/sdk/query/projection-contracts.d.ts +8 -8
  476. package/dist/sdk/query/search/corpus.d.ts +8 -8
  477. package/dist/sdk/query/search/filters.d.ts +5 -5
  478. package/dist/sdk/query/search/input.d.ts +4 -4
  479. package/dist/sdk/query/search/response.d.ts +8 -8
  480. package/dist/sdk/query/search/semantic.d.ts +106 -106
  481. package/dist/sdk/query/search/types.d.ts +85 -85
  482. package/dist/sdk/query/search-contracts.d.ts +65 -65
  483. package/dist/sdk/query/search-pagination.d.ts +19 -19
  484. package/dist/sdk/query/search-rendering.d.ts +25 -25
  485. package/dist/sdk/query/search.d.ts +46 -46
  486. package/dist/sdk/read-output/continuation.d.ts +8 -8
  487. package/dist/sdk/read-output/continuation.js +1 -1
  488. package/dist/sdk/read-output/extension.d.ts +7 -0
  489. package/dist/sdk/read-output/extension.js +2 -0
  490. package/dist/sdk/read-output/options.d.ts +6 -4
  491. package/dist/sdk/read-output/options.js +1 -1
  492. package/dist/sdk/read-output/provenance.d.ts +8 -8
  493. package/dist/sdk/read-output-budget.d.ts +10 -10
  494. package/dist/sdk/read-output-contracts.d.ts +192 -186
  495. package/dist/sdk/read-output-contracts.js +1 -1
  496. package/dist/sdk/read-output-rows.d.ts +6 -6
  497. package/dist/sdk/read-output-session.d.ts +50 -50
  498. package/dist/sdk/relationship-analytics.d.ts +78 -78
  499. package/dist/sdk/relationship-context.d.ts +81 -81
  500. package/dist/sdk/relationship-history.d.ts +109 -109
  501. package/dist/sdk/relationship-kinds/contract.d.ts +34 -34
  502. package/dist/sdk/relationship-migration.d.ts +26 -26
  503. package/dist/sdk/relationships.d.ts +78 -78
  504. package/dist/sdk/reproducibility/process.d.ts +3 -3
  505. package/dist/sdk/runtime/context.d.ts +11 -11
  506. package/dist/sdk/runtime-action-aliases.d.ts +2 -2
  507. package/dist/sdk/runtime-extended-actions.d.ts +8 -8
  508. package/dist/sdk/runtime-input.d.ts +3 -3
  509. package/dist/sdk/runtime-public-contracts.d.ts +78 -78
  510. package/dist/sdk/runtime.d.ts +305 -305
  511. package/dist/sdk/runtime.js +1 -1
  512. package/dist/sdk/scheduling-shortcuts.d.ts +32 -32
  513. package/dist/sdk/schema-migration.d.ts +86 -86
  514. package/dist/sdk/schema.d.ts +355 -355
  515. package/dist/sdk/similarity-scoring.d.ts +10 -10
  516. package/dist/sdk/similarity.d.ts +113 -113
  517. package/dist/sdk/stats.d.ts +108 -108
  518. package/dist/sdk/structured-mutations.d.ts +16 -16
  519. package/dist/sdk/structured-mutations.js +1 -1
  520. package/dist/sdk/telemetry.d.ts +53 -53
  521. package/dist/sdk/templates.d.ts +39 -39
  522. package/dist/sdk/test/batch.d.ts +85 -85
  523. package/dist/sdk/test/batch.js +1 -1
  524. package/dist/sdk/test/command-args.d.ts +4 -0
  525. package/dist/sdk/test/command-args.js +2 -0
  526. package/dist/sdk/test/entry.d.ts +3 -0
  527. package/dist/sdk/test/entry.js +1 -1
  528. package/dist/sdk/test/execution-receipts.d.ts +3 -3
  529. package/dist/sdk/test/execution.d.ts +279 -268
  530. package/dist/sdk/test/execution.js +2 -2
  531. package/dist/sdk/test/json-path.d.ts +2 -2
  532. package/dist/sdk/test/linked-command-detection.d.ts +10 -10
  533. package/dist/sdk/test/measurements.d.ts +11 -11
  534. package/dist/sdk/test/parsers.d.ts +1 -1
  535. package/dist/sdk/test/parsers.js +1 -1
  536. package/dist/sdk/test/prerequisites.d.ts +6 -0
  537. package/dist/sdk/test/prerequisites.js +2 -0
  538. package/dist/sdk/test/runs.d.ts +52 -52
  539. package/dist/sdk/test/trust.d.ts +12 -12
  540. package/dist/sdk/test/trust.js +1 -1
  541. package/dist/sdk/test/update.d.ts +55 -0
  542. package/dist/sdk/test/update.js +2 -0
  543. package/dist/sdk/testing.d.ts +319 -319
  544. package/dist/sdk/traceability/source-traceability.d.ts +65 -65
  545. package/dist/sdk/workspace-contracts.d.ts +37 -37
  546. package/dist/sdk/workspace-memory.d.ts +60 -60
  547. package/dist/sdk/workspace-recipe.d.ts +9 -9
  548. package/dist/sdk/workspace-snapshot.d.ts +97 -97
  549. package/dist/sdk/workspace-transaction-gc.d.ts +32 -32
  550. package/dist/sdk/workspace-transaction.d.ts +47 -47
  551. package/dist/sdk/workspace.d.ts +6 -6
  552. package/dist/types.d.ts +978 -974
  553. package/dist/types.js +1 -1
  554. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +5 -2
  555. package/docs/DEFECT_RECURRENCE.md +12 -0
  556. package/docs/EXTENSIONS.md +2 -2
  557. package/docs/LINKED_TEST_EDITS.md +79 -0
  558. package/docs/MERGE_SAFETY.md +27 -1
  559. package/docs/RECURRENCE_RECOVERY_CONTRACTS.md +17 -4
  560. package/docs/RELATIONSHIP_GRAPH.md +26 -0
  561. package/docs/RELEASING.md +25 -8
  562. package/docs/SDK.md +204 -637
  563. package/docs/SDK_CONSUMER_RECEIPTS.md +67 -0
  564. package/docs/SDK_EVIDENCE_TRACEABILITY.md +4 -0
  565. package/docs/TESTING.md +13 -0
  566. package/docs/generated/FLAG_LEXICON_BUDGETS.md +2 -2
  567. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +11 -3
  568. package/docs/performance/runner-qualification.md +36 -0
  569. package/marketplace.json +1 -1
  570. package/node_modules/@opentelemetry/core/build/esm/version.d.ts +1 -1
  571. package/node_modules/@opentelemetry/core/build/esm/version.js +1 -1
  572. package/node_modules/@opentelemetry/core/build/esnext/version.d.ts +1 -1
  573. package/node_modules/@opentelemetry/core/build/esnext/version.js +1 -1
  574. package/node_modules/@opentelemetry/core/build/src/version.d.ts +1 -1
  575. package/node_modules/@opentelemetry/core/build/src/version.js +1 -1
  576. package/node_modules/@opentelemetry/core/package.json +2 -2
  577. package/node_modules/@opentelemetry/resources/build/esm/version.d.ts +1 -1
  578. package/node_modules/@opentelemetry/resources/build/esm/version.js +1 -1
  579. package/node_modules/@opentelemetry/resources/build/esnext/version.d.ts +1 -1
  580. package/node_modules/@opentelemetry/resources/build/esnext/version.js +1 -1
  581. package/node_modules/@opentelemetry/resources/build/src/version.d.ts +1 -1
  582. package/node_modules/@opentelemetry/resources/build/src/version.js +1 -1
  583. package/node_modules/@opentelemetry/resources/package.json +3 -3
  584. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.d.ts +57 -0
  585. package/node_modules/@opentelemetry/sdk-trace/build/esm/StackContextManager.js +105 -0
  586. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.d.ts +1 -0
  587. package/node_modules/@opentelemetry/sdk-trace/build/esm/index.js +1 -0
  588. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.d.ts +1 -1
  589. package/node_modules/@opentelemetry/sdk-trace/build/esm/version.js +1 -1
  590. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.d.ts +57 -0
  591. package/node_modules/@opentelemetry/sdk-trace/build/esnext/StackContextManager.js +105 -0
  592. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.d.ts +1 -0
  593. package/node_modules/@opentelemetry/sdk-trace/build/esnext/index.js +1 -0
  594. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.d.ts +1 -1
  595. package/node_modules/@opentelemetry/sdk-trace/build/esnext/version.js +1 -1
  596. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.d.ts +57 -0
  597. package/node_modules/@opentelemetry/sdk-trace/build/src/StackContextManager.js +109 -0
  598. package/node_modules/@opentelemetry/sdk-trace/build/src/index.d.ts +1 -0
  599. package/node_modules/@opentelemetry/sdk-trace/build/src/index.js +3 -1
  600. package/node_modules/@opentelemetry/sdk-trace/build/src/version.d.ts +1 -1
  601. package/node_modules/@opentelemetry/sdk-trace/build/src/version.js +1 -1
  602. package/node_modules/@opentelemetry/sdk-trace/package.json +5 -5
  603. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.d.ts +1 -1
  604. package/node_modules/@opentelemetry/sdk-trace-base/build/esm/version.js +1 -1
  605. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.d.ts +1 -1
  606. package/node_modules/@opentelemetry/sdk-trace-base/build/esnext/version.js +1 -1
  607. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.d.ts +1 -1
  608. package/node_modules/@opentelemetry/sdk-trace-base/build/src/version.js +1 -1
  609. package/node_modules/@opentelemetry/sdk-trace-base/package.json +7 -7
  610. package/node_modules/@sentry/core/build/cjs/browser.js +3 -0
  611. package/node_modules/@sentry/core/build/cjs/fetch.js +10 -9
  612. package/node_modules/@sentry/core/build/cjs/index.js +3 -0
  613. package/node_modules/@sentry/core/build/cjs/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  614. package/node_modules/@sentry/core/build/cjs/integrations/http/get-outgoing-span-data.js +3 -2
  615. package/node_modules/@sentry/core/build/cjs/integrations/http/server-subscription.js +7 -3
  616. package/node_modules/@sentry/core/build/cjs/integrations/requestdata.js +23 -9
  617. package/node_modules/@sentry/core/build/cjs/server.js +3 -0
  618. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterCollectedUrl.js +24 -0
  619. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterKeyValueData.js +17 -23
  620. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterQueryParams.js +8 -15
  621. package/node_modules/@sentry/core/build/cjs/utils/data-collection/filterUrlQuery.js +20 -0
  622. package/node_modules/@sentry/core/build/cjs/utils/url.js +4 -3
  623. package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
  624. package/node_modules/@sentry/core/build/esm/browser.js +1 -0
  625. package/node_modules/@sentry/core/build/esm/fetch.js +10 -9
  626. package/node_modules/@sentry/core/build/esm/index.js +1 -0
  627. package/node_modules/@sentry/core/build/esm/integrations/http/add-outgoing-request-breadcrumb.js +2 -1
  628. package/node_modules/@sentry/core/build/esm/integrations/http/get-outgoing-span-data.js +3 -2
  629. package/node_modules/@sentry/core/build/esm/integrations/http/server-subscription.js +7 -3
  630. package/node_modules/@sentry/core/build/esm/integrations/requestdata.js +23 -9
  631. package/node_modules/@sentry/core/build/esm/package.json +1 -1
  632. package/node_modules/@sentry/core/build/esm/server.js +1 -0
  633. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js +21 -0
  634. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js +18 -25
  635. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js +9 -16
  636. package/node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js +18 -0
  637. package/node_modules/@sentry/core/build/esm/utils/url.js +4 -3
  638. package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
  639. package/node_modules/@sentry/core/build/types/shared-exports.d.ts +1 -0
  640. package/node_modules/@sentry/core/build/types/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  641. package/node_modules/@sentry/core/build/types/utils/data-collection/filterKeyValueData.d.ts +1 -0
  642. package/node_modules/@sentry/core/build/types/utils/data-collection/filterQueryParams.d.ts +2 -3
  643. package/node_modules/@sentry/core/build/types/utils/data-collection/filterUrlQuery.d.ts +13 -0
  644. package/node_modules/@sentry/core/build/types/utils/url.d.ts +4 -1
  645. package/node_modules/@sentry/core/build/types-ts3.8/shared-exports.d.ts +1 -0
  646. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterCollectedUrl.d.ts +21 -0
  647. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterKeyValueData.d.ts +1 -0
  648. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterQueryParams.d.ts +2 -3
  649. package/node_modules/@sentry/core/build/types-ts3.8/utils/data-collection/filterUrlQuery.d.ts +13 -0
  650. package/node_modules/@sentry/core/build/types-ts3.8/utils/url.d.ts +4 -1
  651. package/node_modules/@sentry/core/package.json +3 -2
  652. package/node_modules/@sentry/node/build/cjs/integrations/tracing/vercelai/instrumentation.js +3 -0
  653. package/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js +3 -0
  654. package/node_modules/@sentry/node/build/esm/package.json +1 -1
  655. package/node_modules/@sentry/node/package.json +7 -6
  656. package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
  657. package/node_modules/@sentry/node-core/build/cjs/integrations/http/httpServerSpansIntegration.js +6 -3
  658. package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
  659. package/node_modules/@sentry/node-core/build/cjs/integrations/node-fetch/undici-instrumentation.js +2 -2
  660. package/node_modules/@sentry/node-core/build/cjs/light/client.js +7 -0
  661. package/node_modules/@sentry/node-core/build/cjs/sdk/client.js +7 -0
  662. package/node_modules/@sentry/node-core/build/cjs/utils/outgoingFetchRequest.js +1 -1
  663. package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
  664. package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
  665. package/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js +7 -4
  666. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
  667. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
  668. package/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/undici-instrumentation.js +3 -3
  669. package/node_modules/@sentry/node-core/build/esm/light/client.js +8 -1
  670. package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
  671. package/node_modules/@sentry/node-core/build/esm/sdk/client.js +8 -1
  672. package/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js +2 -2
  673. package/node_modules/@sentry/node-core/build/types/light/client.d.ts +1 -0
  674. package/node_modules/@sentry/node-core/build/types/sdk/client.d.ts +1 -0
  675. package/node_modules/@sentry/node-core/build/types-ts3.8/light/client.d.ts +1 -0
  676. package/node_modules/@sentry/node-core/build/types-ts3.8/sdk/client.d.ts +1 -0
  677. package/node_modules/@sentry/node-core/package.json +5 -4
  678. package/node_modules/@sentry/opentelemetry/build/cjs/{asyncContextStrategy-BJ5buq_A.js → asyncContextStrategy-BR-l9zjD.js} +8 -6
  679. package/node_modules/@sentry/opentelemetry/build/cjs/index.browser.js +1 -1
  680. package/node_modules/@sentry/opentelemetry/build/cjs/index.js +1 -1
  681. package/node_modules/@sentry/opentelemetry/build/esm/{asyncContextStrategy-Bx5F5tCX.js → asyncContextStrategy-BQfM_LMv.js} +9 -7
  682. package/node_modules/@sentry/opentelemetry/build/esm/index.browser.js +1 -1
  683. package/node_modules/@sentry/opentelemetry/build/esm/index.js +2 -2
  684. package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
  685. package/node_modules/@sentry/opentelemetry/package.json +4 -3
  686. package/node_modules/@sentry/server-utils/build/cjs/tracing-channel.js +1 -0
  687. package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
  688. package/node_modules/@sentry/server-utils/build/esm/tracing-channel.js +1 -0
  689. package/node_modules/@sentry/server-utils/build/types/tracing-channel.d.ts +3 -1
  690. package/node_modules/@sentry/server-utils/build/types-ts3.8/tracing-channel.d.ts +3 -1
  691. package/node_modules/@sentry/server-utils/package.json +4 -3
  692. package/node_modules/cjs-module-lexer/README.md +8 -3
  693. package/node_modules/cjs-module-lexer/dist/lexer.js +1 -1
  694. package/node_modules/cjs-module-lexer/dist/lexer.mjs +2 -2
  695. package/node_modules/cjs-module-lexer/lexer.js +48 -9
  696. package/node_modules/cjs-module-lexer/package.json +3 -2
  697. package/node_modules/es-module-lexer/dist/lexer.asm.js +2 -2
  698. package/node_modules/es-module-lexer/dist/lexer.cjs +1 -1
  699. package/node_modules/es-module-lexer/dist/lexer.js +2 -2
  700. package/node_modules/es-module-lexer/dist/lexer.minimal.asm.js +2 -2
  701. package/node_modules/es-module-lexer/dist/lexer.minimal.cjs +1 -1
  702. package/node_modules/es-module-lexer/dist/lexer.minimal.js +2 -2
  703. package/node_modules/es-module-lexer/package.json +1 -1
  704. package/node_modules/import-in-the-middle/CHANGELOG.md +7 -0
  705. package/node_modules/import-in-the-middle/lib/get-esm-exports.mjs +7 -0
  706. package/node_modules/import-in-the-middle/package.json +1 -1
  707. package/package.json +2 -2
  708. package/packages/pm-beads/extensions/beads/runtime.ts +2 -2
  709. package/packages/pm-beads/package.json +1 -1
  710. package/packages/pm-calendar/package.json +1 -1
  711. package/packages/pm-command-kit/package.json +1 -1
  712. package/packages/pm-digital-twin/package.json +1 -1
  713. package/packages/pm-governance-audit/package.json +1 -1
  714. package/packages/pm-guide-shell/package.json +1 -1
  715. package/packages/pm-kanban/package.json +1 -1
  716. package/packages/pm-lifecycle-hooks/package.json +1 -1
  717. package/packages/pm-linked-test-adapters/package.json +1 -1
  718. package/packages/pm-search-advanced/package.json +1 -1
  719. package/packages/pm-templates/package.json +1 -1
  720. package/packages/pm-todos/package.json +1 -1
  721. package/packages/pm-vcs/package.json +1 -1
  722. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  723. package/plugins/pm-claude/package.json +1 -1
  724. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  725. package/plugins/pm-codex/package.json +1 -1
  726. package/plugins/pm-codex/plugin.json +1 -1
  727. package/runtime-dependencies.json +1 -1
  728. package/scripts/finalize-build.mjs +37 -0
  729. package/dist/cli-bundle/chunks/chunk-BXSXT5Z6.js +0 -2
  730. package/dist/cli-bundle/chunks/chunk-KNW3RSLS.js +0 -30
  731. package/dist/cli-bundle/chunks/chunk-MEWBSWE3.js +0 -2
  732. package/dist/cli-bundle/chunks/chunk-RBPOO46D.js +0 -20
  733. package/dist/cli-bundle/chunks/chunk-YMLF6QT7.js +0 -234
  734. package/dist/cli-bundle/chunks/register-operations-PDOBQZUJ.js +0 -2
  735. package/dist/cli-bundle/focused-chunks/chunk-2CJWTLQG.js +0 -2
  736. package/dist/cli-bundle/focused-chunks/chunk-B3YW6H2I.js +0 -26
  737. package/dist/cli-bundle/focused-chunks/chunk-GVGFUD52.js +0 -8
  738. package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +0 -2
  739. package/dist/cli-bundle/focused-chunks/chunk-PBCYGO7X.js +0 -3
  740. package/dist/cli-bundle/focused-chunks/chunk-WOEZJUA2.js +0 -2
@@ -1,20 +0,0 @@
1
- import{$ as W,$h as Xo,Ah as Ve,Ai as cn,Be as Xt,Bg as Q,Bi as ns,Cg as R,Cl as ls,Dg as $,Di as Rr,Dm as mn,Ec as x,Eg as Ge,Ei as dn,Em as pn,Fj as cs,G as gr,Gh as on,Hg as So,Hh as Ho,Ia as je,Id as ko,Ig as To,Ih as Bo,Jd as Eo,Jg as Ro,Jl as un,Kh as Go,Ld as br,Mh as sn,Na as yr,Nc as Vt,Nh as Ko,Oa as Kt,Of as Er,Oh as zo,Pa as mo,Pc as qt,Q as uo,Qc as _o,Qg as Do,Qh as Sr,R as g,Rg as xo,Sg as Ao,Si as rs,T as _,Tf as U,Tg as Oo,Ti as is,U as _r,Ub as k,Ug as Lo,Uh as qe,V as Gt,Va as L,Vc as yo,Vh as Vo,W as Pe,Wa as zt,Wb as re,Wh as qo,X as ae,Xa as po,Xh as Wo,Xi as os,Y as _e,Yg as Ke,Yh as Yo,Zh as de,Zi as We,Zk as ds,_h as Tr,aa as fo,ag as Co,ai as an,aj as le,bb as O,bi as xe,bj as Te,ce as wr,ci as Z,cj as ss,cm as fn,dd as vo,dg as ve,di as Jo,dj as as,ei as Qo,ej as ue,fh as Fo,fj as ln,gf as D,hb as Ue,if as kr,ja as K,jd as Wt,jf as Jt,kc as go,kf as C,ld as bo,lf as Io,mf as ye,mh as be,mj as we,nf as Be,ng as J,nh as Mo,nm as us,oh as ze,om as fs,oo as fe,p as ne,pd as vr,pg as nn,pi as Zo,po as me,qd as Yt,qf as Qt,rd as Se,sd as ce,sf as Zt,sh as No,sm as Dr,th as $o,u as Bt,uf as en,uh as Po,ui as F,vd as wo,vh as Ir,wb as ho,wd as He,wh as jo,wi as es,xh as Uo,yf as tn,yh as Cr,yi as ts,zh as rn}from"./chunk-YMLF6QT7.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 xr(e){let t=O(process.cwd(),e);await U(t);let n=await F(t),r=L(n,x());return{pmRoot:t,settings:n,typeRegistry:r}}async function hn(e,t,n,r){Ue(e,Rr(t));let i=await le(e,t,n.id_prefix,n.item_format,r);if(i)return{id:i.id,historyPath:Ue(e,i.id),located:i};let o=dn(t,n.id_prefix),s=Rr(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 Vb(e,t){let n=de(e),r=e.length>0?e[e.length-1].after_hash:Ko(),i=t===void 0||n.item_hash_version===void 0?void 0:sn(t,n.item_hash_version,ve(e.at(-1)?.hash_algorithm)),o=t===void 0?void 0:i===void 0?Go(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 qb(e,t,n={}){let r=O(n.cwd??process.cwd(),n.pmRoot);await U(r);let i=await F(r),o=L(i,x()),s=await hn(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=ts(t,a),d=ns(cn(a,c.historyIndex),c),l=qo(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=es(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 Zd(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:sl(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function ps(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:wo(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 hs(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function gn(e){if(Array.isArray(e))return e.map(n=>gn(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?gn(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,gn(r)]))}function ms(e){return JSON.stringify(gn(e))}function el(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 tl(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||el(i,t,n,r);return r}function nl(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 hs(r)}function gs(e,t){let n=ft(e);for(let[r,i]of t)for(let o of i)Ye(n,o,r);return nl(tl(e,t),n)}function rl(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 il(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 ol(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 sl(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function yn(e,t={}){let n=t.registry??ne(),r=[...e.nodes()],i=rl(e,n),o=il(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:gs(r,i).filter(l=>l.length>1||i.get(l[0]).has(l[0])),d=ol(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 al(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 cl(e,t,n,r,i,o){let s=_n(e,t,{...n,after:void 0,direction:"incoming",limit:void 0}),a=_n(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:ce(o,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function dl(e,t,n){let r=n.direction,i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ps(t,n,r,i),{adjacency:c,inspectedEdges:d}=al(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(Zd(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:ce(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function _n(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return dl(e,t,{...n,direction:r});let i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ps(t,n,r,i);return cl(e,t,n,a,o,s)}function _s(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:hs(i),stronglyConnected:gs(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 Jb(e,t){let n=new Map(e.edges.map(i=>[ms(i),i])),r=new Map(t.edges.map(i=>[ms(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:po(e,t))?.execution_role??mo[e.trim().toLowerCase()]??"agent"}var Or="blocked_by",ys="blocks",ll=Object.freeze([Or,ys]),Ar="no-active-blocker";function A(e){return e.trim().toLowerCase()}function vn(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)!==Ar){let r=fe(n);t.set(vn(n,r),r?n:A(n))}for(let r of e.dependencies??[]){let i=typeof r.id=="string"?r.id.trim():"";if(r.kind===Or&&i.length>0&&A(i)!==Ar){let o=fe(i)||me(r.source_kind);t.set(vn(i,o),o?i:A(i))}}return[...t.values()].sort((r,i)=>r.localeCompare(i))}function bn(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===ys&&typeof i.id=="string"?A(i.id):"";if(o.length===0||o===Ar)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 vs(e,t){let n=A(e.id);return n.length>0?bn(t).get(n)??Ae(e):Ae(e)}function Lr(e,t,n,r){let i=e,o=typeof i.id=="string"?r?.get(A(i.id))??vs(i,[...t.values()]):Ae(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Or&&me(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>vn(a.id.trim(),!0)));return o.map(a=>{if(fe(a)||s.has(vn(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 wn(e,t,n){return Lr(e,t,n)}function mt(e,t){let n=new Map(e.map(s=>[A(s.id),s])),r=bn(e),i=new Set([...bs(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)||Lr(s,n,t,r).some(c=>!c.resolved))&&o.add(A(s.id))}return o}function Fr(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 bs(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function ul(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 fl(e){let t=new Map,n=new Map,r=new Map,i=bn(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}=fl(t),c=new Set([...bs(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=Lr(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(ul(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 kn(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 ws(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 Mr(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=Mr(e,t);return n===void 0?void 0:new Set(n)}function ks(e,t,n="--type"){let r=Mr(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 Es(e,t="--priority"){let n=Mr(e,{label:t});if(n!==void 0)return new Set(n.map(r=>kn(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 ml="global",yw="external",pl=["open","closed","unknown"],gt=new Map,hl=240,gl=2048;function Is(e,t,n){return(e?.trim()||t).slice(0,n)}function _l(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 vw(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 bw(e,t={}){let n=e.trim();if(!fe(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"||!_l(s.value))continue;let a=r[o],c=s.value,d=pl.includes(c.status)?c.status:"unknown",l=Is(c.title,"",hl),u=Is(c.source,n,gl),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 ww(e){let t=e?.trim();if(t)return me(t)?ml:t}function kw(e,t,n){return yl(e,t,n)}function yl(e,t,n){let r=e.trim();return me(n)||fe(r)?r:dn(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 x()?.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 En(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function vl(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 bl(e,t){let n=[...e].sort(),r=vl(n,t),i=new Set,o=wl(n,t),s=[];for(let a of r.reverse()){if(i.has(a))continue;let c=kl(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 wl(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 kl(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 Cs(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 El(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 Il(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 Ss(e,t){let n=new Map;for(let[r,i]of e){let o=El(r,i,e);o&&n.set(En(o),o);for(let s of i.dependencies??[]){let a=Il(r,s,e,t);a&&n.set(En(a),a)}}return[...n.values()].sort((r,i)=>En(r).localeCompare(En(i)))}function Ts(e,t=z()){return Ss(Cs(e),t)}function Cl(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 Sl(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 In(e,t=r=>r==="closed"||r==="canceled",n=z()){let r=Cs(e),i=Ss(r,n),o=$r(i),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=bl([...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:Cl(i,o.parents_by_child,s),divergences:Sl(r,i,s)}}function xw(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 $r(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 Nr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Aw(e,t,n,r,i){let o=_t(n);if(!o)return;let s=In(e,r,i),a=In(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&&Nr(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&&Nr(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=>Nr(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&&(me(t)||r!==void 0&&fe(r))}function Pr(e,t){return vt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Rs(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 Tl(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${Pr(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 Rl(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 Tl(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 Dl(e,t,n,r,i){if(typeof n!="object"||n===null)return;let o=Je(n.id);if(!o||Pr(o,n.source_kind)!==Pr(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 xl(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=Dl(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 jr(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;me(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 Al(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 Ol(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 Ds=new WeakMap;function Cn(e){return e.hierarchyIntegrity??Ds.get(e)}function Ll(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=jr(i,t),a=Al(s);for(let m of a)o.set(m.toLowerCase(),m);let c=Ol(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:Rs(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:Rs(y,void 0,o,l)}:{},dependencies:b}}),f=In(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:Rl(i,t),orderingContradictions:xl(i,t,r),legacyAliasCounts:Ll(i,r),hierarchyIntegrity:f};return Ds.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 Ur=["id","title","status","type","priority","parent","updated_at"],Hr=["id","status","type","title"],Fl={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"brief","list-canceled":"full"},Ml=["tree_depth","tree_parent","tree_children","tree_title"];function Br(e=[]){return[...new Set([...gr,"body",...Ml,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var Uw=["brief","standard","deep"],Nl=["body","linked","claim_state","children","schedule","blockers"],$l=["linked.files","linked.tests","linked.docs"],Pl=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],jl=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function Hw(e=[]){return[...[...new Set([...gr,...e,"notes_count","tests_count","collection_counts"])].flatMap(t=>[t,`item.${t}`]),...Nl,...$l,...Pl,...jl].sort()}var Bw=["id","title","status","type","priority","updated_at","score","matched_fields"],Ul=["score","matched_fields","highlights"],xs=["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 Gw(e=[]){let t=[...new Set(e)];return[...Ul,...xs,...xs.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 As(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function Ms(e){return{isTerminal(t){return e.terminal_statuses.has(As(t,e))},classify(t){let n=As(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 Gr(e){return K(e.acceptance_criteria)===void 0}function Kr(e){return!Number.isFinite(e.estimated_minutes)}function Ns(e,t){return t.isTerminal(e.status)?K(e.resolution)===void 0:!1}function Hl(e){return K(e.reviewer)===void 0}function Bl(e){return K(e.risk)===void 0}function Gl(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):K(e.confidence)===void 0}function Kl(e){return K(e.sprint)===void 0}function zl(e){return K(e.release)===void 0}function zr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Vl(e,t,n){return[[t.acMissing,Gr(e)],[t.estimatesMissing,Kr(e)],[t.resolutionMissing,Ns(e,n)],[t.reviewerMissing,Hl(e)],[t.riskMissing,Bl(e)],[t.confidenceMissing,Gl(e)],[t.sprintMissing,Kl(e)],[t.releaseMissing,zl(e)]].every(([r,i])=>r!==!0||i)}function ql(e,t){return Gr(e)||Kr(e)||Ns(e,t)}function $s(e,t,n){return zr(t)?!(!Vl(e,t,n)||t.metadataMissing&&!ql(e,n)):!0}var Vr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Wl(e,t){switch(t){case"acceptance_criteria":return!Gr(e);case"estimated_minutes":return!Kr(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 Yl(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Xl(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Os(){let e={};for(let t of Vr)e[t]={present:0,applicable:0,percent:100};return e}function Ls(e,t,n){for(let r of Vr){if(!Yl(t,r,n))continue;let i=e[r];i.applicable+=1,Wl(t,r)&&(i.present+=1)}}function Fs(e){for(let t of Vr){let n=e[t];n.percent=Xl(n.present,n.applicable)}}function Vw(e,t){let n=Os(),r={};for(let i of e){Ls(n,i,t);let o=r[i.type]??(r[i.type]=Os());Ls(o,i,t)}Fs(n);for(let i of Object.values(r))Fs(i);return{overall:n,by_type:r}}var Jl={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Ql(e){return Jl[e]}function Zl(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function eu(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 qw(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 eu(a,t,r)){let l=d??"\0empty",u=i.get(l);u||(u={label:d??Ql(t),key:d,buckets:Zl(),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 tu(e){return typeof e=="string"&&e.trim().length>0}function nu(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 js(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 tu(e.body);case"linked_command":return nu(e.tests)}}function Us(e){return Ze.some(t=>e[t]!==void 0)}function Hs(e,t){for(let n of Ze){let r=t[n];if(r===void 0)continue;let i=js(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Bs(e){return Ze.some(t=>t!=="body"&&e[t]!==void 0)}function Gs(e){return e.body!==void 0}function Ps(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ru(){let e={};for(let t of Ze)e[t]={present:0,total:0,percent:100};return e}function Yw(e){let t=ru(),n=e.length;for(let s of e)for(let a of Ze)js(s,a)&&(t[a].present+=1);for(let s of Ze)t[s].total=n,t[s].percent=Ps(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Ps(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 iu=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}),Ks=[{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"}],Xs=e=>{let t=Ks.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(Ks.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},zs=["priority","deadline","updated_at","created_at","title","parent"],Vs=["asc","desc"],Js=new Set(os);function ou(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 su(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var au=[{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"}],cu=[{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 Qs(e,t){for(let n of au)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Zs(e,t){for(let n of cu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function du(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 lu(e){let t={};return Qs(t,e),t}function uu(e){let t={};return Zs(t,e),t}var fu=[{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"}],mu=[{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"}],pu=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],hu="-7d";function gu(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"),du(c,n,fu),ta(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),Zs(c,n),Qs(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),su(a)&&(c.runtime_filters=a),c}function ea(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 _u(e,t){return[...e].sort((n,r)=>ea(n,r,t))}function qs(e,t){if(e!==void 0)return ye(e,new Date,t)}function bt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return ye(n,new Date,t)}function yu(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(hu,"recent"):bt(e.updatedAfter,"updated-after")}function ta(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function vu(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 na(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 bu(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 wu(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=bu(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:[...Hr]}:n?{mode:"compact",fields:[...Ur]}: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 ku(e,t,n){if(e.mode!=="fields")return;let r=Br(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:vo(s),suggested_retry_args:s}})}}var Eu=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Iu(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Eu.get(t);if(n)return n;if(!zs.includes(t))throw new _(`Sort field must be one of ${zs.join("|")} (aliases: updated->updated_at, created->created_at)`,g.USAGE);return t}function Cu(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Vs.includes(t))throw new _(`Sort order must be one of ${Vs.join("|")}`,g.USAGE);return t}function Su(e){return ie(e,"--tree-depth")}function Tu(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 Ws(e,t){return fs(e,t,{strict:!0})}function ra(e){return ht(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Ru(e,t,n){let r=ra(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 Du(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 xu(e,t,n,r){let i=ht(t.assignee,{label:"--assignee"}),o=Tu(t.assigneeFilter);Du(i,o);let s=iu(t),a=Xs(t);return{idsFilter:vu(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:ks(t.type,n),tagFilters:ra(t.tag),priorityFilter:Es(t.priority),deadlineBefore:qs(t.deadlineBefore,"deadline-before"),deadlineAfter:qs(t.deadlineAfter,"deadline-after"),updatedAfter:yu(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:zr(s),lifecycleClassifier:Ms(r),contentFieldFilters:a,contentFiltersActive:Us(a)}}function Au(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 Ou(e,t){return Io(e,t)}function Lu(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 Fu(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 Mu(e,t,n,r,i){return!(!Au(e,t,n)||!Ou(e,t)||!Lu(e,t)||!Fu(e,t,i)||t.missingMetadataActive&&!$s(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Hs(e,t.contentFieldFilters)||!pn(e,r))}function Nu(e,t,n,r,i,o,s){let a=xu(t,n,r,i);return e.filter(c=>Mu(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 Ys(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 $u(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 Pu(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 ju(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=$u(e,r),a=Pu(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(Ys(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(Ys(f,0,s.get(p)?.length??0)))}return c}function Uu(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Hu(e,t){return e===t?0:e===null?1:t===null?-1:C(e,t)}function Bu(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return Hu(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 Uu(e.parent??null,t.parent??null);default:return 0}}function Gu(e,t,n,r){return t?[...e].sort((i,o)=>{let s=Bu(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=ea(i,o,r);return n==="desc"?-a:a}):_u(e,r)}function Ku(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 ia(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=Ku(r,o,n);return i})}function zu(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function Vu(e,t){if(e.noTruncate!==!0)return ie(e.limit)??(t>=1e4?20:void 0)}function qu(e,t,n){return t.after===void 0?na(t.offset)??0:He(e,t.after,n,r=>r.id)}function oa(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function Wu(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=wu(e,s);return ku(a,zu(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:mn(e,o,"list"),typeRegistry:L(r,x()),projection:a}}async function Yu(e,t,n){let r=t.projection.fields.some(c=>Le(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>Js.has(Le(c))),o=Xs(e),s=Bs(o),a=Gs(o);return e.includeBody||r||a?await ln(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await as(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await ue(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function Xu(e){let t=Iu(e.sort),n=Cu(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?Su(e.treeDepth):void 0,parentRoot:r?wt(e.parent):void 0}}function Ju(e,t,n){let r=Ws(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??Ws(e,n),s=us(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 Qu(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=Vu(t,e.length),s=qu(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=ia(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ce(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:oa(o,l,u)}}function sa(e,t,n,r){return Se("list",{pmRoot:r,status:e,options:Yt(t,cs),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function Zu(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"||Js.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,_o(),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=na(t.offset)??0,l=await is({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?ce(sa(r.filtersStatus,t,i,n.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:ia(l.items,n.projection,!1),totalMatched:l.total,pageExtras:oa(c,u,f)}}function ef(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 mu){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of pu)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,uu(n),lu(n)),ta(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 Wu(t,n),i=[],o=Xu(t),s=Ju(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await Zu({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let m=await Yu(t,r,i),h=o.treeEnabled||wt(t.parent)!==void 0?$r(Ts(m,z())):void 0;Ru(m,t.tag,i);let y=Nu(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=Gu(b,o.sortField,o.sortOrder,r.statusRegistry),w=o.treeEnabled?ju(v,o.parentRoot,o.treeDepth,h,m):v;d=Qu(w,t,r.projection,o.treeEnabled,sa(s.filtersStatus,t,o,r.pmRoot))}let l=D(),u=[...new Set(i)].sort((m,h)=>m.localeCompare(h)),f=ou(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=gu({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:ef({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 tf}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 nf=64,rf=8;function of(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 Sn(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=>of(o,t)).sort(),i=n.list().map(o=>k(o)).sort();return tf("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function aa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var qr=class{#e=new Map;#t;#n;constructor(t={}){this.#t=aa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,nf),this.#n=aa("maxWorkspaces",t.maxWorkspaces,rf)}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()}},ca=new qr;function Tn(){return ca}function x0(){ca.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 sf=["prerequisite","dependent","ancestor","descendant","provenance","related"],af=new TextEncoder;function Wr(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 Rn(e){return Math.max(1,Math.ceil(af.encode(JSON.stringify(e)).byteLength/4))}function Yr(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 cf(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>Yr(o,n,r));return[...new Set(i)].sort()}function df(e){return sf.find(t=>e.includes(t))}function lf(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:Yr(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 uf(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[Yr(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function ff(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=r.distance===1?cf(e.rootEdges,e.rootId,r.id,e.registry):[],o={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:i.length>0?df(i):r.role,via:r.via,reasons:i.length>0?i:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=Rn(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 mf(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=Rn(o);if(i+s>e.tokenBudget)break;r.push(o),i+=s}return{edges:r,usedTokens:i,candidateCount:n.length}}function da(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=Wr(r.nodeLimit,20,"nodeLimit"),o=Wr(r.edgeLimit,40,"edgeLimit"),s=Wr(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=lf(e,t,a,r),{rootEdges:m,...h}=uf(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=Rn(u)+Rn(f);if(w>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=ff({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=mf({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,se={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:se,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:ce(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 pf=["tree","graph","context"],hf=["none","repeated"],gf=["outgoing","incoming","both"],_f=32,yf=200,vf=400,bf=16e3;function wf(e){let t=e?.trim().toLowerCase()??"tree";if(pf.includes(t))return t;throw new _(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,g.USAGE)}function pe(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 Dn(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 kf(e){let t=e?.trim().toLowerCase()??"none";if(hf.includes(t))return t;throw new _(`Invalid --collapse value "${e}". Use "none" or "repeated".`,g.USAGE)}function Jr(e){let t=e?.trim().toLowerCase()??"both";if(gf.includes(t))return t;throw new _(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,g.USAGE)}function Qr(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 Ef(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 If(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Ef(e.dependencies)}}function Cf(e){return Xt(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Sf(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(ua(d.id,n,r,i,o,s,a,c+1,d.kind))}}function Tf(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 ua(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+=Cf(u),Tf(u,l,d,r,i,o,s,a))return u;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),Sf(u,l,t,f,r,i,o,s,a),u}function la(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 Rf(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,la(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,la(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 fa(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 Df(e,t=ne()){let n=Dn(e.maxDepth),r=pe(e.nodeLimit,"node-limit"),i=pe(e.edgeLimit,"edge-limit"),o=pe(e.tokenBudget,"token-budget"),s=Qr(e.kind,t);return{direction:Jr(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 xf(e,t,n,r){return da(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function Xr(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function Af(e,t,n,r){let i=await le(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 Xr(u,"file",a.map(f=>f.path),3),Xr(u,"test",c.map(f=>f.command??f.path),2),Xr(u,"doc",d.map(f=>f.path),2),u}function Of(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 Lf(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 ma(e,t,n){let r;for(;;){let i=Xt(new TextEncoder().encode(Er(vr("deps",e),t)).byteLength);if(i===r)return i;n(i),r=i}}function Ff(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Mf(e){try{return xf(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Ff(t))return e.smallestResult;throw t}}function Nf(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=Mf({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=Of({canonicalId:n,context:m,missingCount:a,missingReferences:c,referenceLimit:d,summaryOnly:o});if(f=h,o||(m.meta.tokenBudget=u,m.meta.usedTokens=ma(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 $f(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:i,summaryOnly:o,outputFormat:s}=e,a=Df(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=>Lf({row:h,missingReachableSet:l,packetIds:p,filteredKinds:f,registry:u}));return Nf({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:d.length,missingReferences:m})}function Pf(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 jf(e,t,n,r,i,o,s){let a=i??_f,c=pe(n.nodeLimit,"node-limit")??yf,d=pe(n.edgeLimit,"edge-limit")??vf,l=pe(n.tokenBudget,"token-budget")??bf,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=ua(e,r,new Set,a,t==="graph"?"repeated":o,new Set,u),p=fa(e,r,void 0),m;for(;;){let h=Rf(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(Er(vr("deps",et(m,!1)),s)).byteLength):ma(et(m,!1),s,v=>{m.truncation.estimated_tokens=v}))<=l)return m;if(!Pf(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 Q0(e,t,n){let r=O(process.cwd(),n.path);await U(r);let i=wf(t.format),o=Dn(t.maxDepth),s=kf(t.collapse);Wt(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await F(r),d=L(c,x()),l=await ue(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(),If(m)])),p=jr(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 Af(r,m,c,d.type_to_folder),y=w=>$(w,u),b=z(),v=Tn().lookup(r,Sn(l,y,b),()=>Qe(l,y,b));return et($f({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,...fa(e,f,o)},!0,Object.fromEntries(Object.entries(Qe(l,m=>$(m,u)).legacyAliasCounts))):et(jf(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 Uf=we.paths,Hf=we.visited_paths,Bf=we.path_depth;function Zr(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function xn(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 Gf(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 Kf(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 zf(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 An(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Gf(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=Kf(e,p.id,o,r,i);if(u+=m.inspectedEdges,zf(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 pa(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function ha(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 Vf(e,t,n,r,i,o,s){for(let a of ha(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 ga(e,t,n={}){return An(e,t,n,"hierarchy",(r,i)=>xn(r.edge,i)===r.id)}function _a(e,t,n={}){return An(e,t,n,"hierarchy",(r,i,o)=>xn(r.edge,i)===o)}function ya(e,t,n={}){return An(e,t,n,"ordering",(r,i)=>Et(r.edge,i)===r.id)}function va(e,t,n={}){return An(e,t,n,"ordering",(r,i,o)=>Et(r.edge,i)===o)}function qf(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){ha(e,p,r,a,c).length>0&&(l=!0);continue}if(Vf(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 ba(e,t,n,r={}){pa(e,t),pa(e,n);let i=r.maxPaths??Uf,o=r.maxVisitedPaths??Hf,s=r.maxDepth??Bf;Zr("maxPaths",i),Zr("maxVisitedPaths",o),Zr("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}}:qf(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 Wf=16,Yf=2,Xf=8;function On(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function Ln(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 Jf(e,t){let n=new Map;Ln(e,t,r=>{wa(n,r.source,r.target),wa(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function wa(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function Qf(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 Zf(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 ka(e,t={}){let n=t.maxIterations??Wf,r=t.minSize??Yf;On("maxIterations",n),On("minSize",r);let i=Jf(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=Qf(f,s);p!==s.get(u)&&(s.set(u,p),c=!1)}}return{value:{communities:Zf(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function Fn(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Mn(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function ei(e,t){return(t.hierarchy?xn(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 em(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(!Fn(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add(Mn(o))}return r}function tm(e,t){let n=e.registry(),r=new Map;for(let i of e.edges()){let o=n.require(i.kind);if(!Fn(o))continue;let s=Mn(o);if(t!==void 0&&!t.has(s))continue;let a=ei(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 nm(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function rm(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 im(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 rm(r,t.from,n.id,s);i.push({id:s,depth:n.depth+1})}}function om(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=im(e,t,a,i,o,r);if(c!==void 0)return c}}function nt(e,t={}){let n=t.maxDepth??Xf;On("maxDepth",n),t.limit!==void 0&&On("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=em(e,t.kinds),o=tm(e,i),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...o.keys()].sort()){let l=o.get(d),u=nm(l);for(let f of l.records){t.signal?.throwIfAborted();let p=om(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 sm(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 am(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,sm(l,u,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function cm(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 dm(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 lm(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:dm(r,i,t,n));return r}function um(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=lm(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function Ea(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=am(e,t,n),i=cm(r,t),o=new Map(i.map((d,l)=>[d,l])),s=um(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 Ia(e){return Math.round(e*1e6)/1e6}function Ca(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function Sa(e,t){let n=new Map(e.nodes().map(i=>[i,new Set]));Ln(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 fm(e,t){let n=new Map,r=new Map;return Ln(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=tt(i,o);Ca(r,s,a),Ca(n,a,s)}),{incoming:n,outgoing:r}}function mm(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 pm(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 hm(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function gm(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:Ia((r.get(e)??0)/2),closeness:Ia(i.get(e))}}function Ta(e,t={}){let n=Sa(e,t.kinds),r=fm(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=mm(l,n,a);s.set(l,hm(u,i.length)),pm(u,l,o)}let c=0;for(let l of n.values())c+=l.length;let d=i.map(l=>gm(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 _m(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function ym(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 vm(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(_m(r,e.node))}function bm(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=ym(o,t,n);s!==void 0&&i.push(s)}else vm(o,e,n),i.pop()}}function Nn(e,t={}){let n=Sa(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)||bm(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 wm(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 km(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 Em(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 Im(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=km(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>Em(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function Ra(e,t={}){t.signal?.throwIfAborted();let n=yn(e,{registry:e.registry()}),r=wm(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=Im(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 Cm(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 Sm(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 Tm(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 Rm(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 Dm(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 xm(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=Sm(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 Am(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"),xm(d,l,t,n,r,i,c,a)}}function Da(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=Tm(a,t,r,d,n.signal);Rm(e,l,n.signal);let u=Dm(a,l,n.signal);return Cm(u,l,n.signal),Am(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 Oa(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 xa(e){if(!$n(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)||!$n(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 $n(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function La(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:!$n(t)||!$n(n)?!1:["all","active","terminal"].every(r=>xa(t[r]))&&Object.values(n).every(xa)}function Aa(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 Fa(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:Aa(e.coverage_by_lifecycle,t.coverage_by_lifecycle),coverage_by_status:Aa(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 Om=25,Lm="milestone",Fm="outcome milestone:",Mm=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Pn(e){return Mm.has(e)}var Ma={error:0,warning:1,info:2};function Na(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 Nm(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 $a(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 Pa(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 $m(e,t){let n=Cn(e);return n?[...Nm(n,t),...$a(n,t,!1),...$a(n,t,!0),...Pa(n,t,!1),...Pa(n,t,!0)]:[]}function Pm(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 Ua(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 jm(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))):(Ua(o,r),t.push({node:o,neighborIndex:0})),!0}function Um(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 Hm(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(Ua(r,t);i.length>0;){let o=i.at(-1);jm(o,i,e,t)||Um(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function ti(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 Bm(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(ti),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(ti),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(ti),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 ri(e,t){let n=t.get(e);return n?!n.terminal:!0}function Ha(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function Gm(e,t){let n=[],r=[];for(let o of e.orderingContradictions??[])(o.legacy_terminal?r:n).push(Ha(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 Km(e,t,n,r){let i=[],o=Pm(e);for(let c of Hm(o)){let d=c.some(f=>ri(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(Ha);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 jn(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function ii(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!Fn(o))continue;let s=ei(i,o);if(s.from===s.to)continue;let a=`${Mn(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 zm(e,t,n){let r=[],i=[];for(let s of ii(e))(ri(s.from,t)||ri(s.to,t)?r:i).push(jn(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 Vm(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 qm(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 Wm(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 Ym(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 Xm(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===Lm&&a.title.trim().toLowerCase().startsWith(Fm)).map(a=>a.id)),{basis:i,reverse:o}=qm(e,n),s=Wm(r,o,n);return{outcome_nodes:r.size,outcome_reachability_basis:i,...Ym(t,r,s,n)}}function Jm(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 Qm(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||Jm(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+(Pn(w)?E:0),0),y=Nn(e.graph,{signal:s}).value,b=Xm(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 Un(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??Om;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=Na(t.exemptIsolates),s=Na(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=Bm(e,n,i);d.push(...$m(e,i)),t.signal?.throwIfAborted(),d.push(...Gm(e,i)),t.signal?.throwIfAborted(),d.push(...Km(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...zm(e,a,i),...Vm(e,i)),t.signal?.throwIfAborted();let l=Qm(e,a,o,s,i,c,t.signal);d.push(...l.findings),d.sort((f,p)=>Ma[f.severity]-Ma[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,...Oa(e,n,Pn,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 ni(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 ja(e){return e.profile.coverage_by_type??{}}function Zm(e,t){let n={},r=ja(e),i=ja(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 Ba(e,t){let n=Zm(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:ni(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:ni(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:ni(r,s),semantic_edges:a-i,semantic_edge_share:c-o,coverage_by_type:n,...Fa(e.profile,t.profile)}}}import Ga 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 Ka=2,oi=500,ep=64,tp="graph-durable-cache";function za(e){return Be(e,tp,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Ct(e){return Ga.join(e,"runtime","graph-cache.json")}function Va(e){return Ga.join(e,"runtime","graph-audit-baseline.json")}function si(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==Ka||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 ai(e,t){let n=await _e(Ct(e)),r=si(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function ci(e,t,n,r,i){let o=await za(e);try{let s=si(await _e(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-ep)))delete a[d];await W(Ct(e),JSON.stringify({version:Ka,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function di(e){let t=await za(e);try{await fo(Ct(e))}finally{await t()}}async function qa(e,t){let n=Ct(e),r=await _e(n),i=si(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 li(e,t){return t||e>=oi}function Hn(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 Wa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function It(e,t){return e===void 0||t(e)}function np(e){return st(e)&&Object.values(e).every(Wa)}function rp(e){return st(e)?Object.values(e).every(t=>st(t)&&[t.active,t.isolated,t.degree_leq_one].every(Fe)):!1}function ip(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 op(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,Hn)}function sp(e,t,n,r){let i=ip(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(!op(e,o,s)||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed")return;let a=Hn(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 ap(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||!np(n)||!Fe(r)||!Wa(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+(Pn(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 cp(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(!Hn(i)||!st(r)||!La(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(Fe)||!Hn(r.edges_by_kind)||!It(r.coverage_by_type,rp))return;let o=ap(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=sp(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 Ya(e){return cp(await _e(Va(e)))}async function Xa(e,t){await W(Va(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 dp={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 Ja(e){return`${e.source} -${e.kind}-> ${e.target}`}function lp(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:Ja(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: ${Ja(t)}`,`group: ${jn(e)}`],confidence:"high"}))}function up(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>lp(t.get(r)));let n=dp[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 Qa(e,t={}){let{redundancyLimit:n,...r}=t,i=Un(e,r),o=new Map(ii(e).map(d=>[jn(d),d])),s=i.findings.flatMap(d=>up(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 nc=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]);function Za(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 fp(e,t,n,r){return{assembly:t,...n===void 0?{}:{kinds:n},maxDepth:Dn(r.maxDepth),limit:e==="impact"&&Number(r.limit)===0?0:pe(r.limit,"limit")??(r.full===!0?Number.MAX_SAFE_INTEGER:we.rows),after:r.after?.trim()||void 0,direction:Jr(r.direction),maxPaths:pe(r.maxPaths,"max-paths"),sample:pe(r.sample,"sample")??we.samples,exemptIsolates:ec(r.exemptIsolate),exemptIsolateTypes:ec(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0}}function ec(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function mp(e,t,n){let r=e.trim().toLowerCase();if(!wr.includes(r))throw ls({command_path:"graph",token:r||"<empty>",allowed:wr});let i=r;if(nc.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 ui(e){throw e instanceof TypeError?new _(e.message,g.USAGE):e}function fi(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function tc(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 pp(e,t,n){let r={ancestors:ga,descendants:_a,predecessors:ya,successors:va}[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){ui(s)}let o=fi(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 hp(e,t,n){let r=ba(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,...fi(r.meta),...n.summary?{}:{paths:r.value.map(i=>({nodes:i.nodes,kinds:i.edges.map(o=>o.kind),length:i.length}))}}}function gp(e,t){let n;try{n=_n(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){ui(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 _p(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 yp(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 vp(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 bp(e){let t=e.assembly.graph,n=e.limit,r=yn(t,{registry:t.registry()}),i=_s(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:_p(r,e.summary,n),knowledge:yp(i,e.summary,n),hierarchy:vp(Cn(e.assembly),e.summary,n)}}function wp(e,t){let n=Un(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 kp(e){let t=e.limit,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=ka(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 Ep(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){ui(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...fi(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 Ip(e,t){let n=t.limit,r=Ea(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 Cp(e){let t=e.limit,n=Ra(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 Sp(e){let t=e.limit,n=Ta(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 Tp(e){let t=e.limit,n=Nn(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 Rp(e,t){let n=e.limit,r=Qa(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 rc(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 ic(e,t,n,r,i){return e==="analyze"?bp(r):e==="audit"?wp(r,i):e==="plan"?Rp(r,i):e==="communities"?kp(r):e==="redundancy"?Ep(r):e==="dominators"?Ip(t,r):e==="slack"?Cp(r):e==="centrality"?Sp(r):e==="articulation"?Tp(r):e==="paths"?hp(t,n,r):e==="impact"?gp(t,r):pp(e,t,r)}function Dp(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 xp(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await di(e),s="cleared"),o.rebuild===!0){await di(e);let c=await ai(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,limit:we.rows,sample:we.samples,unbounded:!1};for(let l of["analyze","audit"])await ci(e,t,c,rc(l,void 0,void 0,d),ic(l,void 0,void 0,d,i));s="rebuilt"}let a=await qa(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:oi,persist_enabled:li(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 Ap(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 Ya(e);return r&&await Xa(e,i),o===void 0?n:{...n,baseline:Ba(o,i)}}async function Op(e,t,n,r,i){try{await ci(e,t,n,r,i)}catch{}}function Lp(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=Da(s,n.filter(f=>!i.has(f.id)),{now:D(),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 oE(e,t,n,r,i){let o=mp(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,x()),d=await ue(s,a.item_format,c.type_to_folder,void 0,a.schema),l=J(a.schema),u=M=>$(M,l);Dp(o,r);let f=z(),p=Qr(r.kind,f),m=Tn().lookup(s,Sn(d,u,f),()=>Qe(d,u,f)),h=fp(o,m.assembly,p,r);if(o==="index")return Za(await xp(s,m.fingerprint,h,d.length,u,r),!1);let y=nc.has(o)?tc(h.assembly,t):void 0,b=o==="paths"?tc(h.assembly,n):void 0,v=rc(o,y,b,h),w=await ai(s,m.fingerprint),E=w.results[v],S=m.memoize(v,()=>E!==void 0?structuredClone(E):ic(o,y,b,h,u)),P=li(d.length,w.exists);!S.reused&&E===void 0&&P&&await Op(s,m.fingerprint,w,v,S.value);let j=S.value.subcommand==="audit"?await Ap(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"},Lp(j,h,d,u),Za(j,h.summary,"result_rows")}import mi from"node:fs/promises";import pi 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 oc=8388608,Fp=new Set(["resolved","failed"]),Mp=[{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 he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function hi(e){return Mp.find(t=>t.matches(e))?.kind}function sc(e){let t=new Map,n=0,r=0;return{entries:e.map(i=>{let o=he(i.agent_provenance)?i.agent_provenance:void 0;if(o===void 0||!Ho(i).ok)return i;let s={},a=!1;for(let[d,l]of Object.entries(o)){let u=he(l)?hi(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,Bo(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 ac(e){let t=[];for(let n of await cc(e)??[])try{let r=await mi.readFile(pi.join(e,"history",n),"utf8");for(let i of r.split(`
2
- `)){if(i.trim().length===0)continue;let o=dc(i);if(!(o===null||!he(o.agent_provenance))&&Object.values(o.agent_provenance).some(s=>he(s)&&hi(s.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function cc(e){try{return(await mi.readdir(pi.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function Np(e,t,n){let r;try{r=await mi.open(pi.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 dc(e){try{let t=JSON.parse(e);return he(t)?t:null}catch{return null}}function $p(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let i=he(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(i).forEach(([s,a])=>{if(!he(a))return;let c=hi(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)}),!he(e.context))return;let o=e.context.agent_provenance_outcomes;he(o)&&Object.entries(o).forEach(([s,a])=>{if(!he(a)||typeof a.resolver!="string"||!Fp.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 Pp(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=dc(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)}$p(c,t,n)}return{eventsRead:s,truncated:!1}}function jp(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 uE(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:oc,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 cc(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await Np(e,u,Math.max(0,oc-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let p=Pp(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:jp(d,l,n.complete),events_read:o,truncated: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]="5134bd12-d808-588f-af5d-fc71e5153e95")}catch{}})();var Up=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?Up:e}function De(e){return re(k(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function gi(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 ke(e){return k({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function Hp(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&ke(e[r])===ke(t[r]);)r+=1;return r}function wE(e,t,n){let r=gi(e,"base"),i=gi(t,"ours"),o=gi(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(ke)).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=Hp(i,o);if(a===i.length&&a===o.length)return{merged:xe(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:xe(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:xe(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(ke)),l=o.slice(a).filter(p=>!d.has(ke(p))),u=[...c,...l].sort((p,m)=>{let h=C(p.ts,m.ts);if(h!==0)return h;let y=d.has(ke(p)),b=d.has(ke(m));return y!==b?Number(b)-Number(y):ke(p).localeCompare(ke(m))}),f=an([...i.slice(0,a),...u],void 0,{continuousHashSurface:!0});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:xe(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 _i(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 Bn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
5
- `)}
6
- `}function Bp(e){return e.map((t,n)=>({...t,sequence:n+1}))}function kE(e,t,n){_i(e,"base");let r=_i(t,"ours"),i=_i(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:Bn(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:Bn(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:Bn(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=Bp([...r.slice(0,s),...l]);return{merged:Bn(u),strategy:"union_reanchor",common_entries:s,entries_from_ours:a.length,entries_from_theirs:d.length,entries_total:u.length,reanchored:!0}}var Gp=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],Kp=["acceptance_criteria"],zp=["updated_at"];function Me(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:k(e)===k(t)}function lc(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 Vp(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 qp(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(Vp(l))}return d}function Wp(e,t){return C(String(e),String(t))>=0?e:t}function uc(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 fc(e,t,n,r,i,o,s){let a=uc(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 yi(e){return{...e.metadata}}function vi(e,t,n){try{let r=Ro(So(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 Yp(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?qp(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?lc(un(e.baseValue),un(e.oursValue),un(e.theirsValue)).join("; "):lc(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 Xp(e){let t=fc(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 Jp(e,t,n,r,i,o,s){let a=new Set([...Gp,...Kp]),c=new Set(zp),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(!Yp({field:u,baseValue:f,oursValue:p,theirsValue:m,unionFieldSet:a,accumulator:l})){if(c.has(u)){l.merged[u]=Wp(p,m);continue}Xp({field:u,baseValue:f,oursValue:p,theirsValue:m,preferred:r,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:s,accumulator:l})}}return l}function EE(e,t,n,r={}){let i=r.preferred??"ours",o=r.conflictResolution??"preferred_side",s=vi(t,"ours",r),a=vi(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=vi(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=yi(c),l=yi(s),u=yi(a),{merged:f,conflictFields:p,fieldsFromTheirs:m,unionFields:h,conflictDecisions:y}=Jp(d,l,u,i,o,s.metadata.updated_at,a.metadata.updated_at),b=fc(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:To({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 bi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wi(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 Qp(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 Zp(e,t,n,r,i,o,s){if(!bi(t)||!bi(n))return null;let a=bi(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=eh(a,t,n,l,r,u,o,s);f!==void 0&&(c[l]=f)}return c}function mc(e,t,n,r,i,o,s){if(Me(t,n))return t;let a=Qp(e,t,n);if(a!==null)return a.acceptedTheirs&&s.push(i),a.merged;let c=Zp(e,t,n,r,i,o,s);if(c!==null)return c;let d=uc(e,t,n,r);return d.conflict?o.push(i):d.from_theirs&&s.push(i),d.value}function eh(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 mc(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 IE(e,t,n,r={}){let i=r.preferred??"ours",o=wi(e,"base"),s=wi(t,"ours"),a=wi(n,"theirs"),c=[],d=[],l=mc(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 Sh}from"node:child_process";import{randomUUID as Th}from"node:crypto";import{readdir as Rh,stat as Dh}from"node:fs/promises";import H from"node:path";import{promisify as xh}from"node:util";import{constants as pc}from"node:fs";import{lstat as th,open as nh}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 rh={lstat:th,open:nh};function ih(e){return e.O_NOFOLLOW??0}async function Tt(e,t,n=rh){let r=await n.lstat(e);if(r.isSymbolicLink()||!r.isFile()||r.size>t)return null;let i=await n.open(e,pc.O_RDONLY|ih(pc));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 Kn from"node:path";import{execFile as oh}from"node:child_process";import{createHash as hc}from"node:crypto";import{readdir as sh}from"node:fs/promises";import ah from"node:path";import{promisify as ch}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=ch(oh),Gn=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function ME(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||!Gn.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||!Gn.test(s))return;let{stdout:c}=await Ee("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),d=c.trim(),l=hc(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 gc(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"&&Gn.test(t.original_head)&&typeof t.original_blob=="string"&&Gn.test(t.original_blob)}async function _c(e,t,n,r){if(r!==void 0&&hc(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 sh(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","--",ah.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 dh=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,lh=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,Vn=2048,uh=64,fh=1e5,mh=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 qn(e){return dh.test(e)}var ph=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),Wn="bounded_non_sensitive_scalars_v1",hh=new Set(["open","in_progress","blocked","closed","canceled"]),gh=new Set(["risk","confidence","severity"]),_h=new Set(["low","medium","high","critical"]),vc=new Map([["priority",new Set([0,1,2,3,4].map(k))],["status",new Set([...hh].map(k))],...[...gh].map(e=>[e,new Set([..._h].map(k))])]);function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function bc(e,t){return Object.keys(e).every(n=>t.has(n))}function zn(e){return Array.isArray(e)&&e.length<=Vn&&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>fh||r.depth>uh)return!1;if(Array.isArray(r.value))for(let i of r.value)t.push({value:i,depth:r.depth+1});else if(ge(r.value))for(let i of Object.values(r.value))t.push({value:i,depth:r.depth+1})}return!0}function wc(e){if(!ge(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[bc(e,ph),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 yh(e){if(!ge(e))return!1;let t=Object.entries(e);return t.length<=Vn&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function vh(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||Kn.posix.isAbsolute(e))return!1;let n=Kn.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&Kn.posix.basename(n,Kn.posix.extname(n))===t}function bh(e){return!zn(e.fields_from_theirs)||!zn(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>Vn||!e.decisions.every(wc)?!1:e.merged_field_hashes===void 0||yh(e.merged_field_hashes)}function wh(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===Wn)&&i.includes(e.evidence_source)}function kh(e){return typeof e.created_at=="string"&&kr(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&kr(e.reconciled_at))}function yc(e,t){if(!ge(t)||Yn(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||vc.get(e)?.has(k(r))===!0)&&De(r)===t.pm_value_hash}function Eh(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&yc(r.field,r.retained)&&yc(r.field,r.discarded)))return!1;let t=e.decisions.reduce((r,i)=>r+(ge(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(ge(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===Wn)}function Ih(e){return e.operation!==void 0&&!gc(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function Ch(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||!bc(e,mh)?"required_fields":typeof e.id!="string"||!qn(e.id)?"receipt_id":typeof e.item_id!="string"||!lh.test(e.item_id)?"item_id":vh(e.item_path,e.item_id)?null:"item_path"}function ki(e,t){if(!ge(e))return"required_fields";let n=Ch(e);return n!==null?n:Ih(e)?bh(e)?wh(e)?kh(e)?t==="durable"&&!Eh(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function Ei(e){if(!ge(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=>!ge(r)||!Object.hasOwn(r,"retained")||!Object.hasOwn(r,"discarded")?r:{base:T(void 0),ours:T(void 0),theirs:T(void 0),...r})}}function kc(e){if(!ge(e))return;if(!zn(e.fields_from_theirs))return"fields_from_theirs";if(!zn(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>Vn)return"decisions";let t=e.decisions.findIndex(n=>!wc(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function Ii(e,t){return ki(e,t)===null}function Yn(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 Ci(e,t){let n=at(t),r=De(n?void 0:t);return!n&&(t===null||vc.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 Ah=xh(Sh),Cc=16*1024*1024,Xn=100;async function Si(e){try{let{stdout:t}=await Ah("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 Sc(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 Ti(e){return H.join(e,"merge-receipts")}function ct(e){return`${e}.json`}async function Ec(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await Tt(e.receiptPath,Cc)}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=Ei(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!Ii(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:Ri(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 Dt(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)))})):Jn(e).decisions}))}function Ri(e){let t=[Dt(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(Dt(e,!0)),t}function Oh(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 Lh(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),de(s).ok||(s=[])}catch{s=[]}r.set(o.item_id,s)}let a=o.settlement==="original_git_state_restored",c=k({...Jn(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 Jn(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:Yn(t.retained)??De(at(t.retained)?void 0:t.retained),discarded_hash:Yn(t.discarded)??De(at(t.discarded)?void 0:t.discarded)}))}}async function rI(e){let t=await Si(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:Th(),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:D(),value_availability:"clone_local"};await _r(t),await W(H.join(t,ct(o.id)),`${JSON.stringify(o,null,2)}
9
- `);let s=await Sc(e.cwd,o.item_path);if(s!==null){let a=Ti(s),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:Ci(u.field,u.retained),discarded:Ci(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:Wn};await _r(a),await W(H.join(a,ct(o.id)),`${JSON.stringify(l,null,2)}
10
- `)}return o}async function Ic(e,t){let n;try{n=await Rh(e)}catch(a){let c=await Fh(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>=Xn)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},...qn(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 Mh(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 Fh(e,t,n=Dh){if(!ae(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(i){if(!ae(i))return!1;let o=H.dirname(r);if(o===r)return!0;r=o}}async function Mh(e,t,n){let r;try{r=await Tt(H.join(e,t),Cc)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=Ei(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let o=ki(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:kc(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 Qn(e,t={}){let n=await Si(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Ic(n,"clone_local"),i=t.pmRoot??H.join(e,".agents","pm"),o=await Ic(Ti(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?Ri(d):[Dt(d)]).includes(Dt(l))){s.delete(d.id),a+=1,r.invalid_evidence.length+o.invalid_evidence.length+c.length<Xn&&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:Oh(d,l))}return await Lh(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,Xn),invalid_evidence_truncated:r.invalid_evidence_truncated||o.invalid_evidence_truncated||r.invalid_evidence_count+o.invalid_evidence_count+a>Xn,clone_local_evidence_resolved:n!==null}}async function Nh(e,t={}){return(await Qn(e,t)).receipts}function iI(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 oI(e,t,n={}){let r=await Si(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(!Ii(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=D(),s=H.join(r,ct(t.id)),a=await Sc(e,t.item_path),c=a===null?null:H.join(Ti(a),ct(t.id)),d=(await Promise.all([Ec({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:n.settlement}),...c===null?[]:[Ec({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)?[Dt(t)]:Ri(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 sI(e){let t=await Nh(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:D()}}async function aI(e){let t=await Qn(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:D()}}import $h 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 Di(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Zo(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 Ph(e){let t=await _e(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 le(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 Zn(e){let t=e.writeHistoryRaw??W;try{await t(e.historyPath,e.nextHistoryRaw),await Cr(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await $h.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Cr(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Tc(e){let t=[...Di({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 Ph({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 Rc(e){let{subject:t,settings:n,operation:r,options:i}=e,o=await Mo(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=be(i.author,n.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:Tr(o.entries),loadedItem:s,author:a}),d=Tr(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 Tc({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 Zn({historyPath:t.historyPath,nextHistoryRaw:xe(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 jh}from"node:buffer";import{readFile as Uh}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 Hh(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 Bh(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=Hh(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=de(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 Gh(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await ss(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function Dc(e){let t;try{t=await Uh(e)}catch(n){if(ae(n))return null;throw n}if(!jh(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 xc(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 Dc(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=Bh(o),a=cn(s.entries,s.entries.length-1),c=Vo(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 Gh(t,n,c),l=Di({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 Dc(t.historyPath),y=await le(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=y?await _e(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({...zo({hashAlgorithm:ve(s.entries.at(-1).hash_algorithm),nowIso:D(),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 Zn({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:D()}}import{realpath as Gc}from"node:fs/promises";import Ai from"node:path";import Kc from"fast-json-patch";import xt from"node:fs/promises";import{createHash as Kh}from"node:crypto";import Oc 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 xi=new Set([void 0,...Co]),Lc=11,zh="history-drift-cache.json";function Fc(e){return Oc.join(e,"runtime",zh)}async function Vh(e){try{let t=await xt.readFile(Fc(e),"utf8"),n=JSON.parse(t);return n.version!==Lc||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"||!xi.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 Mc(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function Nc(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 qh(e,t,n,r,i){let o=Jo(e),s;try{s=await xt.stat(o)}catch(d){return ae(d)||i.unreadableStreams.push(Z),!1}let a=i.missingStreams.length,c=await $c({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 Wh(e){return!xi.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!Ve.includes(e.item_hash_version)}async function Yh(e){let t=await xt.readFile(e,"utf8"),n=Kh("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=de(r),s=r.some(Wh),a=r[r.length-1],c=xi.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?ve(a.hash_algorithm):void 0,identityDiscontinuities:Sr(r),chainOk:o.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||l||d===void 0),contentHash:n,itemHashVersion:u??rn}}function Xh(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function Ac(e,t,n){try{return await Yh(t)||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function Jh(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 $c(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(Xh(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await Ac(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let n=await Ac(e.itemId,e.historyPath,e.accumulator);return{verification:n,cacheDirty:!Jh(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 Pc(e,t,n,r){let i,o;try{i=Ue(e,t.id),o=await xt.stat(i)}catch(d){return(ae(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await $c({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 Qh(e,t){if(!(t.unreadableStreams.includes(Z)||t.chainMismatches.includes(Z)||t.versionSkews.includes(Z)))try{let n=await Qo(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 eC(e,t){let n=Mc();return await Pc(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},n),Nc(n)}async function jc(e,t,n={}){let r=Mc(),i=(await Vh(e))?.entries??{},o={},s=!1,a=n.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:a};for(let l of t)await Pc(e,l,c,r)&&(s=!0);let d=await qh(e,i,o,a,r);if(s||=d,await Qh(e,r),s||Object.keys(i).length!==Object.keys(o).length){let l=Fc(e);try{await xt.mkdir(Oc.dirname(l),{recursive:!0}),await W(l,JSON.stringify({version:Lc,history_item_hash_version:rn,entries:o}))}catch{}}return Nc(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]="289c841a-1355-54a5-a3e3-f59de2abd58c")}catch{}})();function Uc(e,t){return t==="body"?e.body:e.metadata[t]}function Oi(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)&&Oi(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)&&Oi(i,n[r]))}function Hc(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 Yo(o.patch))s.add(fn(c.path)),c.from&&s.add(fn(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 Zh(e,t,n){let r=Kc.compare(t,n);if(r.length===0)return;let i=new Set;for(let m of r)i.add(fn(m.path));let o=new Set([...i].filter(m=>Oi(Uc(t,m),Uc(n,m)))),s=new Set([...i].filter(m=>!o.has(m))),a=Hc(e,s),c=Hc(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 eg(e){try{return await Gc(e)}catch{return null}}async function tg(e){if(await eg(Ai.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[De(s),re(k(T(s)))].includes(n[o])})?{receipt:e.receipt,declaredFields:t}:null}async function ng(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 Gc(e.itemPath),r=[];for(let s of t){let a=await tg({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 Bc(e,t,n,r){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,s=t.currentItemPath===null?null:Ai.relative(o,t.currentItemPath).split(Ai.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 _c(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 rg(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 Qn(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 ng({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(Jn)}}:e.options.auditContext}}function ig(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=Wo(i.document),a=o[o.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:qe(s,n,ve(o.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:i.raw,loadedItem:i}}function og(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 sg(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=ve(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:D(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?Kc.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:No(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function ag(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 cg(e,t,n){let{pmRoot:r,settings:i,typeRegistry:o}=await xr(n.path),s=await hn(r,e,i,o.type_to_folder);return t.salvageTail===!0?xc({pmRoot:r,subject:s,settings:i,typeRegistry:o,options:t,author:be(t.author,i.author_default)}):Rc({pmRoot:r,subject:s,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:a=>lg({pmRoot:r,subject:s,options:t},a)})}function dg(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 lg(e,t){let{pmRoot:n,subject:r,options:i}=e,o=t.entries,s=t.verification,a=de(o),c=i.normalizeProvenance?sc(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},d=Xo(c.entries),l=new Set(c.entries.map(N=>N.item_hash_version).filter(N=>N!==void 0)),u=an(c.entries,d),f=ig(r,t,d);await Bc(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?Zh(u.entries,p,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await rg({options:i,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:y}),w=[u.entriesRehashed>0,u.entriesPatchRepaired>0,h,dg(i,u.entries,v),c.receipt.changed].some(Boolean),E=t.author,S=!!i.dryRun,P=og({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:h}),{rewrittenEntries:j,auditEntryAdded:M}=sg({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=ag(w,u.skippedOps,y);return{changed:w,rewrittenEntries:j,beforeWrite:async()=>Bc(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:D()})}}function CC(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 SC(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 xr(t.path),o=[],s=await ln(n,r.item_format,i.type_to_folder,o,r.schema,{forceSourceScan:!0}),a=await jc(n,s),c=e.normalizeProvenance?await ac(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 cg(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 Uo(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:D()}}(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 zc=16;async function Vc(e,t,n){let r=L(t,x()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<zc;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await le(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 OC(e){await Ao({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await Vc(e.pmRoot,e.settings,e.itemId)})}async function LC(e){await Oo(e)}async function FC(e){await Lo({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await Vc(e.pmRoot,e.settings,e.itemId)}:{}})}var MC={lineage_depth:zc,active_items:64,evidence_rows:32};function qc(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 ug}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 Li=["agenda","day","week","month"],Fi=["markdown","toon","json"],fg=["sun","mon","tue","wed","thu","fri","sat"],mg=365,pg=365,Xc=28,hg=1e3;function Mi(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 gg(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 Jc(e,t){let n;for(let r of t){let i=ho(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function _g(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Li.includes(t)){let n=Jc(t,Li);throw new _(`Calendar view must be one of ${Li.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function yg(e){if(!e)return;let t=e.trim().toLowerCase();if(!Fi.includes(t)){let n=Jc(t,Fi);throw new _(`Calendar format must be one of ${Fi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,g.USAGE)}return t}function BC(e,t){let n=yg(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 vg(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 bg(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 er(e){return new Date(e).toISOString().slice(0,10)}function Qc(e,t){if(!t||t==="UTC")return er(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 er(e)}function ji(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 Zc(e){let t=new Date(ji(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return Ie(t.toISOString(),r)}function wg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function kg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Eg(e,t){return C(e,t)>=0?e:t}function Wc(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Yc(e,t){e.set(t,(e.get(t)??0)+1)}function Ig(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 ed(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 td(e){return fg[new Date(e).getUTCDay()]}function Cg(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Sg(e){let t=new Set;for(let n of e??[]){let r=Cg(n);r&&t.add(r)}return t}function Tg(e,t,n,r,i){let o=e??Ie(n,-(r??pg)),s=t??Ie(e??n,i??mg);return{start:o,end:C(s,o)>0?s:Ie(o,1)}}function Rg(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[td(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??hg,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Sg(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 tr(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 nr(e,t){let n=td(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Dg(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(nr(e,t)&&tr(e,t)==="stop");n+=1)t=Ie(t,e.interval);return e.occurrences}function xg(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 Ag(e){let t=Zc(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=xg(e,r,i);if(nr(e,o)&&tr(e,o)==="stop")return e.occurrences}}return e.occurrences}function Og(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=ed(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!nr(e,s))&&tr(e,s)==="stop")return e.occurrences}}return e.occurrences}function Lg(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=ed(i,n,o,e.startDate);if(!(!s||!nr(e,s))&&tr(e,s)==="stop")return e.occurrences}}return e.occurrences}function Fg(e,t,n,r){let i=Rg(e,t,n,r);return t.freq==="daily"?Dg(i):t.freq==="weekly"?Ag(i):t.freq==="monthly"?Og(i):Lg(i)}function nd(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 Ui(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 Mg(e){return e.deadline?{at:e.deadline,date:er(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,...Ui(e),item_deadline:e.deadline}:null}function Ng(e){return(e.reminders??[]).map(t=>({at:t.at,date:er(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,...Ui(e)}))}function $g(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Pg(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=Ig(t.recurrence),o=$g(t.start_at,t.end_at);return(t.recurrence?Fg(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Qc(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Pg(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,...Ui(e)}))}function Ug(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Mg(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Ng(o));for(let a of n.has("events")?o.events??[]:[])i.push(...jg(o,a,t,r))}return nd(i)}function Hg(e,t,n,r,i){let o=ws(t.type,n),s=t.tag?.trim().toLowerCase(),a=kn(t.priority),c=vg(t.status,r),d=t.assignee?.trim(),l=bg(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=>Bg(p,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function Bg(e,t){return Gg(e,t)&&Kg(e,t)&&pn(e,t.runtimeFieldFilters)}function Gg(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 Kg(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 zg(e,t,n){return!(t&&C(e.at,t)<0||n&&C(e.at,n)>=0)}function Ni(e,t,n){return e.trim().toLowerCase()==="today"?ji(t):ye(e,new Date(t),n)}function Vg(e,t,n){let r=t.date?Ni(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Ni(t.from,n,"--from"):void 0,a=t.to?Ni(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 qg(r,t,n,i,o,s,a);if(e==="day"){let d=ji(r);return $i(r,n,i,o,d,Ie(d,1))}if(e==="week"){let d=Zc(r);return $i(r,n,i,o,d,Ie(d,7))}let c=wg(r);return $i(r,n,i,o,c,kg(r))}function qg(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 $i(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Eg(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function Wg(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:nd(r)}))}function Yg(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),Yc(n,c.item_type),Yc(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:Wc(n),by_status:Wc(r),recurring_events:a}}function Xg(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function rd(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 Pi(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Jg(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Qc(e.event_end,e.event_timezone)?rd(e.event_end,e.event_timezone):e.event_end:null}function Qg(e){let t=`${rd(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=Jg(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 GC(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Xg(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: ${Pi(e.summary.by_kind)}`),t.push(`- by-type: ${Pi(e.summary.by_type)}`),t.push(`- by-status: ${Pi(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(`- ${Qg(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 Zg(t.join(`
14
- `))}function KC(e){return ug(e)}function Zg(e){let t=e.length;for(;t>0&&e[t-1]===`
15
- `;)t-=1;return e.slice(0,t)}function e_(e){let t=D(),n=_g(e.view),r=Vg(n,e,t),i=ie(e.limit),o=gg(e.include),s=Mi(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Mi(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=Mi(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?Xc:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function t_(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Xc}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function n_(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 r_(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 id(e,t){let n=O(process.cwd(),t.path);await U(n);let r=e_(e),i=await F(n),o=J(i.schema),s=nn(i.schema),a=mn(e,s,"calendar"),c=L(i,x()),d=[];t_(d,r.eventsOnlyCapApplied);let l=await ue(n,i.item_format,c.type_to_folder,d,i.schema),u=Hg(l,e,c,o,a),f=Tg(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=Ug(u,f,r.includeSources,r.occurrenceLimit).filter(b=>zg(b,r.rangeBounds.start,r.rangeBounds.end)),m=r.limit===void 0?p:p.slice(0,r.limit),h=Wg(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:r_(e,r.rangeBounds),filters:n_(e,a),summary:Yg(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 rr={version:1,aliases:{}};function ir(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 od(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 Hi(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 Bi(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 or(e,t=rr,n={}){let r=Hi(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 YC(e,t,n=rr,r=Ke){return Gi(t,n,r)(e)}function Gi(e,t=rr,n=Ke){let r=od(e.harness),i=od(e.agentInstance),o=Bi(e,n);return s=>{let a=Hi(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 sr(e,t=rr,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);Hi(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 i_ from"node:fs/promises";import cd 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 o_=20,s_=5,a_=15,c_="-24h";function sS(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 d_={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Ki(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 sd(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 ye(i,new Date(t),n)}function l_(e,t,n){return!(e.ts.length===0&&(t||n)||t&&C(e.ts,t)<0||n&&C(e.ts,n)>=0)}function ad(e,t){return t===void 0?e:e.slice(0,t)}function At(e,t=""){return typeof e=="string"?e:t}function u_(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 f_(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 m_(e){try{return(await i_.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(ae(t))return[];throw t}}function p_(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 h_(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?a_:n==="compact"?o_:s_}function g_(e,t){let n=D(),r=t==="digest",i=sd(e.to??(r?n:void 0),n,"--to"),o=sd(e.from??(r?c_: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=Dr(e.limit);if(e.unbounded===!0&&s!==void 0)throw new _("Activity --unbounded cannot be combined with --limit",g.USAGE);return{id:Ki(e.id,"Activity --id"),op:Ki(e.op,"Activity --op"),author:Ki(e.author,"Activity --author"),from:o,to:i,limit:h_(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function __(e){let t=O(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await F(t)}}async function y_(e){let t=L(e.settings,x()),n=await ue(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await rs({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=cd.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 v_(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:l_(t,n.from,n.to)}async function b_(e,t){let n=[];for(let r of await m_(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await ze(cd.join(e,r),i);for(let s of o){let a=u_(i,s);v_(s,a,t)&&n.push(a)}}return n}function w_(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function k_(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 E_(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:k_(i.operations)}}).sort((r,i)=>C(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function I_(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 C_(e,t,n,r,i){if(e==="digest"){let s=E_(t,r),a=ad(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=ad(t,n);return e==="compact"?{rows:{compact_activity:w_(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 dd(e,t){let n=await __(t),r=p_(e),i=g_(e,r),o=await y_(n),s=ir(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,c=Gi({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),d=f_(await b_(o.historyDir,i)).filter(c),l=C_(r,d,i.limit,o.itemsById,f=>or(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:d_[r]},omission_receipt:bo("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:I_(d)}}:{},...e.provenanceSummary===!0?{provenance_summary:sr(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 ld="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 ye(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]="e750a203-8bef-5bfd-85a5-a584c2105472")}catch{}})();var zi=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],S_=Symbol("no-context-author"),T_=Symbol("no-item-assignee");function ud(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function R_(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 D_(e){let t=R_(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ot(e.created_at)??ld}}function x_(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 A_(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 O_(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 L_(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 ar(e,t,n){return e?.[t]??n}function cr(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?D_(d):x_(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=ud(t.author,S_),a=Q("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=ud(d.assignee,T_)===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:ar(t.graphProximity,d.id,d.parent?.3:0),claim_focus:ar(t.claimFocus,d.id,R(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:A_(d.priority,4),risk_pressure:L_(d.risk),deadline_pressure:O_(d.deadline,c),knowledge_density:ar(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:ar(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var F_="context_relevance",M_={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},N_=new TextEncoder;function $_(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"||!zi.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 P_(e){let t={...M_};for(let[n,r]of Object.entries(e??{}))r!==void 0&&zi.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 md(e,t={}){$_(e);let n=P_(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=zi.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=md(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 dr(e,t,n={}){let r=md(t,n),i=await yo(F_,{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 U_=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function fd(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function H_(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:fd(e.required_ids??[],a),continuity_coverage:fd(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function B_(e){return Math.ceil(N_.encode(JSON.stringify(e)).byteLength/4)}function G_(e){return Math.round(e*1e4)/1e4}function K_(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 z_(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"}),{rankedIds:r,attribution:i}=K_(n,e.surface),o={...n,ranking:void 0},s=B_(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:H_({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 V_(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=U_;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,G_(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 pS(e,t,n){let r=[];for(let i of e)r.push(await z_(i,t));return V_(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 q_={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},W_=["identity","summary","full"];function Y_(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=W_.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 X_(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=q_[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 J_(e){let t=new Set;for(let n of e){if(Y_(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 Q_(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 Z_(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=Q_(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 ey(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 pd(e,t){let n=X_(t),r=J_(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Z_({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=ey(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 hd,randomUUID as ty}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 Vi=3,qi=2,gd=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],ny=new Set(["substantive_history","release_cohort","created_at"]),ry={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 _d(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function iy(e){let t={};for(let n of gd){let r=e[n];if(r!==void 0){if(!_d(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function oy(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 sy(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 yd(e,t){return{...t,activityDensity:t.activityDensity??oy(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??sy(e)}}function Xi(e){let t=hd("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 ay(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(gd),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&_d(a))||![typeof n.source=="string"&&ny.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 cy(e,t){let n=Array.from(e,ay);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!==Xi(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function dy(e){if(!dt(e)||e.format_version!==Vi||e.signal_set_version!==qi||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=cy(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:Vi,signal_set_version:qi,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function vd(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 bd(e,t,n=Xi(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:iy(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:Vi,signal_set_version:qi,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 CS(e,t){return vd(t),bd(cr(e,yd(e,t)),t)}var Wi=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)}.${ty()}.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{}}}},Yi=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){vd(n);let r=[],i=null;try{let f=await this.adapter.read();i=dy(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=cr(t,yd(t,n)),c=Xi(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=bd(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=>ry[f])}}};function ly(e){let t=hd("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 lr(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??ly(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Yi(new Wi(Ft.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await jo(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 uy(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 fy(e,t,n){let r,i;for(let o of t){let s=uy(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 wd(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 TS(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=fy(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import my from"node:path";import{createHash as py}from"node:crypto";import hy 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 kd=1,gy=1e4,Ed=12;function _y(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function yy(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 vy(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 by(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=wd(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=_y(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=yy(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:kd,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(vy).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function wy(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 ky(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(wy)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Ey(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==kd||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(ky)?t:null}function Iy(e){return`scan:${py("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 Cy(e,t,n){return n!==void 0?n:(await We(t))?.source_cursor??Iy(e)}async function Sy(e){try{let t=Ey(JSON.parse(await hy.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 Id(e,t){let n=Math.max(1,Math.floor(t.minimumItems??gy));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Cy(e,t.pmRoot,t.sourceCursor),i=my.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Sy(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=by(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 Ty(e,t,n=Ed){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 Cd(e,t,n=Ed){if(e.snapshot===null)return;let r=Ty(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 Ry(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 $S(e,t,n=5){let r=Ry(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 Dy=["markdown","toon","json","ndjson"],ur=new Set(["Epic","Feature"]),xd=10,Ad=1e4,Od=["hierarchy","activity","progress","recently_created","unparented","workload"],xy=[...Od,"blockers","files","staleness","tests"],Ay=/^(\d{4})-(\d{2})-(\d{2})/,Oy=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Ly=/^(\d{4})(\d{2})(\d{2})$/,Fy=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function My(e){if(!e)return;let t=e.trim().toLowerCase();if(!Dy.includes(t))throw new _("Context format must be one of markdown|toon|json|ndjson",g.USAGE);return t}var Sd=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 Ny(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Sd.has(r))throw new _(`Context --fields value not projectable: ${r} (valid: ${[...Sd].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 oT(e,t){let n=My(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 $y(e,t){return ie(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:xd)}function Zi(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 Py(e,t){return t>=Ad&&e===Number.MAX_SAFE_INTEGER?xd:e}function jy(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!yr.includes(n))throw new _(`Context --depth must be one of ${yr.join("|")}`,g.USAGE);return n}function Uy(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"?xy:Od).filter(r=>n.sections[r])}function Hy(e,t){return e?ie(e,"--activity-limit")??t.activity_limit:t.activity_limit}function By(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 Td(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 eo(e,t){return R(e,t)===t.in_progress_status}function Ld(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Gy(e,t){return t.blocked_statuses.has(R(e,t))}var Ky=["compact","brief","fields","includeBody","include_body","parent"];function zy(e){let t={...e};for(let n of Ky)delete t[n];return t}function to(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 Vy(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 qy(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Wy(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 Yy(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Xy(e){let t=Ay.exec(e)??Oy.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<=Yy(n,r-1)}function Jy(e){let t=Ly.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Fy.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 Fd(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Xy(t))return Number.NaN;let n=Date.parse(Jy(t));return Number.isFinite(n)?n:Number.NaN}function Qi(e){let t=Fd(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Qy(e){let t=Fd(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function no(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Ne(e,t,n){let r=Td(e.status,n)-Td(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=qy(e.order,t.order);if(o!==0)return o;let s=Wy(e.deadline,t.deadline);if(s!==0)return s;let a=C(Qi(t.updated_at),Qi(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Ji(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function ro(e,t,n=new Set,r="context"){return pd(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:Ji({id:i.id,title:i.item.title}),summary:Ji({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Ji(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function io(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function oo(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 Md(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=no(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:no(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=Md(s,o)}}return r}function Zy(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 fr(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function ev(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function tv(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=>ur.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++:eo(b.status,n)?m++:Gy(b.status,n)?h++:Ld(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 nv(e,t){return(await dd({compact:!0,limit:String(e)},t)).compact_activity??[]}function rv(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=>ur.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++:eo(h.status,r)?p++:Ld(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:Md(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function iv(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=wn(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 ov(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 sv(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=>eo(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function av(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 cv(e,t,n,r){return e.map(i=>({item:i,sortKey:Qi(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 dv(e,t,n,r){return e.filter(i=>!no(i.parent)&&!ur.has(i.type)).sort((i,o)=>Ne(i,o,t)).slice(0,r).map(i=>Pt(i,t,n))}function lv(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 Rd(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Nd(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 uv(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function fv(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`${Rd(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Rd(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 Dd(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 mv(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 pv(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(`- ${fv(n)}`);e.push("")}function hv(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 gv(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 _v(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)}`:`- ${Qy(i.created_at)} ${Nd(i)}`);e.push("")}}function yv(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 vv(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 bv(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 wv(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 kv(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 Ev(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 Iv(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 Cv(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 sT(e){let t=[],n=e.focus_fields,r=o=>n?uv(o,n):Nd(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(""),Dd(t,"High-level focus",e.high_level,"No high-level active items.",r),Dd(t,"Low-level focus",e.low_level,"No low-level active items.",r),mv(t,e,r),pv(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 hv(t,e),gv(t,e),_v(t,e,n,r),yv(t,e,r),vv(t,e),bv(t,e),wv(t,e),kv(t,e),Ev(t,e),Iv(t,e),Cv(t,e),t.join(`
18
- `)}async function Sv(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=r.context??uo.context,o=J(r.schema),s=jy(e.depth,i),a=$y(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Uy(e.section,s,i),activityLimit:Hy(e.activityLimit,i),staleThresholdDays:By(e.staleThreshold,i),parentScope:Vy(e.parent),focusFields:Ny(e.fields),baseListOptions:zy(e)}}function Tv(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Rv(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Dv(e,t){let n=await kt(void 0,Rv(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!$(a.status,t.statusRegistry)),o=r,s=xv(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 xv(e,t){if(e===void 0)return;let n=to(t,e);if(!n.found)throw new _(`Context --parent item not found: ${e}`,g.NOT_FOUND);return n.ids}function Av(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=>ur.has(o.type)||i.has(o.id)||Re(o.type,r)!=="agent").map(o=>o.id))}async function Ov(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 lr(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:b.affinity,claimFocus:m}),w=await dr("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?ce(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=ro({...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),se=te.filter(I=>S.has(R(I.status,i))),V=te.filter(I=>r.has(I.id.trim().toLowerCase())),$e=lt(t),pr=Tv(o)?$e:void 0,q=new Map(n.map(I=>[I.id.trim().toLowerCase(),I])),G=I=>{let ut=Pt(I,i,pr);return r.has(I.id.trim().toLowerCase())&&(ut.blocked=!0,ut.blocker_ids=wn(I,q,i).filter(hr=>!hr.resolved).map(hr=>hr.id)),ut},co=Av(se,n,i,h),Jd=se.filter(I=>co.has(I.id)).slice(0,u?M.length:s).map(G),Qd=se.filter(I=>!co.has(I.id)).slice(0,u?M.length:s).map(G),lo=P.length===0;return{activeItems:se,blockedItems:V,highLevel:Jd,lowLevel:Qd,blockedFallback:lo?V.slice(0,s).map(G):[],blockedFallbackUsed:lo,ranking:w,packing:X,featureStore:v,pageExtras:{...u?{applied_limit:s}:{},...Ce?{has_more:!0,truncated:!0}:{},...N?{next_cursor:N}:{}}}}function Lv(e,t){return Se("context",{pmRoot:t,options:Yt(e,ds)})}function Fv(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Ad}async function Mv(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await id(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=ev(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:Zy(a)}}function $d(e,t,n){let r=String(t);return e.filter(i=>R(i.status,n)===r).length}async function Nv(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")?tv(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await nv(t.activityLimit,a):void 0,progress:l("progress")?rv(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?iv(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?cv(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?dv(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?ov(o.activeItems,t.limit):void 0,workload:l("workload")?sv(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?av(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?lv(o.activeItems):void 0}}function $v(e,t,n){let r=Q("canceled",t),i=e.filter(s=>t.active_statuses.has(R(s.status,t))),o=$d(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 Pv(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 Uv(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 Hv(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 Bv(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=fr(e.warnings,["context_usage_feedback_write_failed"])}}async function Gv(e,t,n){if(e)return{};let r=(await go({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 Kv(e,t){let n=Fo(),r=await Do(e),i=n.instance||xo(t);return qc(r.semantic_attribution?.[i])}async function aT(e,t){let n=O(process.cwd(),t.path),r=await Sv(e,t),i=await Dv(t,r),o=Py(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Zi(e.tokenBudget,Math.max(256,o*160))},a=be(void 0,s.settings.author_default),c=await Kv(n,a),d=Gv(e.noExtensionHealth===!0,n,s.settings),l=mt(i.fullCorpus,s.statusRegistry),u=await Ov(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,Lv(e,n),Fv(e,i.fullCorpus.length),n,s.tokenBudget,c,L(s.settings,x())),f=await Mv(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),p=await Id(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),m=fr(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],p.warnings),h=$d(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-h,b=await Nv({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),v=$v(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=Cd(p,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),Pv(w,b,u.featureStore.warning_details),Uv(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=oo(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),w.packing=io(u.packing)),ko(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),Eo(w),m.length>0&&(w.warnings=m),Hv(w,u.activeItems,u.blockedItems),await Bv(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 Pd(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(br(r,"json"),br(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 zv=["markdown","toon","json"],Vv=5,qv=1440*60*1e3;function Wv(e){if(!e)return;let t=e.trim().toLowerCase();if(!zv.includes(t))throw new _("Next format must be one of markdown|toon|json",g.USAGE);return t}function wT(e,t){let n=Wv(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 jd(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 Yv(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(Xv(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 Ud(e,t,n){let r=be(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 kT={partitionCallerOwnedReady:Ud,resolveNextCallerAuthor:(e,t)=>Hd(e,t)};function ET(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 Xv(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))/qv);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function Jv(e,t){let n=Q("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function so(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Qv(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 mr(e,t,n){return[...e].sort((r,i)=>{let o=so(r.item,t),s=so(i.item,t);return o!==s?Number(o)-Number(s):Ne(r.item,i.item,n)})}function Zv(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Yv(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function eb(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 tb(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 nb(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=fr(e.result.warnings,["context_usage_feedback_write_failed"])}}async function rb(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=eb(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Pd(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=oo(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=io(ro(e.readyRanking,e.packingBudget,new Set,"next"))),await nb({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function ib(e,t,n){if(!n)return e;let r=to(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 ob(e,t,n,r,i,o,s){let a=e.filter(p=>!so(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 lr(c.map(p=>p.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:d.affinity}),u=await dr("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 Hd(e,t){let n=e.assignee?.trim();return be(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function IT(e,t){let n=O(process.cwd(),t.path),r=await F(n),i=Hd(e,r.author_default),o=J(r.schema),s=L(r,x()),a=D(),c=jd(e.limit,"--limit",Vv),d=Zi(e.tokenBudget,Math.max(192,c*128)),l=jd(e.blockedLimit,"--blocked-limit",c),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",p=await kt(void 0,Qv(e,{excludeTerminal:!0}),t),m=await kt(void 0,{excludeTerminal:!1,noTruncate:!0},t),h=ib(p.items,m.items,f),y=m.items,b=pt(h,y,o,s),v=lt(y),w=Fr(b,o,e,s),E=Ud(w.ready,r.author_default,i),S=mr(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 ob(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=mr(w.decisions,v,o).map((q,G)=>jt(q,o,v,G+1)),te=mr(w.gates,v,o).map((q,G)=>jt(q,o,v,G+1)),se=mr(b.containers,v,o).map((q,G)=>jt(q,o,v,G+1)),V=Zv({projectedReady:j,readyRows:B,statusRegistry:o,now:a,completedContainer:Ce}),$e=tb(X.length,E.held.length,B.length,c)??{};te.length>c&&($e.gate_needed_total=te.length),se.length>c&&($e.containers_total=se.length);let pr={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:se.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:Jv(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 rb({result:pr,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 CT(e){let t=["# pm next","",...sb(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",ab(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=>`- ${cb(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 sb(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 ab(e){return e?[`- ${Ht(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Ut(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function cb(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 db}from"node:crypto";import{setTimeout as lb}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 Gd=1,Kd=/^[A-Za-z0-9_-]+$/,ub=100,Bd=1e3,fb=250,$T=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function oe(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 zd(e){return db("sha256").update(k({type:oe(e.type),author:oe(e.author),item:oe(e.item),harness:oe(e.harness),agent_instance:oe(e.agentInstance),provenance:oe(e.provenanceFilter)})).digest("hex").slice(0,24)}function ao(e,t){let n={version:Gd,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 Vd(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Gd,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 qd(e,t){let n=e.trim();if(n.length===0||n.length>4096||!Kd.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(!Vd(r,t))throw new _("Mutation event cursor does not match this query.",g.USAGE,{code:"event_cursor_query_mismatch"});return r}function Wd(e){let t=e??ub;if(!Number.isSafeInteger(t)||t<0||t>Bd)throw new _(`Mutation event limit must be an integer from 0 to ${Bd}.`,g.USAGE,{code:"invalid_event_limit"});return t}function Yd(e){return e instanceof Error&&e.name==="AbortError"}function Xd(e,t){let n=e?.trim();if(!n)return{};if(Kd.test(n))return{cursor:qd(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 mb(e,t){let n=await Ir(e,t);if(n===null){if(!await $o(e))return{...await Po(e,t),source:"authoritative_history"};n=await Ir(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 pb(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 hb(e={}){let t=O(e.cwd??process.cwd(),e.pmRoot);await U(t);let n=Wd(e.limit),r=pb(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=ir(i.agent_identity.harness_signals),a=Bi({provenance:e.provenanceFilter},s),c=oe(e.harness),d=zd(e),{cursor:l,sinceTimestamp:u}=Xd(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:oe(e.type),authors:oe(e.author),harnesses:c,harness_alias_authors:c?Object.entries(o.aliases).filter(([,h])=>c.includes(h)).map(([h])=>h):void 0,agent_instances:oe(e.agentInstance),provenance:[...a].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:oe(e.item),limit:n},p=await mb(t,f),m=p.events.map(h=>({...r==="row"?{cursor:ao(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:or(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:ao(p.events[p.events.length-1],d)},source:p.source,...e.provenanceSummary===!0?{provenance_summary:sr(p.events.map(h=>h.entry),o,s)}:{}}}async function*gb(e={}){let t=e.intervalMs??fb;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 hb({...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 lb(t,void 0,{signal:e.signal})}catch(i){if(Yd(i))return;throw i}}}async function*PT(e={}){for await(let t of gb({...e,cursorMode:"row"}))for(let n of t.events)yield n}var jT={decodeMutationEventCursor:qd,encodeMutationEventCursor:ao,eventQueryFingerprint:zd,isAbortError:Yd,isMutationEventCursorEnvelope:Vd,parseMutationEventLimit:Wd,resolveMutationEventStart:Xd};(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 HT(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{xr as a,hn as b,Vb as c,qb as d,yn as e,_n as f,_s as g,Jb as h,Re as i,ll as j,Ae as k,bn as l,vs as m,wn as n,mt as o,Fr as p,pt as q,ie as r,kn as s,ws as t,Mr as u,ht as v,ks as w,Es as x,Ms as y,zr as z,$s as A,Vw as B,qw as C,Us as D,Hs as E,Yw as F,ml as G,yw as H,pl as I,vw as J,bw as K,ww as L,kw as M,yl as N,z as O,Ts as P,In as Q,xw as R,$r as S,Aw as T,yt as U,Rl as V,xl as W,jr as X,Al as Y,Qe as Z,Ur as _,Hr as $,Fl as aa,Br as ba,Uw as ca,Hw as da,Bw as ea,Gw as fa,iu as ga,Xs as ha,zs as ia,Vs as ja,du as ka,lu as la,uu as ma,kt as na,Sn as oa,qr as pa,Tn as qa,x0 as ra,da as sa,pe as ta,Q0 as ua,ga as va,_a as wa,ya as xa,va as ya,ba as za,Ln as Aa,ka as Ba,nt as Ca,Ea as Da,Ta as Ea,Nn as Fa,Ra as Ga,Da as Ha,Hm as Ia,Ha as Ja,jn as Ka,ii as La,Un as Ma,Ba as Na,Ka as Oa,oi as Pa,Ct as Qa,Va as Ra,ai as Sa,ci as Ta,di as Ua,qa as Va,li as Wa,Ya as Xa,Xa as Ya,Qa as Za,mp as _a,oE as $a,eC as ab,jc as bb,HT as cb,sc as db,ac as eb,uE as fb,Up as gb,at as hb,T as ib,De as jb,wE as kb,kE as lb,Gp as mb,zp as nb,EE as ob,IE as pb,ME as qb,_c as rb,qn as sb,Jn as tb,rI as ub,Qn as vb,Nh as wb,iI as xb,oI as yb,sI as zb,aI as Ab,Ph as Bb,Rc as Cb,Zh as Db,cg as Eb,CC as Fb,SC as Gb,Vc as Hb,OC as Ib,LC as Jb,FC as Kb,MC as Lb,qc as Mb,BC as Nb,GC as Ob,KC as Pb,id as Qb,rr as Rb,ir as Sb,Bi as Tb,or as Ub,YC as Vb,Gi as Wb,sr as Xb,sS as Yb,dd as Zb,ld as _b,Ot as $b,zi as ac,cr as bc,F_ as cc,md as dc,j_ as ec,dr as fc,U_ as gc,H_ as hc,z_ as ic,V_ as jc,pS as kc,q_ as lc,pd as mc,Vi as nc,qi as oc,ry as pc,dy as qc,CS as rc,Wi as sc,Yi as tc,lr as uc,wd as vc,TS as wc,gy as xc,by as yc,Id as zc,Ty as Ac,Cd as Bc,Ry as Cc,$S as Dc,Dy as Ec,Ny as Fc,Mt as Gc,oT as Hc,Zi as Ic,jy as Jc,Uy as Kc,to as Lc,Ne as Mc,ro as Nc,io as Oc,oo as Pc,lt as Qc,Pt as Rc,fr as Sc,sT as Tc,Uv as Uc,aT as Vc,zv as Wc,wT as Xc,kT as Yc,ET as Zc,IT as _c,CT as $c,$T as ad,hb as bd,gb as cd,PT as dd,jT as ed};
20
- //# sourceMappingURL=chunk-RBPOO46D.js.map