@unbrained/pm-cli 2026.10.30 → 2026.11.1

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 (262) hide show
  1. package/.agents/skills/pm-user/references/ECOSYSTEM_PLANNING.md +1 -1
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/AGENTS.md +3 -3
  4. package/CHANGELOG.md +41 -0
  5. package/README.md +1 -1
  6. package/dist/cli/commander-usage.js +2 -2
  7. package/dist/cli/error-guidance.d.ts +45 -5
  8. package/dist/cli/error-guidance.js +5 -3
  9. package/dist/cli/extension-command-help.d.ts +1 -0
  10. package/dist/cli/extension-command-help.js +2 -2
  11. package/dist/cli/main.d.ts +1 -5
  12. package/dist/cli/main.js +5 -5
  13. package/dist/cli/migration-gates.d.ts +1 -1
  14. package/dist/cli/migration-gates.js +1 -1
  15. package/dist/cli/preflight-warnings.d.ts +11 -0
  16. package/dist/cli/preflight-warnings.js +4 -0
  17. package/dist/cli/register-mutation.js +2 -2
  18. package/dist/cli/register-operations.d.ts +3 -3
  19. package/dist/cli/register-operations.js +1 -1
  20. package/dist/cli-bundle/bundle-manifest.json +1 -1
  21. package/dist/cli-bundle/chunks/chunk-2GK2IVU5.js +8 -0
  22. package/dist/cli-bundle/chunks/chunk-5KW4WUAK.js +6 -0
  23. package/dist/cli-bundle/chunks/chunk-5WVE7XBS.js +114 -0
  24. package/dist/cli-bundle/chunks/chunk-6PKWKVS6.js +8 -0
  25. package/dist/cli-bundle/chunks/chunk-E74BORFX.js +128 -0
  26. package/dist/cli-bundle/chunks/chunk-F3ECOBKA.js +2 -0
  27. package/dist/cli-bundle/chunks/chunk-ICT6E4IW.js +2 -0
  28. package/dist/cli-bundle/chunks/chunk-MP2DQJH2.js +3 -0
  29. package/dist/cli-bundle/chunks/{chunk-LWW4F4G2.js → chunk-MRUA2Z43.js} +2 -2
  30. package/dist/cli-bundle/chunks/{chunk-UUQX3PFD.js → chunk-MTRIGD7M.js} +76 -76
  31. package/dist/cli-bundle/chunks/{chunk-S2U7ECUJ.js → chunk-N45IXPCA.js} +2 -2
  32. package/dist/cli-bundle/chunks/{chunk-MVL27TAH.js → chunk-NILQ2ZMV.js} +2 -2
  33. package/dist/cli-bundle/chunks/{chunk-GRABKNFL.js → chunk-O56O7NIE.js} +2 -2
  34. package/dist/cli-bundle/chunks/chunk-O6TFUV6M.js +31 -0
  35. package/dist/cli-bundle/chunks/{chunk-TH5KPAN4.js → chunk-SBVX5CMV.js} +2 -2
  36. package/dist/cli-bundle/chunks/{chunk-Y6NC3X3E.js → chunk-TMPO4CTZ.js} +3 -3
  37. package/dist/cli-bundle/chunks/chunk-TYERATXH.js +2 -0
  38. package/dist/cli-bundle/chunks/{chunk-EHBGHX55.js → chunk-UEEG47TU.js} +2 -2
  39. package/dist/cli-bundle/chunks/chunk-UUN3WNMQ.js +20 -0
  40. package/dist/cli-bundle/chunks/chunk-WFBYKDB2.js +2 -0
  41. package/dist/cli-bundle/chunks/{chunk-RZQNFHXO.js → chunk-WX25MU4N.js} +3 -3
  42. package/dist/cli-bundle/chunks/{chunk-4BQD5SW2.js → chunk-Y7CKVU56.js} +30 -30
  43. package/dist/cli-bundle/chunks/{indexed-receipt-blobs-LHLE7PSG.js → indexed-receipt-blobs-KGMJVFH2.js} +2 -2
  44. package/dist/cli-bundle/chunks/item-transaction-Q5S5YLEJ.js +2 -0
  45. package/dist/cli-bundle/chunks/{mutation-admission-TRGAVS7N.js → mutation-admission-BOOCJPCU.js} +2 -2
  46. package/dist/cli-bundle/chunks/{register-list-query-BH4F6M7Z.js → register-list-query-23OX36Q3.js} +3 -3
  47. package/dist/cli-bundle/chunks/register-mutation-JPJ5YNDX.js +20 -0
  48. package/dist/cli-bundle/chunks/register-operations-IGR7ERY5.js +2 -0
  49. package/dist/cli-bundle/chunks/{register-setup-QPWSVHFZ.js → register-setup-BMIFKZZP.js} +2 -2
  50. package/dist/cli-bundle/chunks/{settlement-hook-MN3Y7LVX.js → settlement-hook-YWSWFOZY.js} +2 -2
  51. package/dist/cli-bundle/chunks/{stage-RTB6RAAO.js → stage-ON7CYYPM.js} +2 -2
  52. package/dist/cli-bundle/focused-chunks/{chunk-POJPJX64.js → chunk-2Y77HWIX.js} +2 -2
  53. package/dist/cli-bundle/focused-chunks/{chunk-SAT7IAEB.js → chunk-3NYWMUX3.js} +3 -3
  54. package/dist/cli-bundle/focused-chunks/chunk-3Z53POXU.js +2 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-5TWS5KOM.js +26 -0
  56. package/dist/cli-bundle/focused-chunks/chunk-5WCQFH6D.js +12 -0
  57. package/dist/cli-bundle/focused-chunks/{chunk-S23ZUASN.js → chunk-6GMYW42K.js} +2 -2
  58. package/dist/cli-bundle/focused-chunks/{chunk-YQUZL2CK.js → chunk-6OKPYCLU.js} +5 -5
  59. package/dist/cli-bundle/focused-chunks/chunk-7WJDRZOR.js +22 -0
  60. package/dist/cli-bundle/focused-chunks/{chunk-3SRX77ES.js → chunk-AL7SOFUL.js} +2 -2
  61. package/dist/cli-bundle/focused-chunks/chunk-CIQ6YWCW.js +26 -0
  62. package/dist/cli-bundle/focused-chunks/{chunk-RKPUQDWF.js → chunk-DFUTCKUF.js} +2 -2
  63. package/dist/cli-bundle/focused-chunks/{chunk-RYEZSZJ7.js → chunk-GE755ODZ.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/chunk-JCR32IAO.js +91 -0
  65. package/dist/cli-bundle/focused-chunks/{chunk-BPE6JTKL.js → chunk-JLXGRDTG.js} +3 -3
  66. package/dist/cli-bundle/focused-chunks/chunk-LVA76N27.js +6 -0
  67. package/dist/cli-bundle/focused-chunks/{chunk-YU7QOYYV.js → chunk-M22TI7LP.js} +3 -3
  68. package/dist/cli-bundle/focused-chunks/chunk-PAT6QF63.js +2 -0
  69. package/dist/cli-bundle/focused-chunks/{chunk-VFWCSQAG.js → chunk-RPUDOJVB.js} +2 -2
  70. package/dist/cli-bundle/focused-chunks/chunk-SXZM4PSS.js +44 -0
  71. package/dist/cli-bundle/focused-chunks/chunk-UQIBGLDR.js +2 -0
  72. package/dist/cli-bundle/focused-chunks/{chunk-RGQEJFXO.js → chunk-VFQAZLKO.js} +2 -2
  73. package/dist/cli-bundle/focused-chunks/{chunk-BCIUAEWX.js → chunk-VS2ZFPXD.js} +2 -2
  74. package/dist/cli-bundle/focused-chunks/{chunk-FRFNGMAK.js → chunk-WX2RVS2Y.js} +2 -2
  75. package/dist/cli-bundle/focused-chunks/chunk-Z7GIVH6B.js +3 -0
  76. package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-VK2363JB.js → indexed-receipt-blobs-KHWT44EK.js} +2 -2
  77. package/dist/cli-bundle/focused-chunks/item-transaction-7VLPA2SU.js +2 -0
  78. package/dist/cli-bundle/focused-chunks/{mutation-admission-7VUODEPJ.js → mutation-admission-2DH27R5Y.js} +2 -2
  79. package/dist/cli-bundle/focused-chunks/{settlement-hook-OK6A7PG2.js → settlement-hook-SJV52ZTV.js} +2 -2
  80. package/dist/cli-bundle/focused-chunks/{stage-S5RP5SZH.js → stage-FYOBWQA7.js} +2 -2
  81. package/dist/cli-bundle/main.js +26 -22
  82. package/dist/cli-bundle/sdk-authoring.js +1 -1
  83. package/dist/cli-bundle/sdk-contracts.js +4 -4
  84. package/dist/cli-bundle/sdk-core.js +1 -1
  85. package/dist/cli-bundle/sdk-governance.js +1 -1
  86. package/dist/cli-bundle/sdk-graph.js +1 -1
  87. package/dist/cli-bundle/sdk-merge.js +57 -57
  88. package/dist/cli-bundle/sdk-query.js +1 -1
  89. package/dist/cli-bundle/sdk-runtime.js +1 -1
  90. package/dist/cli-bundle/sdk-testing.js +1 -1
  91. package/dist/cli-bundle/sdk.js +11 -11
  92. package/dist/core/config/nested-settings.js +1 -1
  93. package/dist/core/extensions/extension-hook-runtime.js +1 -1
  94. package/dist/core/extensions/extension-types.d.ts +4 -0
  95. package/dist/core/extensions/extension-types.js +1 -1
  96. package/dist/core/extensions/loader.js +1 -1
  97. package/dist/core/lock/lock.js +4 -4
  98. package/dist/core/output/mutation-projection.js +1 -1
  99. package/dist/core/output/output.js +3 -3
  100. package/dist/core/schema/fields-file.js +1 -1
  101. package/dist/core/sentry/helpers.d.ts +6 -0
  102. package/dist/core/sentry/helpers.js +1 -1
  103. package/dist/core/sentry/instrument.d.ts +1 -1
  104. package/dist/core/sentry/instrument.js +1 -1
  105. package/dist/core/shared/constants.js +1 -1
  106. package/dist/core/shared/errors.d.ts +6 -0
  107. package/dist/core/shared/errors.js +1 -1
  108. package/dist/core/shared/output-unicode.d.ts +10 -0
  109. package/dist/core/shared/output-unicode.js +2 -0
  110. package/dist/core/store/settings-validator.d.ts +1 -0
  111. package/dist/core/store/settings-validator.js +1 -1
  112. package/dist/core/store/settings.js +1 -1
  113. package/dist/core/telemetry/policy.d.ts +8 -0
  114. package/dist/core/telemetry/policy.js +1 -1
  115. package/dist/core/telemetry/runtime.js +3 -3
  116. package/dist/sdk/agent/command-recovery.d.ts +15 -0
  117. package/dist/sdk/agent/command-recovery.js +1 -1
  118. package/dist/sdk/cli-bootstrap.js +1 -1
  119. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +28 -0
  120. package/dist/sdk/cli-contracts/agent-output-contracts.js +2 -2
  121. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1
  122. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  123. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  124. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  125. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  126. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  127. package/dist/sdk/cli-contracts.d.ts +1 -1
  128. package/dist/sdk/cli-contracts.js +1 -1
  129. package/dist/sdk/completion/fish.js +4 -4
  130. package/dist/sdk/completion/zsh.js +3 -3
  131. package/dist/sdk/config.d.ts +1 -0
  132. package/dist/sdk/config.js +1 -1
  133. package/dist/sdk/context-intent-contracts.d.ts +17 -0
  134. package/dist/sdk/context-intent-contracts.js +1 -1
  135. package/dist/sdk/core.d.ts +2 -1
  136. package/dist/sdk/core.js +1 -1
  137. package/dist/sdk/error-runtime.d.ts +9 -0
  138. package/dist/sdk/error-runtime.js +1 -1
  139. package/dist/sdk/errors.js +1 -1
  140. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  141. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  142. package/dist/sdk/index.d.ts +3 -3
  143. package/dist/sdk/index.js +1 -1
  144. package/dist/sdk/init-agent-guidance.js +2 -2
  145. package/dist/sdk/lifecycle/claim.d.ts +27 -0
  146. package/dist/sdk/lifecycle/claim.js +1 -1
  147. package/dist/sdk/lifecycle/close.js +1 -1
  148. package/dist/sdk/lifecycle/create.js +1 -1
  149. package/dist/sdk/lifecycle/mcp-actions.d.ts +1 -1
  150. package/dist/sdk/lifecycle/mcp-actions.js +1 -1
  151. package/dist/sdk/lifecycle/plan.d.ts +2 -3
  152. package/dist/sdk/lifecycle/plan.js +1 -1
  153. package/dist/sdk/lifecycle/repeated-terminal-state.d.ts +45 -0
  154. package/dist/sdk/lifecycle/repeated-terminal-state.js +2 -0
  155. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +9 -0
  156. package/dist/sdk/lifecycle/shared-unset-fields.js +1 -1
  157. package/dist/sdk/lifecycle/task-composition.js +1 -1
  158. package/dist/sdk/lifecycle/update-many.d.ts +0 -1
  159. package/dist/sdk/lifecycle/update-many.js +1 -1
  160. package/dist/sdk/lifecycle/update.d.ts +29 -1
  161. package/dist/sdk/lifecycle/update.js +2 -2
  162. package/dist/sdk/output/list-envelope.d.ts +8 -0
  163. package/dist/sdk/output/list-envelope.js +1 -1
  164. package/dist/sdk/output/table-rows.d.ts +7 -1
  165. package/dist/sdk/output/table-rows.js +1 -1
  166. package/dist/sdk/output.d.ts +2 -1
  167. package/dist/sdk/output.js +2 -2
  168. package/dist/sdk/ownership-source.d.ts +18 -0
  169. package/dist/sdk/ownership-source.js +1 -1
  170. package/dist/sdk/public-surface.json +1 -1
  171. package/dist/sdk/query/context.js +2 -2
  172. package/dist/sdk/query/get.d.ts +1 -1
  173. package/dist/sdk/query/get.js +1 -1
  174. package/dist/sdk/query/next-ranking-policy.d.ts +35 -0
  175. package/dist/sdk/query/next-ranking-policy.js +2 -0
  176. package/dist/sdk/query/next.d.ts +12 -2
  177. package/dist/sdk/query/next.js +2 -2
  178. package/dist/sdk/query/projection-contracts.d.ts +4 -0
  179. package/dist/sdk/query/projection-contracts.js +1 -1
  180. package/dist/sdk/read-output/surfaces.d.ts +27 -0
  181. package/dist/sdk/read-output/surfaces.js +2 -0
  182. package/dist/sdk/read-output-contracts.js +1 -1
  183. package/dist/sdk/runtime/actions.js +1 -1
  184. package/dist/sdk/runtime-input.js +1 -1
  185. package/dist/sdk/runtime-primitives.d.ts +1 -0
  186. package/dist/sdk/runtime-primitives.js +1 -1
  187. package/dist/sdk/runtime-public-contracts.d.ts +2 -0
  188. package/dist/sdk/runtime.d.ts +2 -2
  189. package/dist/sdk/runtime.js +1 -1
  190. package/dist/sdk/start-task-status.d.ts +1 -1
  191. package/dist/sdk/start-task-status.js +1 -1
  192. package/dist/sdk/test/execution-receipts.d.ts +25 -0
  193. package/dist/sdk/test/execution-receipts.js +2 -2
  194. package/dist/sdk/test/execution.d.ts +5 -0
  195. package/dist/sdk/test/execution.js +2 -2
  196. package/dist/types.d.ts +2 -0
  197. package/dist/types.js +1 -1
  198. package/docs/AGENT_GUIDE.md +4 -4
  199. package/docs/AGENT_OUTPUT_ENCODINGS.md +12 -0
  200. package/docs/AGENT_UX_CONTRACTS.md +2 -1
  201. package/docs/COMMANDS.md +59 -5
  202. package/docs/COMMAND_NAMESPACES.md +1 -1
  203. package/docs/CONFIGURATION.md +48 -1
  204. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +26 -0
  205. package/docs/LIFECYCLE_COMMANDS.md +19 -4
  206. package/docs/PACKED_FIRST_RUN.md +2 -1
  207. package/docs/READ_OUTPUT_CONTRACTS.md +24 -6
  208. package/docs/SDK.md +82 -3
  209. package/docs/SDK_ACTION_CONFORMANCE.md +21 -0
  210. package/docs/TESTING.md +38 -2
  211. package/docs/agent-task-token-baseline.json +1 -1
  212. package/docs/agent-task-transcripts.json +1 -1
  213. package/marketplace.json +1 -1
  214. package/package.json +1 -1
  215. package/packages/pm-beads/package.json +1 -1
  216. package/packages/pm-calendar/extensions/calendar/index.ts +1 -0
  217. package/packages/pm-calendar/package.json +1 -1
  218. package/packages/pm-command-kit/package.json +1 -1
  219. package/packages/pm-digital-twin/package.json +1 -1
  220. package/packages/pm-governance-audit/package.json +1 -1
  221. package/packages/pm-guide-shell/package.json +1 -1
  222. package/packages/pm-kanban/package.json +1 -1
  223. package/packages/pm-lifecycle-hooks/package.json +1 -1
  224. package/packages/pm-linked-test-adapters/package.json +1 -1
  225. package/packages/pm-search-advanced/package.json +1 -1
  226. package/packages/pm-templates/package.json +1 -1
  227. package/packages/pm-todos/package.json +1 -1
  228. package/packages/pm-vcs/package.json +1 -1
  229. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  230. package/plugins/pm-claude/package.json +1 -1
  231. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  232. package/plugins/pm-codex/package.json +1 -1
  233. package/plugins/pm-codex/plugin.json +1 -1
  234. package/runtime-dependencies.json +1 -1
  235. package/dist/cli-bundle/chunks/chunk-34MP7WKK.js +0 -6
  236. package/dist/cli-bundle/chunks/chunk-3KMYHYJV.js +0 -2
  237. package/dist/cli-bundle/chunks/chunk-42BHHNTL.js +0 -128
  238. package/dist/cli-bundle/chunks/chunk-I5O3XZOA.js +0 -2
  239. package/dist/cli-bundle/chunks/chunk-LEIVUGDH.js +0 -8
  240. package/dist/cli-bundle/chunks/chunk-OH7WPD42.js +0 -114
  241. package/dist/cli-bundle/chunks/chunk-OOD2A7AF.js +0 -20
  242. package/dist/cli-bundle/chunks/chunk-Q5V7P6NM.js +0 -2
  243. package/dist/cli-bundle/chunks/chunk-QLPFYBXN.js +0 -2
  244. package/dist/cli-bundle/chunks/chunk-SA5NYLPE.js +0 -8
  245. package/dist/cli-bundle/chunks/chunk-VHLAVTJN.js +0 -31
  246. package/dist/cli-bundle/chunks/chunk-XAOVJG52.js +0 -3
  247. package/dist/cli-bundle/chunks/chunk-XPQ4RTSF.js +0 -2
  248. package/dist/cli-bundle/chunks/item-transaction-WIOBZW4E.js +0 -2
  249. package/dist/cli-bundle/chunks/register-mutation-5V2NANIS.js +0 -20
  250. package/dist/cli-bundle/chunks/register-operations-XSFRMUFX.js +0 -2
  251. package/dist/cli-bundle/focused-chunks/chunk-2V6NMNYN.js +0 -26
  252. package/dist/cli-bundle/focused-chunks/chunk-ASHGXMX4.js +0 -3
  253. package/dist/cli-bundle/focused-chunks/chunk-CKBN2D42.js +0 -12
  254. package/dist/cli-bundle/focused-chunks/chunk-I642DXOT.js +0 -22
  255. package/dist/cli-bundle/focused-chunks/chunk-K7DKG5HM.js +0 -91
  256. package/dist/cli-bundle/focused-chunks/chunk-NMQBXU7N.js +0 -44
  257. package/dist/cli-bundle/focused-chunks/chunk-PGM3ENGZ.js +0 -2
  258. package/dist/cli-bundle/focused-chunks/chunk-QFNV4JTA.js +0 -6
  259. package/dist/cli-bundle/focused-chunks/chunk-QVJCQMZY.js +0 -26
  260. package/dist/cli-bundle/focused-chunks/chunk-R2TPPPVU.js +0 -2
  261. package/dist/cli-bundle/focused-chunks/chunk-VJVJ2ZX2.js +0 -2
  262. package/dist/cli-bundle/focused-chunks/item-transaction-ZFDKJIP7.js +0 -2
@@ -0,0 +1,20 @@
1
+ import{a as Kr,b as Os}from"./chunk-WFBYKDB2.js";import{$ as vs,Cf as fe,Df as me,Fa as In,Ga as Cn,Ge as Ns,M as To,O as Lo,Sa as Ss,Vc as we,Y as En,ac as As,cb as Rs,da as ks,g as tn,gb as Ts,ib as Je,lb as Re,mb as Te,md as Ls,nb as xs,ob as Ds,pa as Es,pb as ue,qa as Is,qb as Sn,ua as Gr}from"./chunk-E74BORFX.js";import{a as Rn,b as vt}from"./chunk-SPPHDVZE.js";import{Af as gt,Ag as ns,Cf as Qo,Ea as $,Ed as Oo,Fa as rn,Fb as D,Fd as No,Fg as rs,Ga as Eo,H as Or,Hb as Mr,Hi as Cs,Ib as on,Id as Ne,Ie as qe,Jb as C,Jg as fn,Kb as So,Kd as Mo,Lb as ve,Le as Bo,Lh as ls,Ma as M,Me as Ho,Mi as P,Ne as Go,Oe as Ko,Oh as us,Pe as zo,Pg as mn,Ph as Br,Qb as Ro,Qg as de,Qh as yn,Rg as le,Rh as Xe,Sa as Io,Sf as Zo,Sg as is,Tb as ie,Tc as xo,Td as Y,Te as Ve,Tf as es,Tg as os,Ug as ss,Vb as sn,Vd as ln,Vf as $r,Vg as We,Wg as as,Xh as vn,Yb as an,Yh as fs,Yi as Z,Zh as ms,_g as pn,a as E,af as qo,ah as hn,bi as ps,c as re,ce as Fo,ch as gn,di as hs,ee as $o,eg as _t,fb as Ke,gh as _n,gi as gs,he as J,hf as be,ie as R,if as Vo,ii as Ye,je as F,jf as un,ji as _s,ke as ze,ld as L,li as bn,mi as wn,nf as Wo,ni as yt,od as Do,oe as Po,oi as Se,pe as jo,pf as Xo,pi as Hr,qb as H,qe as Uo,qf as Yo,qi as ys,ra as Ge,rf as Fr,rh as cs,ri as kn,sf as Jo,sh as ds,si as Me,tb as Co,ti as Q,ui as bs,vg as ts,vh as Pr,vi as ws,wa as Nr,wd as cn,wh as jr,xa as nn,ya as ko,yd as dn,yh as Ur,zd as Ao}from"./chunk-5WVE7XBS.js";import{A as _,C as g,D as Lr,E as bo,F as He,G as ce,H as ye,K as q,M as wo,y as vo}from"./chunk-WX25MU4N.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]="403706c5-987d-5db1-95d2-b0eaded98e92")}catch{}})();function Ll(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:Ul(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function Fs(e,t,n,r){let i=de("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:ss(t.after,i)}}function Qe(e,t,n){e.get(t).add(n)}function bt(e){return new Map(e.map(t=>[t,new Set]))}function $s(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function Tn(e){if(Array.isArray(e))return e.map(n=>Tn(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?Tn(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,Tn(r)]))}function Ms(e){return JSON.stringify(Tn(e))}function Nl(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 Ml(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||Nl(i,t,n,r);return r}function Fl(e,t){let n=new Set,r=[];for(let i of[...e].reverse()){if(n.has(i))continue;let o=[],s=[i];for(n.add(i);s.length>0;){let a=s.pop();o.push(a);for(let c of t.get(a))n.has(c)||(n.add(c),s.push(c))}r.push(o)}return $s(r)}function Ps(e,t){let n=bt(e);for(let[r,i]of t)for(let o of i)Qe(n,o,r);return Fl(Ml(e,t),n)}function $l(e,t){let n=bt(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";Qe(n,o?r.source:r.target,o?r.target:r.source)}return n}function Pl(e,t){let n=new Map(e.map(o=>[o,0]));for(let o of t.values())for(let s of o)n.set(s,n.get(s)+1);let r=e.filter(o=>n.get(o)===0).sort(),i=[];for(;r.length>0;){i.push(r);let o=[];for(let s of r)for(let a of t.get(s)){let c=n.get(a)-1;n.set(a,c),c===0&&o.push(a)}r=o.sort()}return i}function jl(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 Ul(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function Dn(e,t={}){let n=t.registry??ie(),r=[...e.nodes()],i=$l(e,n),o=Pl(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:Ps(r,i).filter(l=>l.length>1||i.get(l[0]).has(l[0])),d=jl(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 Bl(e,t,n){let r=bt(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))||Qe(r,t==="incoming"?s.target:s.source,t==="incoming"?s.source:s.target)}return{adjacency:r,inspectedEdges:o.length}}function Hl(e,t,n,r,i,o){let s=xn(e,t,{...n,after:void 0,direction:"incoming",limit:void 0}),a=xn(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:le(o,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function Gl(e,t,n){let r=n.direction,i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Fs(t,n,r,i),{adjacency:c,inspectedEdges:d}=Bl(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(v=>!l.seen.has(v))&&(f=!0);continue}for(let v of y)if(Ll(l,v,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:le(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function xn(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return Gl(e,t,{...n,direction:r});let i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Fs(t,n,r,i);return Hl(e,t,n,a,o,s)}function js(e){let t=[...e.nodes()],n=bt(t),r=bt(t);for(let c of e.edges())Qe(n,c.source,c.target),Qe(n,c.target,c.source),Qe(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:$s(i),stronglyConnected:Ps(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]="a319e7d9-e248-573b-bf1f-35217ce49fd0")}catch{}})();function xe(e,t){return(t===void 0?void 0:Eo(e,t))?.execution_role??ko[e.trim().toLowerCase()]??"agent"}var qr="blocked_by",Us="blocks",Kl=Object.freeze([qr,Us]),zr="no-active-blocker";function A(e){return e.trim().toLowerCase()}function An(e,t){return t?`external:${e}`:`local:${A(e)}`}function Fe(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&A(n)!==zr){let r=fe(n);t.set(An(n,r),r?n:A(n))}for(let r of e.dependencies??[]){let i=typeof r.id=="string"?r.id.trim():"";if(sn(r.kind)===qr&&i.length>0&&A(i)!==zr){let o=fe(i)||me(r.source_kind);t.set(An(i,o),o?i:A(i))}}return[...t.values()].sort((r,i)=>r.localeCompare(i))}function On(e){let t=new Map;for(let n of e){let r=A(n.id);r.length!==0&&t.set(r,new Set(Fe(n)))}for(let n of e){let r=A(n.id);if(r.length!==0)for(let i of n.dependencies??[]){let o=sn(i.kind)===Us&&typeof i.id=="string"?A(i.id):"";if(o.length===0||o===zr)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 Bs(e,t){let n=A(e.id);return n.length>0?On(t).get(n)??Fe(e):Fe(e)}function Vr(e,t,n,r){let i=e,o=typeof i.id=="string"?r?.get(A(i.id))??Bs(i,[...t.values()]):Fe(e),s=new Set((e.dependencies??[]).filter(a=>sn(a.kind)===qr&&me(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>An(a.id.trim(),!0)));return o.map(a=>{if(fe(a)||s.has(An(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:F(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Ln(e,t,n){return Vr(e,t,n)}function wt(e,t){let n=new Map(e.map(s=>[A(s.id),s])),r=On(e),i=new Set([...Hs(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)||Vr(s,n,t,r).some(c=>!c.resolved))&&o.add(A(s.id))}return o}function Wr(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=xe(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 Hs(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function zl(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(!F(s.status,n))return!0;r.push(A(s.id))}}}return!1}function ql(e){let t=new Map,n=new Map,r=new Map,i=On(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 kt(e,t,n,r){let{itemsById:i,childrenByParent:o,blockedByReverse:s,blockerIdsByItem:a}=ql(t),c=new Set([...Hs(n),...n.blocked_statuses]),d=new Set(t.filter(y=>!F(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 v=Vr(y,i,n,a).filter(S=>!S.resolved),b=(s.get(A(y.id))??[]).filter(S=>d.has(A(S))).sort((S,x)=>S.localeCompare(x)),w={item:y,open_blockers:v,unblocks:b};if(zl(y.id,o,n)){f.push(w);continue}let k=n.blocked_statuses.has(R(y.status,n));if(v.length===0&&!k){let S=xe(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 oe(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 g(`${t} must be a non-negative integer`,_.USAGE);return r}function Nn(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 g(`${t} filter must be 0..4`,_.USAGE);return r}function Gs(e,t,n="--type"){if(e===void 0)return;let r=rn(e,t);if(!r)throw new g(`${n} filter must be one of ${t.types.join("|")}`,_.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 Xr(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 g(`${t.label} requires at least one non-empty value`,_.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function Et(e,t){let n=Xr(e,t);return n===void 0?void 0:new Set(n)}function Ks(e,t,n="--type"){let r=Xr(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=rn(o,t);if(!s)throw new g(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,_.USAGE);return s});return new Set(i)}function zs(e,t="--priority"){let n=Xr(e,{label:t});if(n!==void 0)return new Set(n.map(r=>Nn(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 Vl="global",vw="external",Wl=["open","closed","unknown"],It=new Map,Xl=240,Yl=2048;function qs(e,t,n){return(e?.trim()||t).slice(0,n)}function Jl(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 bw(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(It.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 It.set(t,n),()=>{It.get(t)===n&&It.delete(t)}}async function ww(e,t={}){let n=e.trim();if(!fe(n))return null;let r=[...It.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"||!Jl(s.value))continue;let a=r[o],c=s.value,d=Wl.includes(c.status)?c.status:"unknown",l=qs(c.title,"",Xl),u=qs(c.source,n,Yl),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 kw(e){let t=e?.trim();if(t)return me(t)?Vl:t}function Ew(e,t,n){return Ql(e,t,n)}function Ql(e,t,n){let r=e.trim();return me(n)||fe(r)?r:ks(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 G(){let e=ie();for(let t of L()?.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 Ct(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Mn(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Zl(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 eu(e,t){let n=[...e].sort(),r=Zl(n,t),i=new Set,o=tu(n,t),s=[];for(let a of r.reverse()){if(i.has(a))continue;let c=nu(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 tu(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 nu(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 Vs(e){let t=new Map;for(let n of e){let r=Ct(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function ru(e,t,n){let r=Ct(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 iu(e,t,n,r){let i=Ct(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 Ws(e,t){let n=new Map;for(let[r,i]of e){let o=ru(r,i,e);o&&n.set(Mn(o),o);for(let s of i.dependencies??[]){let a=iu(r,s,e,t);a&&n.set(Mn(a),a)}}return[...n.values()].sort((r,i)=>Mn(r).localeCompare(Mn(i)))}function Xs(e,t=G()){return Ws(Vs(e),t)}function ou(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 su(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=Ct(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 Fn(e,t=r=>r==="closed"||r==="canceled",n=G()){let r=Vs(e),i=Ws(r,n),o=Jr(i),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=eu([...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:ou(i,o.parents_by_child,s),divergences:su(r,i,s)}}function Aw(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 Jr(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 Yr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Ow(e,t,n,r,i){let o=Ct(n);if(!o)return;let s=Fn(e,r,i),a=Fn(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&&Yr(u.dependency_parent_ids,f.dependency_parent_ids)));if(c){let u=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new g(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${u.join(", ")}.`,_.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&&Yr(u.parent_ids,f.parent_ids)));if(d)throw new g(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,_.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=>Yr(u.item_ids,f.item_ids)));if(l)throw new g(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,_.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 et(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function St(e){let t=et(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Rt(e,t,n=!0){let r=et(e);return n&&(me(t)||r!==void 0&&fe(r))}function Qr(e,t){return Rt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ys(e,t,n,r){return Rt(e,t)?r.get(e):n.get(e.toLowerCase())}function Ze(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function au(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,i=et(r.id);if(!i)continue;let o=typeof r.kind=="string"?r.kind:"related",s=`${o}\0${Qr(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 cu(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 au(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=Ze(r.holder_id,i.holder_id);if(o!==0)return o;let s=Ze(r.target_id,i.target_id);return s!==0?s:Ze(r.kind,i.kind)})}function du(e,t,n,r,i){if(typeof n!="object"||n===null)return;let o=et(n.id);if(!o||Qr(o,n.source_kind)!==Qr(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 lu(e,t=r=>r==="closed"||r==="canceled",n=G()){let r=new Map;for(let i of e){if(typeof i?.id!="string"||i.id.trim().length===0)continue;let o=et(i.blocked_by);if(o)for(let s of i.dependencies??[]){let a=du(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=Ze(i.holder_id,o.holder_id);if(s!==0)return s;let a=Ze(i.target_id,o.target_id);return a!==0?a:Ze(i.dependency_kind,o.dependency_kind)})}function Zr(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=et(d);if(!p||r.has(p.toLowerCase())||Rt(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 uu(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 fu(e){let t=new Map;for(let n of e){let r=St(n.blocked_by);r&&Rt(r)&&!t.has(r)&&t.set(r,r);for(let i of n.dependencies??[]){if(typeof i!="object"||i===null||!Rt(i.id,i.source_kind))continue;let o=St(i.id);o&&!t.has(o)&&t.set(o,o)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Js=new WeakMap;function $n(e){return e.hierarchyIntegrity??Js.get(e)}function mu(e,t=G()){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 Tt(e,t,n){let r=n??G(),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=Zr(i,t),a=uu(s);for(let m of a)o.set(m.toLowerCase(),m);let c=fu(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=St(m.parent),y=St(m.blocked_by),v=(m.dependencies??[]).flatMap(b=>{if(typeof b!="object"||b===null)return[];let w=b,k=St(w.id);return k?[{id:Ys(k,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:Ys(y,void 0,o,l)}:{},dependencies:v}}),f=Fn(i,t,r),p={graph:an.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:cu(i,t),orderingContradictions:lu(i,t,r),legacyAliasCounts:mu(i,r),hierarchyIntegrity:f};return Js.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]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function Qs(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function na(e){return{isTerminal(t){return e.terminal_statuses.has(Qs(t,e))},classify(t){let n=Qs(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 ei(e){return H(e.acceptance_criteria)===void 0}function ti(e){return!Number.isFinite(e.estimated_minutes)}function ra(e,t){return t.isTerminal(e.status)?H(e.resolution)===void 0:!1}function pu(e){return H(e.reviewer)===void 0}function hu(e){return H(e.risk)===void 0}function gu(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):H(e.confidence)===void 0}function _u(e){return H(e.sprint)===void 0}function yu(e){return H(e.release)===void 0}function ni(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function vu(e,t,n){return[[t.acMissing,ei(e)],[t.estimatesMissing,ti(e)],[t.resolutionMissing,ra(e,n)],[t.reviewerMissing,pu(e)],[t.riskMissing,hu(e)],[t.confidenceMissing,gu(e)],[t.sprintMissing,_u(e)],[t.releaseMissing,yu(e)]].every(([r,i])=>r!==!0||i)}function bu(e,t){return ei(e)||ti(e)||ra(e,t)}function ia(e,t,n){return ni(t)?!(!vu(e,t,n)||t.metadataMissing&&!bu(e,n)):!0}var ri=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function wu(e,t){switch(t){case"acceptance_criteria":return!ei(e);case"estimated_minutes":return!ti(e);case"resolution":return H(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return H(e.parent)!==void 0}}function ku(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Eu(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Zs(){let e={};for(let t of ri)e[t]={present:0,applicable:0,percent:100};return e}function ea(e,t,n){for(let r of ri){if(!ku(t,r,n))continue;let i=e[r];i.applicable+=1,wu(t,r)&&(i.present+=1)}}function ta(e){for(let t of ri){let n=e[t];n.percent=Eu(n.present,n.applicable)}}function Bw(e,t){let n=Zs(),r={};for(let i of e){ea(n,i,t);let o=r[i.type]??(r[i.type]=Zs());ea(o,i,t)}ta(n);for(let i of Object.values(r))ta(i);return{overall:n,by_type:r}}var Iu={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Cu(e){return Iu[e]}function Su(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Ru(e,t,n){switch(t){case"assignee":return[H(e.assignee)??null];case"parent":return[H(e.parent)??null];case"type":return[H(e.type)??null];case"status":return[H(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 Hw(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 Ru(a,t,r)){let l=d??"\0empty",u=i.get(l);u||(u={label:d??Cu(t),key:d,buckets:Su(),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 tt=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function $e(e){return Array.isArray(e)&&e.length>0}function Tu(e){return typeof e=="string"&&e.trim().length>0}function xu(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 sa(e,t){switch(t){case"notes":return $e(e.notes);case"learnings":return $e(e.learnings);case"files":return $e(e.files);case"docs":return $e(e.docs);case"tests":return $e(e.tests);case"comments":return $e(e.comments);case"deps":return $e(e.dependencies);case"body":return Tu(e.body);case"linked_command":return xu(e.tests)}}function aa(e){return tt.some(t=>e[t]!==void 0)}function ca(e,t){for(let n of tt){let r=t[n];if(r===void 0)continue;let i=sa(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function da(e){return tt.some(t=>t!=="body"&&e[t]!==void 0)}function la(e){return e.body!==void 0}function oa(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Du(){let e={};for(let t of tt)e[t]={present:0,total:0,percent:100};return e}function Kw(e){let t=Du(),n=e.length;for(let s of e)for(let a of tt)sa(s,a)&&(t[a].present+=1);for(let s of tt)t[s].total=n,t[s].percent=oa(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:oa(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]="084aad9c-485f-5bdc-8da7-225c9c4f695c")}catch{}})();var Au=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}),ua=[{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"}],_a=e=>{let t=ua.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new g(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,_.USAGE);return Object.fromEntries(ua.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},fa=["priority","deadline","updated_at","created_at","title","parent"],ma=["asc","desc"],ya=new Set(Ts);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 g(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,_.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 Lu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Nu=[{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"}],Mu=[{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 va(e,t){for(let n of Nu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function ba(e,t){for(let n of Mu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Fu(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 $u(e){let t={};return va(t,e),t}function Pu(e){let t={};return ba(t,e),t}var ju=[{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"}],Uu=[{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"}],Bu=[{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"),Fu(c,n,ju),ka(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),ba(c,n),va(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),Lu(a)&&(c.runtime_filters=a),c}function wa(e,t,n){let r=F(e.status,n),i=F(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 Ku(e,t){return[...e].sort((n,r)=>wa(n,r,t))}function pa(e,t){if(e!==void 0)return ve(e,new Date,t)}function xt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return ve(n,new Date,t)}function zu(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 g("Choose only one updated_at window: --today, --recent, or --updated-after.",_.USAGE);if(e.today===!0){let n=new Date;return n.setHours(0,0,0,0),n.toISOString()}return e.recent===!0?xt(Hu,"recent"):xt(e.updatedAfter,"updated-after")}function ka(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function qu(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new g("--ids requires at least one non-empty item ID",_.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new g("--ids requires at least one non-empty item ID",_.USAGE);return new Set(n)}function Ea(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 g("Offset filter must be a non-negative integer",_.USAGE);return n}function Vu(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 g("List --fields requires a comma-separated list of field names",_.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=Vu(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new g("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",_.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});if(i)return{mode:"full",fields:[]};if(r){let s=Ia(e.sort);return{mode:"brief",fields:[...new Set([...jr,s??"priority"])]}}return n?{mode:"compact",fields:[...Pr]}:o?{mode:"fields",fields:[...new Set(o.map(s=>Pe(s)))]}:{mode:"full",fields:[]}}function Pe(e){return e.startsWith("item.")?e.slice(5):e}function Xu(e,t,n){if(e.mode!=="fields")return;let r=Ur(t),i=new Set(r.map(s=>Pe(s))),o=e.fields.filter(s=>!i.has(Pe(s)));if(o.length>0){let s=[n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new g(`Unknown list --fields value(s): ${o.join(", ")}`,_.USAGE,{code:"unknown_field_projection",examples:["pm list --status open --fields id,title,status","pm list --fields id,title,parent,priority --limit 10","pm list --all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:Ke(s),suggested_retry_args:s}})}}var Yu=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Ia(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Yu.get(t);if(n)return n;if(!fa.includes(t))throw new g(`Sort field must be one of ${fa.join("|")} (aliases: updated->updated_at, created->created_at)`,_.USAGE);return t}function Ju(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!ma.includes(t))throw new g(`Sort order must be one of ${ma.join("|")}`,_.USAGE);return t}function Qu(e){return oe(e,"--tree-depth")}function Zu(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new g("Assignee filter must be one of assigned|unassigned",_.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new g(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,_.USAGE);return t}function ha(e,t){return Is(e,t,{strict:!0})}function Ca(e){return Et(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function ef(e,t,n){let r=Ca(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 tf(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new g('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',_.USAGE);if(e!==void 0&&t==="unassigned")throw new g("Cannot combine --assignee with --assignee-filter unassigned",_.USAGE)}function nf(e,t,n,r){let i=Et(t.assignee,{label:"--assignee"}),o=Zu(t.assigneeFilter);tf(i,o);let s=Au(t),a=_a(t);return{idsFilter:qu(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ks(t.type,n),tagFilters:Ca(t.tag),priorityFilter:zs(t.priority),deadlineBefore:pa(t.deadlineBefore,"deadline-before"),deadlineAfter:pa(t.deadlineAfter,"deadline-after"),updatedAfter:zu(t),updatedBefore:xt(t.updatedBefore,"updated-before"),createdAfter:xt(t.createdAfter,"created-after"),createdBefore:xt(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Et(t.sprint,{label:"--sprint"}),releaseFilter:Et(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:ni(s),lifecycleClassifier:na(r),contentFieldFilters:a,contentFiltersActive:aa(a)}}function rf(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&F(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 of(e,t){return So(e,t)}function sf(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 af(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 cf(e,t,n,r,i){return!(!rf(e,t,n)||!of(e,t)||!sf(e,t)||!af(e,t,i)||t.missingMetadataActive&&!ia(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!ca(e,t.contentFieldFilters)||!Cn(e,r))}function df(e,t,n,r,i,o,s){let a=nf(t,n,r,i);return e.filter(c=>cf(c,a,i,o,s))}function Dt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ga(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??Dt(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 lf(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)??[]:[Dt(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 uf(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[Dt(o.parent)?.toLowerCase()].filter(s=>s!==void 0)).every(s=>!n.has(s)))}function ff(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=lf(e,r),a=uf(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(ga(f,p,y.length,m)),!(n!==void 0&&p>=n))for(let v of[...y].reverse())u.push({node:v,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(ga(f,0,s.get(p)?.length??0)))}return c}function mf(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function pf(e,t){return e===t?0:e===null?1:t===null?-1:C(e,t)}function hf(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return pf(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 mf(e.parent??null,t.parent??null);default:return 0}}function gf(e,t,n,r){return t?[...e].sort((i,o)=>{let s=hf(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=wa(i,o,r);return n==="desc"?-a:a}):Ku(e,r)}function _f(e,t,n=!1){let r=Pe(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 Sa(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=_f(r,o,n);return i})}function yf(e){let t=[];for(let n of e)t.push(n.metadata_key);return[...t,...Lo(L())]}function vf(e,t){let n=oe(e.limit);if(n!==void 0)return n;if(e.noTruncate!==!0)return t>=1e4?20:void 0}function bf(e,t,n){return t.after===void 0?Ea(t.offset)??0:We(e,t.after,n,r=>r.id)}function Ra(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function wf(e,t){let n=M(process.cwd(),t.path);await Z(n);let r=await P(n),i=Y(r.schema),o=ln(r.schema),s=e.projectionCommand??"list",a=Wu(e,s);return Xu(a,yf(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:In(e,o,"list"),typeRegistry:$(r,L()),projection:a}}async function kf(e,t,n){let r=t.projection.fields.some(c=>Pe(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>ya.has(Pe(c))),o=_a(e),s=da(o),a=la(o);return e.includeBody||r||a?await Sn(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await Ds(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 Ef(e){let t=Ia(e.sort),n=Ju(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new g("List --tree-depth requires --tree",_.USAGE);if(!t&&e.order!==void 0)throw new g("List --order requires --sort",_.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Qu(e.treeDepth):void 0,parentRoot:r?Dt(e.parent):void 0}}function If(e,t,n){let r=ha(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??ha(e,n),s=Es(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 Cf(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new g("List --after cannot be combined with --offset.",_.USAGE);let o=vf(t,e.length),s=bf(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=Sa(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?le(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Ra(o,l,u)}}function Ta(e,t,n,r){return de("list",{pmRoot:r,status:e,options:mn(t,Ls),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function Sf(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=Pe(p);return m==="body"||ya.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,Ao(),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 Je(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!a)return null;let c=oe(t.limit),d=Ea(t.offset)??0,l=await Rs({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?le(Ta(r.filtersStatus,t,i,n.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:Sa(l.items,n.projection,!1),totalMatched:l.total,pageExtras:Ra(c,u,f)}}function Rf(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 Uu){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of Bu)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Pu(n),$u(n)),ka(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 nt(e,t,n){let r=await wf(t,n),i=[],o=Ef(t),s=If(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await Sf({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let m=await kf(t,r,i),h=o.treeEnabled||Dt(t.parent)!==void 0?Jr(Xs(m,G())):void 0;ef(m,t.tag,i);let y=df(m,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,h?.parents_by_child),v=t.dependencyBlocked===!0?(()=>{let k=wt(m,r.statusRegistry);return y.filter(S=>k.has(S.id.trim().toLowerCase()))})():y,b=gf(v,o.sortField,o.sortOrder,r.statusRegistry),w=o.treeEnabled?ff(b,o.parentRoot,o.treeDepth,h,m):b;d=Cf(w,t,r.projection,o.treeEnabled,Ta(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:Rf({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",...o.sortField===void 0&&!o.treeEnabled?{effective_keys:[["status_registry:nonterminal_before_terminal","asc"],["priority","asc"],["updated_at","desc"],["id","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 xf=64,Df=8;function Af(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 Pn(e,t=r=>r==="closed"||r==="canceled",n=ie()){let r=e.filter(o=>typeof o?.id=="string"&&o.id.trim().length>0).map(o=>Af(o,t)).sort(),i=n.list().map(o=>E(o)).sort();return Tf("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function xa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var ii=class{#e=new Map;#t;#n;constructor(t={}){this.#t=xa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,xf),this.#n=xa("maxWorkspaces",t.maxWorkspaces,Df)}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()}},Da=new ii;function jn(){return Da}function R0(){Da.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]="3b494263-6359-57e9-8f34-b0bdcdeda93f")}catch{}})();var Ot=1200,Of=["prerequisite","dependent","ancestor","descendant","provenance","related"],Lf=new TextEncoder;function oi(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 At(e){return Math.max(1,Math.ceil(Lf.encode(JSON.stringify(e)).byteLength/4))}function Un(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 Nf(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>Un(o,n,r));return[...new Set(i)].sort()}function Mf(e){return Of.find(t=>e.includes(t))}function Ff(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:Un(h,m,n)};c.push(y),a.push(y)}}return{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function $f(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[Un(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function Pf(e,t,n,r){let i=new Set;for(let o of t){let s=o.source===n?o.target:o.source,a=Un(o,s,r);(a==="prerequisite"||a==="ancestor")&&i.add(s)}return[...e].sort((o,s)=>Number(i.has(s.id))-Number(i.has(o.id))||o.distance-s.distance||o.id.localeCompare(s.id))}function jf(e,t){let n=e.distance===1?Nf(t.rootEdges,t.rootId,e.id,t.registry):[];return{...t.details.get(e.id)??{id:e.id},distance:e.distance,role:n.length>0?Mf(n):e.role,via:e.via,reasons:n.length>0?n:[`${e.role} via ${e.via} (depth ${e.distance})`]}}function Uf(e){let t=[],n=e.initialTokens,r=0;for(let i of e.candidates){if(t.length>=e.nodeLimit)break;let o=jf(i,e),s=At(o);if(n+s>e.tokenBudget)break;let a=e.rootEdges.filter(c=>c.source===i.id||c.target===i.id).reduce((c,d)=>c+At(d),0);if(n+r+s+a>e.tokenBudget){if(t.length>0)break}else r+=a;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 Bf(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)}).sort((o,s)=>+(s.source===e.rootId||s.target===e.rootId)-+(o.source===e.rootId||o.target===e.rootId)),r=[],i=e.initialTokens;for(let o of n){if(r.length>=e.edgeLimit)break;let s=At(o);i+s>e.tokenBudget||(r.push(o),i+=s)}return{edges:r,usedTokens:i,candidateCount:n.length}}function Aa(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=oi(r.nodeLimit,20,"nodeLimit"),o=oi(r.edgeLimit,40,"edgeLimit"),s=oi(r.tokenBudget,Ot,"tokenBudget"),a=r.registry??ie(),c=new Map(n.map(B=>[B.id,B])),d=c.get(t)??{id:t},{evidence:l=[],...u}=d,f=[...l],p=Ff(e,t,a,r),{rootEdges:m,...h}=$f(e,t,a,r),y=Pf(p.rows,m,t,a),v=de("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3,ordering:"required-root-evidence-first-v1"}),b=We(y,r.cursor,v,({id:B})=>B,"--cursor"),w=y.slice(b),k=At(u)+At(f);if(k>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let S=Uf({candidates:w,details:c,rootEdges:m,rootId:t,registry:a,nodeLimit:i,tokenBudget:s,initialTokens:k}),{nodes:x}=S,U=new Set([t,...x.map(({id:B})=>B)]),N=Bf({graph:e,rootId:t,included:U,options:r,registry:a,edgeLimit:o,tokenBudget:s,initialTokens:S.usedTokens}),{edges:V,usedTokens:j}=N,W=b+x.length,te=W<y.length,_e=x.at(-1),X=N.candidateCount-V.length,ne=p.depthTruncated||te||X>0,Ie={rootId:t,...u.status===void 0?{}:{rootStatus:u.status},...h,discoveredNodes:y.length,returnedNodes:x.length,returnedEdges:V.length,omittedNodes:y.length-W,omittedEdges:X,evidenceCount:f.length,hasMore:te};return{root:u,summary:Ie,nodes:x,edges:V,evidence:f,meta:{exact:!0,truncated:ne,completeness:ne?"truncated":"complete",nodeLimit:i,edgeLimit:o,tokenBudget:s,usedTokens:j,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:y.length-W,omittedEdges:X,...te&&_e?{nextCursor:le(v,_e.id,W-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]="196b7f2d-b09b-5432-b4ef-9cdf82e92731")}catch{}})();var Hf=["tree","graph","context"],Gf=["none","repeated"],Kf=["outgoing","incoming","both"],zf=32,qf=200,Vf=400,Wf=16e3;function Xf(e){let t=e?.trim().toLowerCase()??"tree";if(Hf.includes(t))return t;throw new g(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,_.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 g(`Invalid --${t} value "${e}". Use a positive integer.`,_.USAGE);return n}function Bn(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new g(`Invalid --max-depth value "${e}". Use a non-negative integer.`,_.USAGE);return t}function Yf(e){let t=e?.trim().toLowerCase()??"none";if(Gf.includes(t))return t;throw new g(`Invalid --collapse value "${e}". Use "none" or "repeated".`,_.USAGE)}function ai(e){let t=e?.trim().toLowerCase()??"both";if(Kf.includes(t))return t;throw new g(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,_.USAGE)}function ci(e,t=ie()){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 g(`Invalid --kind value "${i}". Registered kinds: ${s}.`,_.USAGE)}r.add(o.kind)}return[...r].sort()}function Jf(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 Qf(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Jf(e.dependencies)}}function Zf(e){return _t(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function em(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(La(d.id,n,r,i,o,s,a,c+1,d.kind))}}function tm(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 La(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+=Zf(u),tm(u,l,d,r,i,o,s,a))return u;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),em(u,l,t,f,r,i,o,s,a),u}function Oa(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 nm(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Oa(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,Oa(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 Na(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 rm(e,t=ie()){let n=Bn(e.maxDepth),r=pe(e.nodeLimit,"node-limit"),i=pe(e.edgeLimit,"edge-limit"),o=pe(e.tokenBudget,"token-budget"),s=ci(e.kind,t);return{direction:ai(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 im(e,t,n,r){return Aa(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function si(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function om(e,t,n,r){let i=await Re(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 si(u,"file",a.map(f=>f.path),3),si(u,"test",c.map(f=>f.command??f.path),2),si(u,"doc",d.map(f=>f.path),2),u}function sm(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 am(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){let n=Do(),r=t.commandOptionsOverride??(n?.command==="deps"?n.options:t.commandOptions);return cs("deps",{...r,...t.global,resolvedOutputFormat:t.format},e)}function di(e,t){let n=Ma(e,t),r=i=>ls(i,t.format,t.global.lean===!0);return r(t.global.tokenAccounting===!0?ds(n,r):n)}function Fa(e,t,n){let r;for(;;){let i=_t(new TextEncoder().encode(di(e,t)).byteLength);if(i===r)return i;n(i),r=i}}function $a(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Pa(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:i,summaryOnly:o,rendering:s,missingCount:a,missingReferences:c}=e,d=r.edgeLimit??40,l=Math.min(d,c.length),u=r.tokenBudget,f;for(;;){let p=im(t,n,{...r,...u===void 0?{}:{tokenBudget:u}},i);f??=p.meta.tokenBudget,u??=f;let m=sm({canonicalId:n,context:p,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:o});if(o){if(_t(new TextEncoder().encode(di(De(m,!0,s.legacyAliasCounts),s)).byteLength)>f)throw new TypeError("Relationship context tokenBudget cannot fit the rendered summary");return m}if(p.meta.tokenBudget=f,p.meta.usedTokens=Fa(De(m,!1,s.legacyAliasCounts),s,v=>{p.meta.usedTokens=v}),p.meta.usedTokens<=f)return m;if(l>0){l-=1;continue}let h=u,y=h*f/p.meta.usedTokens;u=Math.min(h-1,Math.max(1,Math.floor(y*.9)))}}function ja(e,t){let n=e.contextOptions,r={...e.rendering.global,outputFormat:e.rendering.format},i=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","context","--output-format",e.rendering.format,"--token-budget"],o=i.length;i.push(String(t));let s=new Set(["--pm-path","--format","--output-format","--token-budget"]),a={format:"context",tokenBudget:t,kind:n.kinds},c=[["--max-depth","maxDepth",n.maxDepth],["--node-limit","nodeLimit",n.nodeLimit],["--edge-limit","edgeLimit",n.edgeLimit],["--direction","direction",n.direction],["--cursor","cursor",n.cursor],["--output-include","outputInclude",r.outputInclude],["--output-limit","outputLimit",r.outputLimit],["--output-budget","outputBudget",r.outputBudget],["--output-session","outputSession",r.outputSession],["--output-cursor","outputCursor",r.outputCursor]];for(let[u,f,p]of c)p!==void 0&&(i.push(u,String(p)),s.add(u),a[f]=p);for(let u of n.kinds??[])i.push("--kind",u),s.add("--kind");let d=[["--summary","summary",e.summaryOnly],["--full","full",e.rendering.commandOptions.full],["--json","json",r.json],["--lean","lean",r.lean],["--output-row-contract","outputRowContract",r.outputRowContract],["--token-accounting","tokenAccounting",r.tokenAccounting],["--no-extensions","noExtensions",r.noExtensions],["--no-pager","noPager",r.noPager]];for(let[u,f,p]of d)p===!0&&(i.push(u),s.add(u),a[f]=!0);let l=ns.find(u=>u.command==="deps");return Reflect.set(a,ts,{canonical_include_modes:[],cli_invocation_observed:!0,explicit_legacy_aliases:Object.values(l.dimensions).flatMap(u=>u.legacy_aliases.flatMap(f=>s.has(f.flag)?[f.flag]:[]))}),rs("deps",a),gt(a.summary===!0,a.full===!0,"--summary"),r.outputInclude=a.outputInclude,{args:i,budgetIndex:o,summaryOnly:a.summary===!0,rendering:{...e.rendering,global:r,commandOptionsOverride:a}}}function cm(e,t,n){let r={...t.rendering,commandOptionsOverride:{...t.rendering.commandOptionsOverride,tokenBudget:n}},i;try{i=Pa({...e,contextOptions:{...e.contextOptions,tokenBudget:n},summaryOnly:t.summaryOnly,rootEvidence:t.summaryOnly?[]:e.rootEvidence,rendering:r})}catch(s){if(!$a(s))throw s;return"native_floor"}let o=Ma(De(i,t.summaryOnly,r.legacyAliasCounts),r);return fn(o)?"output_constraints":"fits"}async function dm(e,t){let n=e.contextOptions.tokenBudget??Ot,r=ja(e,n),i=(r.summaryOnly?1:1+Math.min(e.contextOptions.edgeLimit??40,e.missingReferences.length))*(e.assembly.details.reduce((u,f)=>u+f.id.length+f.title.length+f.status.length+(f.type?.length??0),e.assembly.graph.edges().length+e.missingReferences.length)+(r.summaryOnly?[]:e.rootEvidence).reduce((u,f)=>u+f.length,0)),{findContextBudgetRecovery:o}=await import("./context-budget-recovery-L2WP5S26.js"),s=o({requested:n,initialBudget:Ot,workUnits:i,probe:u=>cm(e,r,u)}),a=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","tree","--summary"],c=Ke(a),d=s.feasible_tokens===null?a:[...r.args];s.feasible_tokens!==null&&(d[r.budgetIndex]=String(s.feasible_tokens));let l=Ke(d);return As("Relationship context tokenBudget cannot fit the required rendered packet",{exitCode:_.USAGE,cause:t,context:{code:"invalid_argument_value",field:"tokenBudget",value:String(n),required:s.feasible_tokens===null?"Inspect the compact summary and review the output constraints.":"Retry the preserved context query with --token-budget "+s.feasible_tokens+".",why:"Budget advice is verified against the current query. A minimum is reported only after every smaller positive budget is checked.",examples:[l,c],nextSteps:[l],recovery:{recovery_mode:"compact",suggested_flags:["--token-budget"],token_budget:s,suggested_retry_args:d,suggested_retry:l,next_best_command:c,fallback_candidates:[{source:"relationship_summary",command:c,reason:"Inspect bounded counts separately from context rows."}]}}})}async function lm(e){let{pmRoot:t,assembly:n,canonicalId:r,options:i,rootEvidence:o,summaryOnly:s,rendering:a}=e,c=rm(i,n.graph.registry()),d=n.graph.closure(r,{direction:c.direction,...c.kinds===void 0?{}:{kinds:c.kinds},maxDepth:c.maxDepth??3}),l=d.value.filter(v=>n.missingIdSet.has(v.toLowerCase())),u=new Set(l.map(v=>v.toLowerCase())),f=n.graph.registry(),p=c.kinds?new Set(c.kinds.map(v=>f.require(v).kind)):void 0,m=new Set([r,...d.value]),h=[...n.dangling.active,...n.dangling.legacy_terminal].filter(v=>am({row:v,missingReachableSet:u,packetIds:m,filteredKinds:p,registry:f})),y={pmRoot:t,assembly:n,canonicalId:r,contextOptions:c,rootEvidence:o,summaryOnly:s,rendering:a,missingCount:l.length,missingReferences:h};try{return Pa(y)}catch(v){if(v instanceof g&&v.code==="invalid_query_cursor"){let b=ja({...y,contextOptions:{...c,cursor:void 0},rendering:{...a,global:{...a.global,outputCursor:void 0}}},c.tokenBudget??Ot),w=Ke(b.args);throw new g(v.message,v.exitCode,{...v.context,nextSteps:[...v.context.nextSteps,w],recovery:{suggested_retry:w,suggested_retry_args:b.args}})}throw $a(v)?await dm(y,v):v}}function um(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 fm(e,t,n,r,i,o,s){let a=i??zf,c=pe(n.nodeLimit,"node-limit")??qf,d=pe(n.edgeLimit,"edge-limit")??Vf,l=pe(n.tokenBudget,"token-budget")??Wf,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=La(e,r,new Set,a,t==="graph"?"repeated":o,new Set,u),p=Na(e,r,void 0),m;for(;;){let h=nm(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)},v={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"?{...v,tree:f}:{...v,graph:h},(m.truncation===void 0?_t(new TextEncoder().encode(di(De(m,!1,s.legacyAliasCounts),s)).byteLength):Fa(De(m,!1,s.legacyAliasCounts),s,b=>{m.truncation.estimated_tokens=b}))<=l)return m;if(!um(f))return u.reasons.add("token_budget"),m;u.reasons.add("token_budget")}}function De(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"},i=e.context?.meta.truncated?[{name:"relationship_context_bounds",restore_with:"--token-budget <n> --node-limit <n> --edge-limit <n> --max-depth <n>"}]:[];return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r,...i],included_field_groups:t?[]:[r.name]}}}async function tk(e,t,n){let r=M(process.cwd(),n.path);await Z(r);let i=Xf(t.format),o=Bn(t.maxDepth),s=Yf(t.collapse);gt(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await P(r),d=$(c,L()),l=await ue(r,c.item_format,d.type_to_folder,void 0,c.schema),u=Y(c.schema),f=new Map(l.map(y=>[y.id.trim().toLowerCase(),Qf(y)])),p=Zr(l,y=>F(y,u));for(let y of[...p.active,...p.legacy_terminal]){let v=f.get(y.holder_id.trim().toLowerCase()),b=y.kind.trim().toLowerCase();v&&!v.dependencies.some(w=>w.id.trim().toLowerCase()===y.target_id.trim().toLowerCase()&&w.kind===b)&&v.dependencies.push({id:y.target_id,kind:b})}if(!f.has(e.trim().toLowerCase()))throw new g(`Item ${e} not found`,_.NOT_FOUND);let m=n.outputFormat??(n.json===!0||n.json===void 0&&n.defaultOutputFormat==="json"?"json":"toon");if(i==="context"){let y=f.get(e.trim().toLowerCase()).id,v=a?[]:await om(r,y,c,d.type_to_folder),b=S=>F(S,u),w=G(),k=jn().lookup(r,Pn(l,b,w),()=>Tt(l,b,w));return De(await lm({pmRoot:r,assembly:k.assembly,canonicalId:y,options:t,rootEvidence:v,summaryOnly:a,rendering:{format:m,global:n,commandOptions:t,legacyAliasCounts:k.assembly.legacyAliasCounts}}),a,k.assembly.legacyAliasCounts)}let h=Object.fromEntries(Object.entries(Tt(l,y=>F(y,u)).legacyAliasCounts));return a?De({id:e,format:i,...Na(e,f,o)},!0,h):De(fm(e,i,t,f,o,s,{format:m,global:n,commandOptions:t,legacyAliasCounts:h}),!1,h)}(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 mm=we.paths,pm=we.visited_paths,hm=we.path_depth;function li(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function Hn(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function Lt(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function rt(e,t){let n=Lt(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function gm(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 _m(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 ym(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 Gn(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=gm(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=_m(e,p.id,o,r,i);if(u+=m.inspectedEdges,ym(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 Ua(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Ba(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 vm(e,t,n,r,i,o,s){for(let a of Ba(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 Ha(e,t,n={}){return Gn(e,t,n,"hierarchy",(r,i)=>Hn(r.edge,i)===r.id)}function Ga(e,t,n={}){return Gn(e,t,n,"hierarchy",(r,i,o)=>Hn(r.edge,i)===o)}function Ka(e,t,n={}){return Gn(e,t,n,"ordering",(r,i)=>Lt(r.edge,i)===r.id)}function za(e,t,n={}){return Gn(e,t,n,"ordering",(r,i,o)=>Lt(r.edge,i)===o)}function bm(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){Ba(e,p,r,a,c).length>0&&(l=!0);continue}if(vm(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 qa(e,t,n,r={}){Ua(e,t),Ua(e,n);let i=r.maxPaths??mm,o=r.maxVisitedPaths??pm,s=r.maxDepth??hm;li("maxPaths",i),li("maxVisitedPaths",o),li("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}}:bm(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 wm=16,km=2,Em=8;function Kn(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function zn(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 Im(e,t){let n=new Map;zn(e,t,r=>{Va(n,r.source,r.target),Va(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Va(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function Cm(e,t){let n=new Map;for(let o of e){let s=t.get(o);n.set(s,(n.get(s)??0)+1)}let r,i=0;for(let[o,s]of n)(s>i||s===i&&o<r)&&(r=o,i=s);return r}function Sm(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 Wa(e,t={}){let n=t.maxIterations??wm,r=t.minSize??km;Kn("maxIterations",n),Kn("minSize",r);let i=Im(e,t.kinds),o=e.nodes(),s=new Map(o.map(u=>[u,u])),a=0,c=!1,d=0,l=0;for(;a<n&&!c;){t.signal?.throwIfAborted(),a+=1,c=!0;for(let u of o){d+=1;let f=i.get(u);if(f===void 0)continue;l+=f.length;let p=Cm(f,s);p!==s.get(u)&&(s.set(u,p),c=!1)}}return{value:{communities:Sm(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function qn(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Vn(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function ui(e,t){return(t.hierarchy?Hn(e,t):e.source===Lt(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function Rm(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(!qn(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add(Vn(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(!qn(o))continue;let s=Vn(o);if(t!==void 0&&!t.has(s))continue;let a=ui(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 xm(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function Dm(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 Am(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 Dm(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=Am(e,t,a,i,o,r);if(c!==void 0)return c}}function it(e,t={}){let n=t.maxDepth??Em;Kn("maxDepth",n),t.limit!==void 0&&Kn("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=Rm(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=xm(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 Lm(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 Nm(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,Lm(l,u,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function Mm(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 Fm(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 $m(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:Fm(r,i,t,n));return r}function Pm(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=$m(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function Xa(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=Nm(e,t,n),i=Mm(r,t),o=new Map(i.map((d,l)=>[d,l])),s=Pm(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 Ya(e){return Math.round(e*1e6)/1e6}function Ja(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function Qa(e,t){let n=new Map(e.nodes().map(i=>[i,new Set]));zn(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 jm(e,t){let n=new Map,r=new Map;return zn(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=rt(i,o);Ja(r,s,a),Ja(n,a,s)}),{incoming:n,outgoing:r}}function Um(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 Bm(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:Ya((r.get(e)??0)/2),closeness:Ya(i.get(e))}}function Za(e,t={}){let n=Qa(e,t.kinds),r=jm(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=Um(l,n,a);s.set(l,Hm(u,i.length)),Bm(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 Km(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function zm(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 qm(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(Km(r,e.node))}function Vm(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=zm(o,t,n);s!==void 0&&i.push(s)}else qm(o,e,n),i.pop()}}function Wn(e,t={}){let n=Qa(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)||Vm(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}=rt(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 Xm(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 Ym(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 Jm(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=Xm(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>Ym(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function ec(e,t={}){t.signal?.throwIfAborted();let n=Dn(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=Jm(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 Qm(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 Zm(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 ep(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 tp(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}=rt(r,i),a=t.get(o);a.successors.has(s)||(a.successors.add(s),t.get(s).pending+=1)}}function np(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 rp(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=Zm(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 ip(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"),rp(d,l,t,n,r,i,c,a)}}function tc(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=ep(a,t,r,d,n.signal);tp(e,l,n.signal);let u=np(a,l,n.signal);return Qm(u,l,n.signal),ip(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 ot(){return{nodes:0,isolated:0,degree_leq_one:0,semantic_nodes:0,without_semantic_edges:0,degree_histogram:{}}}function ic(e,t,n,r){let i={all:ot(),active:ot(),terminal:ot()},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)??ot();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 nc(e){if(!Xn(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)||!Xn(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 Xn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function oc(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:!Xn(t)||!Xn(n)?!1:["all","active","terminal"].every(r=>nc(t[r]))&&Object.values(n).every(nc)}function rc(e,t){return Object.fromEntries([...new Set([...Object.keys(e),...Object.keys(t)])].sort().map(n=>{let r=Object.hasOwn(e,n)?e[n]:ot(),i=Object.hasOwn(t,n)?t[n]:ot(),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 sc(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:rc(e.coverage_by_lifecycle,t.coverage_by_lifecycle),coverage_by_status:rc(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 st=["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 op=25,sp="milestone",ap="outcome milestone:",cp=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Yn(e){return cp.has(e)}var ac={error:0,warning:1,info:2};function cc(e){return new Set((e??[]).filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()))}function at(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 dp(e,t){return e.cycles.map(n=>at(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 dc(e,t,n){let r=e.cardinality_violations.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[at(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 lc(e,t,n){let r=e.divergences.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[at(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 lp(e,t){let n=$n(e);return n?[...dp(n,t),...dc(n,t,!1),...dc(n,t,!0),...lc(n,t,!1),...lc(n,t,!0)]:[]}function up(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 fc(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 fp(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))):(fc(o,r),t.push({node:o,neighborIndex:0})),!0}function mp(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 pp(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(fc(r,t);i.length>0;){let o=i.at(-1);fp(o,i,e,t)||mp(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function fi(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(at(r,i,o,s,t,n,a))}function hp(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(fi),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(fi),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(fi),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 pi(e,t){let n=t.get(e);return n?!n.terminal:!0}function mc(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function gp(e,t){let n=[],r=[];for(let o of e.orderingContradictions??[])(o.legacy_terminal?r:n).push(mc(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 _p(e,t,n,r){let i=[],o=up(e);for(let c of pp(o)){let d=c.some(f=>pi(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(mc);i.push(d?at("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):at("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 hi(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!qn(o))continue;let s=ui(i,o);if(s.from===s.to)continue;let a=`${Vn(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 yp(e,t,n){let r=[],i=[];for(let s of hi(e))(pi(s.from,t)||pi(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 vp(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 bp(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 wp(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 kp(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 Ep(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===sp&&a.title.trim().toLowerCase().startsWith(ap)).map(a=>a.id)),{basis:i,reverse:o}=bp(e,n),s=wp(r,o,n);return{outcome_nodes:r.size,outcome_reachability_basis:i,...kp(t,r,s,n)}}function Ip(e,t,n,r,i){e.active+=1;let o=t.type??"(untyped)",s=e.byType.get(o);s||(s={active:0,isolated:0,degree_leq_one:0},e.byType.set(o,s)),s.active+=1,!(n>1)&&(e.degreeLeqOne+=1,s.degree_leq_one+=1,n===0&&(e.isolated+=1,s.isolated+=1),!(r.has(t.id.toLowerCase())||i.has(o.toLowerCase()))&&(n===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function Cp(e,t,n,r,i,o,s){let a={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let b of e.graph.nodes()){s?.throwIfAborted();let w=t.get(b);if(w){if(w.missing){a.missing+=1;continue}w.terminal||Ip(a,w,e.graph.incidentEdges(b).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.",b=>`${b} 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.",b=>`${b} 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=it(e.graph,{signal:s}).value,p=new Set(f.map(({edge:b})=>`${b.source.toLowerCase()}\0${b.target.toLowerCase()}\0${b.kind}`));for(let b of e.orderingContradictions??[])p.add(`${b.holder_id.toLowerCase()}\0${b.target_id.toLowerCase()}\0${b.dependency_kind}`);let m=Object.fromEntries(Object.entries(o).sort(([b],[w])=>b.localeCompare(w))),h=Object.entries(m).reduce((b,[w,k])=>b+(Yn(w)?k:0),0),y=Wn(e.graph,{signal:s}).value,v=Ep(e,t,s);return{findings:l,profile:{nodes:e.graph.nodes().length,recorded_nodes:e.details.filter(b=>b.status!=="missing"&&b.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(([b,w])=>[b,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(([b],[w])=>b<w?-1:1)),articulation_points:y.articulationPoints.length,bridge_edges:y.bridges.length,...v,finding_subjects_by_code:Object.fromEntries(st.map(b=>[b,0]))}}}function Qn(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??op;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=cc(t.exemptIsolates),s=cc(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=hp(e,n,i);d.push(...lp(e,i)),t.signal?.throwIfAborted(),d.push(...gp(e,i)),t.signal?.throwIfAborted(),d.push(..._p(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...yp(e,a,i),...vp(e,i)),t.signal?.throwIfAborted();let l=Cp(e,a,o,s,i,c,t.signal);d.push(...l.findings),d.sort((f,p)=>ac[f.severity]-ac[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,...ic(e,n,Yn,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 mi(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 uc(e){return e.profile.coverage_by_type??{}}function Sp(e,t){let n={},r=uc(e),i=uc(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 pc(e,t){let n=Sp(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:mi(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:mi(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:mi(r,s),semantic_edges:a-i,semantic_edge_share:c-o,coverage_by_type:n,...sc(e.profile,t.profile)}}}import hc from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e5089f2d-3fc5-5843-95ab-ba3dd2ab9582")}catch{}})();var gc=2,gi=500,Rp=64,Tp="graph-durable-cache";function _c(e){return qe(e,Tp,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Mt(e){return hc.join(e,"runtime","graph-cache.json")}function yc(e){return hc.join(e,"runtime","graph-audit-baseline.json")}function _i(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==gc||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 yi(e,t){let n=await ye(Mt(e)),r=_i(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function vi(e,t,n,r,i){let o=await _c(e);try{let s=_i(await ye(Mt(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-Rp)))delete a[d];await q(Mt(e),JSON.stringify({version:gc,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function bi(e){let t=await _c(e);try{await wo(Mt(e))}finally{await t()}}async function vc(e,t){let n=Mt(e),r=await ye(n),i=_i(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 wi(e,t){return t||e>=gi}function Zn(e){return ct(e)&&Object.values(e).every(je)}function ct(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function je(e){return Number.isInteger(e)&&Number(e)>=0}function bc(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Nt(e,t){return e===void 0||t(e)}function xp(e){return ct(e)&&Object.values(e).every(bc)}function Dp(e){return ct(e)?Object.values(e).every(t=>ct(t)&&[t.active,t.isolated,t.degree_leq_one].every(je)):!1}function Ap(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=>Nt(e[s],je)))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=>Nt(e[o],je))&&n.every(o=>Nt(e[o],je)&&(e[o]===void 0||Number(e[o])<=1e4))&&Nt(e.finding_subjects_by_code,Zn)}function Lp(e,t,n,r){let i=Ap(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=Zn(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(st.map(c=>[c,a[c]??t[c]??0]))}}function Np(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||!xp(n)||!je(r)||!bc(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+(Yn(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 Mp(e){if(e!==null)try{let t=JSON.parse(e);if(!ct(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(!Zn(i)||!ct(r)||!oc(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(je)||!Zn(r.edges_by_kind)||!Nt(r.coverage_by_type,Dp))return;let o=Np(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=Lp(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 wc(e){return Mp(await ye(yc(e)))}async function kc(e,t){await q(yc(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 Fp={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 Ec(e){return`${e.source} -${e.kind}-> ${e.target}`}function $p(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:Ec(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: ${Ec(t)}`,`group: ${Jn(e)}`],confidence:"high"}))}function Pp(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>$p(t.get(r)));let n=Fp[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 Ic(e,t={}){let{redundancyLimit:n,...r}=t,i=Qn(e,r),o=new Map(hi(e).map(d=>[Jn(d),d])),s=i.findings.flatMap(d=>Pp(d,o)),a=i.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=it(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 Tc=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]);function Cc(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,...v}=h;return[m,v]}));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 jp(e,t,n,r){return{assembly:t,...n===void 0?{}:{kinds:n},maxDepth:Bn(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:ai(r.direction),maxPaths:pe(r.maxPaths,"max-paths"),sample:pe(r.sample,"sample")??we.samples,exemptIsolates:Sc(r.exemptIsolate),exemptIsolateTypes:Sc(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0}}function Sc(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function Up(e,t,n){let r=e.trim().toLowerCase();if(!Or.includes(r))throw To({command_path:"graph",token:r||"<empty>",allowed:Or});let i=r;if(Tc.has(i)&&!t?.trim())throw new g(`graph ${i} requires an item id.`,_.USAGE);if(i==="paths"&&!n?.trim())throw new g("graph paths requires a source and a target item id.",_.USAGE);return i}function ki(e){throw e instanceof TypeError?new g(e.message,_.USAGE):e}function Ei(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function Rc(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 g(`Item ${t} not found`,_.NOT_FOUND)}function Bp(e,t,n){let r={ancestors:Ha,descendants:Ga,predecessors:Ka,successors:za}[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){ki(s)}let o=Ei(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=qa(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,...Ei(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=xn(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){ki(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 Kp(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 zp(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 qp(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 Vp(e){let t=e.assembly.graph,n=e.limit,r=Dn(t,{registry:t.registry()}),i=js(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:Kp(r,e.summary,n),knowledge:zp(i,e.summary,n),hierarchy:qp($n(e.assembly),e.summary,n)}}function Wp(e,t){let n=Qn(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 Xp(e){let t=e.limit,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Wa(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 Yp(e){let t;try{t=it(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},limit:e.limit})}catch(n){ki(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...Ei(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 Jp(e,t){let n=t.limit,r=Xa(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 Qp(e){let t=e.limit,n=ec(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 Zp(e){let t=e.limit,n=Za(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 eh(e){let t=e.limit,n=Wn(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 th(e,t){let n=e.limit,r=Ic(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 xc(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 Dc(e,t,n,r,i){return e==="analyze"?Vp(r):e==="audit"?Wp(r,i):e==="plan"?th(r,i):e==="communities"?Xp(r):e==="redundancy"?Yp(r):e==="dominators"?Jp(t,r):e==="slack"?Qp(r):e==="centrality"?Zp(r):e==="articulation"?eh(r):e==="paths"?Hp(t,n,r):e==="impact"?Gp(t,r):Bp(e,t,r)}function nh(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new g("--rebuild and --clear apply only to graph index.",_.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new g("--save-baseline applies only to graph audit.",_.USAGE);if(e==="slack"&&t.kind!==void 0)throw new g("graph slack analyzes every ordering kind; --kind is not supported.",_.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new g("graph index accepts either --rebuild or --clear, not both.",_.USAGE);if(t.full===!0&&t.limit!==void 0)throw new g(`graph ${e} accepts either --full or --limit, not both.`,_.USAGE)}async function rh(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await bi(e),s="cleared"),o.rebuild===!0){await bi(e);let c=await yi(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 vi(e,t,c,xc(l,void 0,void 0,d),Dc(l,void 0,void 0,d,i));s="rebuilt"}let a=await vc(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:gi,persist_enabled:wi(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 ih(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(st.map(s=>[s,n.affected_subjects_by_code[s]??0]))}},o=await wc(e);return r&&await kc(e,i),o===void 0?n:{...n,baseline:pc(o,i)}}async function oh(e,t,n,r,i){try{await vi(e,t,n,r,i)}catch{}}function sh(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 an(o.nodes().filter(f=>!i.has(f)),o.edges().filter(f=>!i.has(f.source)&&!i.has(f.target)),o.registry()),a=tc(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 cE(e,t,n,r,i){let o=Up(e,t,n);gt(r.summary===!0,r.full===!0,"--summary");let s=M(process.cwd(),i.path);await Z(s);let a=await P(s),c=$(a,L()),d=await ue(s,a.item_format,c.type_to_folder,void 0,a.schema),l=Y(a.schema),u=N=>F(N,l);nh(o,r);let f=G(),p=ci(r.kind,f),m=jn().lookup(s,Pn(d,u,f),()=>Tt(d,u,f)),h=jp(o,m.assembly,p,r);if(o==="index")return Cc(await rh(s,m.fingerprint,h,d.length,u,r),!1);let y=Tc.has(o)?Rc(h.assembly,t):void 0,v=o==="paths"?Rc(h.assembly,n):void 0,b=xc(o,y,v,h),w=await yi(s,m.fingerprint),k=w.results[b],S=m.memoize(b,()=>k!==void 0?structuredClone(k):Dc(o,y,v,h,u)),x=wi(d.length,w.exists);!S.reused&&k===void 0&&x&&await oh(s,m.fingerprint,w,b,S.value);let U=S.value.subcommand==="audit"?await ih(s,m.fingerprint,S.value,h.saveBaseline):S.value;return U.cache={fingerprint:m.fingerprint.slice(0,12),assembly:m.assemblyReused?"hit":"miss",result:S.reused?"hit":"miss",durable:k!==void 0?"hit":x?"miss":"off"},sh(U,h,d,u),Cc(U,h.summary,"result_rows")}import Ii from"node:fs/promises";import Ci 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 Ac=8388608,ah=new Set(["resolved","failed"]),ch=[{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 Si(e){return ch.find(t=>t.matches(e))?.kind}function Oc(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||!fs(i).ok)return i;let s={},a=!1;for(let[d,l]of Object.entries(o)){let u=he(l)?Si(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,ms(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 Lc(e){let t=[];for(let n of await Nc(e)??[])try{let r=await Ii.readFile(Ci.join(e,"history",n),"utf8");for(let i of r.split(`
2
+ `)){if(i.trim().length===0)continue;let o=Mc(i);if(!(o===null||!he(o.agent_provenance))&&Object.values(o.agent_provenance).some(s=>he(s)&&Si(s.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function Nc(e){try{return(await Ii.readdir(Ci.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function dh(e,t,n){let r;try{r=await Ii.open(Ci.join(e,"history",t),"r");let i=(await r.stat()).size,o=Math.min(i,Math.max(0,n)),s=Buffer.alloc(o),{bytesRead:a}=await r.read(s,0,o,0),c=s.subarray(0,a).toString("utf8"),d=a>=i,l=c.lastIndexOf(`
3
+ `),u=c;return d||(u=l===-1?"":c.slice(0,l+1)),{content:u,bytesRead:a,complete:d}}catch{return null}finally{await r?.close()}}function Mc(e){try{let t=JSON.parse(e);return he(t)?t:null}catch{return null}}function lh(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=Si(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"||!ah.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 uh(e,t,n,r,i,o){let s=i;for(let a of e.split(`
4
+ `)){if(a.trim().length===0)continue;if(s>=r)return{eventsRead:s,truncated:!0};s+=1;let c=Mc(a);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&on(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)}lh(c,t,n)}return{eventsRead:s,truncated:!1}}function fh(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 pE(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:Ac,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 Nc(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await dh(e,u,Math.max(0,Ac-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let p=uh(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:fh(d,l,n.complete),events_read:o,truncated:a}}import mh from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b3ef9db1-1d20-5d88-927e-a08edf563cd5")}catch{}})();function Fc(e,t,n){let r=yt(e,t);if(r.ok)return r.document;let i=structuredClone(e);for(let[o,s]of t.entries()){let a=/^\/metadata\/([^/]*)$/u.exec(s.path)?.[1],c=a!==void 0&&!Object.hasOwn(i.metadata,a.replaceAll("~1","/").replaceAll("~0","~"));if(c&&s.op==="remove")continue;let d=c&&s.op==="replace"?{...s,op:"add"}:s,l=yt(i,[d]);if(!l.ok)throw new g(`History union cannot rebase a scalar patch at ${n.branch} line ${n.line} (${n.op}), operation ${o+1} ${s.op} ${s.path}; preserve the source histories for manual recovery.`,_.CONFLICT,{code:"history_union_rebase_conflict",field:s.path,history_merge:{...n,patch_index:o,patch_path:s.path},nextSteps:["Preserve all three history inputs and both item snapshots. Review the named branch event against the merged replay state; do not drop the event or concatenate unchecked patches. After resolving the history and item deliberately, run pm history <id> --verify and pm merge reconcile --dry-run before committing."]});i=l.document}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="425ef2aa-56fa-5d06-b8d0-316373ad2433")}catch{}})();var ph=Object.freeze({pm_item_scalar_missing:!0});function dt(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?ph:e}function Ae(e){return re(E(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function Ri(e,t){let n=ze(e);if(n)throw new g(`History merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,_.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 g(`History merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}}return r}function se(e){return E({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function hh(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&se(e[r])===se(t[r]);)r+=1;return r}function gh(e,t,n,r){let i=[...e,...n],o=new Map(i.map((u,f)=>[u,f])),s=new Map(i.map((u,f)=>[se(u),f])),a=i.map(()=>new Set);for(let u of[e,t]){let f=u.map(p=>o.get(p)??s.get(se(p)));for(let p=1;p<f.length;p+=1)f[p-1]!==f[p]&&a[f[p-1]].add(f[p])}let c=i.map(()=>0);for(let u of a)for(let f of u)c[f]+=1;let d=i.map((u,f)=>f).filter(u=>c[u]===0),l=[];for(;d.length>0;){d.sort((f,p)=>{let m=i[f],h=i[p],y=C(m.ts,h.ts),v=se(m),b=se(h);return y||Number(r.has(b))-Number(r.has(v))});let u=d.shift();l.push(i[u]);for(let f of a[u])c[f]-=1,c[f]===0&&d.push(f)}if(l.length!==i.length)throw new g("History union cannot preserve contradictory original branch event orders; leave the file unresolved for manual recovery.",_.GENERIC_FAILURE);return l}function $c(e){return{entries:e,positions:new Map(e.map((t,n)=>[se(t),n])),index:-1,document:gs()}}function Li(e,t){let n=t??e.index;for(;e.index<n;){let r=yt(e.document,e.entries[e.index+1].patch);if(!r.ok)throw new g("History union cannot preserve a patch that does not apply in its original branch.",_.GENERIC_FAILURE);e.document=r.document,e.index+=1}return e.document}function Pc(e,t){if(t!==void 0&&t>e.index+1)throw new g("History union cannot attribute multiple original branch events to one semantic identity; preserve the source histories for manual recovery.",_.GENERIC_FAILURE);return Li(e,t)}function _h(e,t,n){if(n===0)return;let r=$c(e),i=$c(t),o=Li(r,n-1);Li(i,n-1);let s=0,a=new Set([...Uc,...Bc]);return(c,d)=>{if(s++<n)return c.patch;let l=se(c),u=Pc(r,r.positions.get(l)),f=Pc(i,i.positions.get(l)),p=wn(c.patch).filter(b=>{let[w,k]=b.path.slice(1).split("/");return w!=="metadata"||!a.has(k)}),m=r.positions.get(l),h=Fc(d,p,{branch:m===void 0?"theirs":"ours",line:(m??i.positions.get(l))+1,op:c.op}),y=Kc(o.metadata,u.metadata,f.metadata,"ours","latest_document_update",String(u.metadata.updated_at),String(f.metadata.updated_at));for(let b of a)Object.hasOwn(y.merged,b)?h.metadata[b]=y.merged[b]:delete h.metadata[b];let v=bn({metadata:h.metadata,body:h.body});return mh.compare(d,v)}}function AE(e,t,n){let r=Ri(e,"base"),i=Ri(t,"ours"),o=Ri(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(se)).size>1)throw new g("Duplicate item identity: history contains independent or unproven create events. Preserve both branches and assign distinct item ids before merging.",_.CONFLICT,{code:"item_identity_conflict"});let a=hh(i,o);if(a===i.length&&a===o.length)return{merged:Me(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:Me(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:Me(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(se)),l=o.slice(a).filter(p=>!d.has(se(p))),u=gh(c,o.slice(a),l,d),f=kn([...i.slice(0,a),...u],void 0,{continuousHashSurface:!0,projectPatch:_h(i,o,a)});if(f.skippedOps>0)throw new g(`History union cannot preserve ${f.skippedOps} patch operation(s) after deterministic suffix ordering; leave the file unresolved for manual recovery.`,_.GENERIC_FAILURE);return{merged:Me(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 Ti(e,t){let n=ze(e);if(n)throw new g(`Relationship merge input (${t}) contains unresolved conflict markers at line ${n.line}. Merge drivers must receive clean per-side versions.`,_.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 g(`Relationship merge input (${t}) contains invalid JSON at line ${i+1}.`,_.GENERIC_FAILURE)}if(typeof a!="object"||a===null||Array.isArray(a)||typeof a.eventId!="string"||typeof a.sequence!="number")throw new g(`Relationship merge input (${t}) line ${i+1} is not a relationship event (eventId + sequence required).`,_.GENERIC_FAILURE);r.push(a)}return r}function er(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
5
+ `)}
6
+ `}function yh(e){return e.map((t,n)=>({...t,sequence:n+1}))}function OE(e,t,n){Ti(e,"base");let r=Ti(t,"ours"),i=Ti(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:er(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:er(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:er(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=yh([...r.slice(0,s),...l]);return{merged:er(u),strategy:"union_reanchor",common_entries:s,entries_from_ours:a.length,entries_from_theirs:d.length,entries_total:u.length,reanchored:!0}}var Uc=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],Bc=["acceptance_criteria"],vh=["updated_at"];function Ue(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:E(e)===E(t)}function jc(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(l=>E(l))),o=r(t),s=new Set(o.map(l=>E(l))),a=r(n),c=new Set(a.map(l=>E(l))),d=o.filter(l=>{let u=E(l);return!i.has(u)||c.has(u)});for(let l of a){let u=E(l);!s.has(u)&&!i.has(u)&&d.push(l)}return d}function Ft(e){if(typeof e!="object"||e===null||Array.isArray(e))return E(e);let{provenance:t,...n}=e;return E(n)}function bh(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 wh(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(Ft)),o=r(t),s=new Set(o.map(Ft)),a=r(n),c=new Set(a.map(Ft)),d=o.filter(l=>{let u=Ft(l);return!i.has(u)||c.has(u)});for(let l of a){let u=Ft(l);!s.has(u)&&!i.has(u)&&d.push(bh(l))}return d}function kh(e,t){return C(String(e),String(t))>=0?e:t}function Hc(e,t,n,r){return Ue(t,n)?{value:t,from_theirs:!1,conflict:!1}:Ue(e,t)?{value:n,from_theirs:!0,conflict:!1}:Ue(e,n)?{value:t,from_theirs:!1,conflict:!1}:{value:r==="theirs"?n:t,from_theirs:r==="theirs",conflict:!0}}function Gc(e,t,n,r,i,o,s){let a=Hc(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=E(T(n)).localeCompare(E(T(t)))<0;return{value:d?n:t,from_theirs:d,conflict:!0,resolution_basis:"stable_value_tiebreak",retained_side:d?"theirs":"ours"}}function xi(e){return{...e.metadata}}function Di(e,t,n){try{let r=Uo(Po(e,{...n,requireSupportedFormat:!0}),n),i=Object.entries(r.metadata).find(([,o])=>dt(o))?.[0];if(i!==void 0)throw new TypeError(`metadata field ${i} uses the reserved missing-scalar evidence marker`);return r}catch(r){throw r instanceof g&&r.context?.code==="item_format_version_unsupported"?r:new g(`Item merge input (${t}) is not a readable item document: ${String(r)}`,_.GENERIC_FAILURE)}}function Eh(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?wh(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?jc(tn(e.baseValue),tn(e.oursValue),tn(e.theirsValue)).join("; "):jc(e.baseValue,e.oursValue,e.theirsValue);return e.accumulator.merged[e.field]=t,Ue(t,e.oursValue)||e.accumulator.unionFields.push(e.field),!0}function Ih(e){let t=Gc(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 Kc(e,t,n,r,i,o,s){let a=new Set([...Uc,...Bc]),c=new Set(vh),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(!Eh({field:u,baseValue:f,oursValue:p,theirsValue:m,unionFieldSet:a,accumulator:l})){if(c.has(u)){l.merged[u]=kh(p,m);continue}Ih({field:u,baseValue:f,oursValue:p,theirsValue:m,preferred:r,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:s,accumulator:l})}}return l}function LE(e,t,n,r={}){let i=r.preferred??"ours",o=r.conflictResolution??"preferred_side",s=Di(t,"ours",r),a=Di(n,"theirs",r);if(e.trim().length===0)throw new g("Duplicate item identity: add/add item documents have no common ancestor. Preserve both branches and assign distinct item ids before merging.",_.CONFLICT,{code:"item_identity_conflict",item_id:s.metadata.id});let c=Di(e,"base",r);if(c.metadata.id!==s.metadata.id||c.metadata.id!==a.metadata.id)throw new g("Duplicate or mismatched item identity: all merge sides must address the common ancestor's item id.",_.CONFLICT,{code:"item_identity_conflict",item_id:c.metadata.id});let d=xi(c),l=xi(s),u=xi(a),{merged:f,conflictFields:p,fieldsFromTheirs:m,unionFields:h,conflictDecisions:y}=Kc(d,l,u,i,o,s.metadata.updated_at,a.metadata.updated_at),v=Gc(c.body,s.body,a.body,i,o,s.metadata.updated_at,a.metadata.updated_at);v.conflict?(p.push("body"),y.push({field:"body",base:T(c.body),ours:T(s.body),theirs:T(a.body),retained:T(v.value),discarded:T(v.from_theirs?s.body:a.body),retained_side:v.retained_side,resolution_basis:v.resolution_basis})):v.from_theirs&&m.push("body");let b=f;return b.pm_format_version=$o(Math.max(...[c.metadata,s.metadata,a.metadata,b].map(Fo))),{merged:jo({metadata:b,body:v.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 Ai(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Oi(e,t){let n=ze(e);if(n)throw new g(`JSON merge input (${t}) contains unresolved conflict markers at line ${n.line}.`,_.GENERIC_FAILURE);if(e.trim().length!==0)try{return JSON.parse(e)}catch{throw new g(`JSON merge input (${t}) is not valid JSON.`,_.GENERIC_FAILURE)}}function Ch(e,t,n){if(!Array.isArray(e)||!Array.isArray(t)||!Array.isArray(n))return null;let r=d=>{let l=new Map;for(let u of d){let f=E(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=E(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 Sh(e,t,n,r,i,o,s){if(!Ai(t)||!Ai(n))return null;let a=Ai(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=Rh(a,t,n,l,r,u,o,s);f!==void 0&&(c[l]=f)}return c}function zc(e,t,n,r,i,o,s){if(Ue(t,n))return t;let a=Ch(e,t,n);if(a!==null)return a.acceptedTheirs&&s.push(i),a.merged;let c=Sh(e,t,n,r,i,o,s);if(c!==null)return c;let d=Hc(e,t,n,r);return d.conflict?o.push(i):d.from_theirs&&s.push(i),d.value}function Rh(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 zc(e[r],t[r],n[r],i,o,s,a);if(c){if(l&&Ue(e[r],t[r])){a.push(o);return}return l?(s.push(o),i==="theirs"?void 0:t[r]):t[r]}if(!(l&&Ue(e[r],n[r])))return l?(s.push(o),i==="theirs"?n[r]:void 0):(a.push(o),n[r])}function NE(e,t,n,r={}){let i=r.preferred??"ours",o=Oi(e,"base"),s=Oi(t,"ours"),a=Oi(n,"theirs"),c=[],d=[],l=zc(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 Xh}from"node:child_process";import{randomUUID as Yh}from"node:crypto";import{readdir as Jh,realpath as Oe,stat as Qh}from"node:fs/promises";import O from"node:path";import{promisify as Zh}from"node:util";import nr from"node:path";import{execFile as Th}from"node:child_process";import{createHash as qc}from"node:crypto";import{readdir as xh}from"node:fs/promises";import Dh from"node:path";import{promisify as Ah}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 ke=Ah(Th),tr=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function HE(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 ke("git",["rev-parse","--path-format=absolute","--git-path",`${o}/orig-head`],{cwd:e,timeout:1e4}),a=(await vt(s.trim(),128))?.trim();if(a===void 0||!tr.test(a))continue;let{stdout:c}=await ke("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 ke("git",["rev-parse","HEAD","ORIG_HEAD"],{cwd:e,timeout:1e4}),[s,a]=o.trim().split(/\r?\n/u);if(s!==a||!tr.test(s))return;let{stdout:c}=await ke("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),d=c.trim(),l=qc(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 Vc(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"&&tr.test(t.original_head)&&typeof t.original_blob=="string"&&tr.test(t.original_blob)}async function Wc(e,t,n,r){if(r!==void 0&&qc(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 ke("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 xh(i.trim())).some(d=>o.has(d)))return!1;let{stdout:s}=await ke("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(s.trim()!==n.original_head)return!1;let{stdout:a}=await ke("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(a.trim()!==n.original_blob)return!1;let{stdout:c}=await ke("git",["hash-object","--",Dh.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==n.original_blob?!1:(await ke("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 Oh=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,Lh=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,ir=2048,Nh=64,Mh=1e5,Fh=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 or(e){return Oh.test(e)}var $h=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),sr="bounded_non_sensitive_scalars_v1",Ph=new Set(["open","in_progress","blocked","closed","canceled"]),jh=new Set(["risk","confidence","severity"]),Uh=new Set(["low","medium","high","critical"]),Yc=new Map([["priority",new Set([0,1,2,3,4].map(E))],["status",new Set([...Ph].map(E))],...[...jh].map(e=>[e,new Set([...Uh].map(E))])]);function ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Jc(e,t){return Object.keys(e).every(n=>t.has(n))}function rr(e){return Array.isArray(e)&&e.length<=ir&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function $t(e){let t=[{value:e,depth:0}],n=0;for(;t.length>0;){let r=t.pop();if(n+=1,n>Mh||r.depth>Nh)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 Qc(e){if(!ge(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[Jc(e,$h),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"),$t(e.base),$t(e.ours),$t(e.theirs),$t(e.retained),$t(e.discarded),t.includes(e.retained_side),n.includes(e.resolution_basis)].every(Boolean)}function Bh(e){if(!ge(e))return!1;let t=Object.entries(e);return t.length<=ir&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function Hh(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||nr.posix.isAbsolute(e))return!1;let n=nr.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&nr.posix.basename(n,nr.posix.extname(n))===t}function Gh(e){return!rr(e.fields_from_theirs)||!rr(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>ir||!e.decisions.every(Qc)?!1:e.merged_field_hashes===void 0||Bh(e.merged_field_hashes)}function Kh(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===sr)&&i.includes(e.evidence_source)}function zh(e){return typeof e.created_at=="string"&&Mr(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&Mr(e.reconciled_at))}function Xc(e,t){if(!ge(t)||dr(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||Yc.get(e)?.has(E(r))===!0)&&Ae(r)===t.pm_value_hash}function qh(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&Xc(r.field,r.retained)&&Xc(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===sr)}function Vh(e){return e.operation!==void 0&&!Vc(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function Wh(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||!Jc(e,Fh)?"required_fields":typeof e.id!="string"||!or(e.id)?"receipt_id":typeof e.item_id!="string"||!Lh.test(e.item_id)?"item_id":Hh(e.item_path,e.item_id)?null:"item_path"}function ar(e,t){if(!ge(e))return"required_fields";let n=Wh(e);return n!==null?n:Vh(e)?Gh(e)?Kh(e)?zh(e)?t==="durable"&&!qh(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function cr(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 Zc(e){if(!ge(e))return;if(!rr(e.fields_from_theirs))return"fields_from_theirs";if(!rr(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>ir)return"decisions";let t=e.decisions.findIndex(n=>!Qc(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function Ni(e,t){return ar(e,t)===null}function dr(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 Mi(e,t){let n=dt(t),r=Ae(n?void 0:t);return!n&&(t===null||Yc.get(e)?.has(E(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]="7bab0a8e-842c-5588-a0b2-22ef261ddb06")}catch{}})();var eg=Zh(Xh),lr=100;async function Fi(e){try{let{stdout:t}=await eg("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 nd(e,t){let n=O.dirname(O.resolve(e,t));for(let r=0;r<12;r+=1){if(await bo(O.join(n,"settings.json")))return n;let i=O.dirname(n);if(i===n)break;n=i}return null}function lt(e){return O.join(e,"merge-receipts")}function Le(e){return`${e}.json`}async function ed(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await vt(e.receiptPath,Rn)}catch(o){if(He(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=cr(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!Ni(n,e.evidenceSource)||n.id!==e.receiptId||e.settlement!==void 0&&n.operation===void 0||O.basename(e.receiptPath)!==Le(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:jt(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 Pt(e,t=!1){return re(E({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(E(T(n.retained))),discarded_hash:re(E(T(n.discarded)))})):ur(e).decisions}))}function jt(e){let t=[Pt(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(Pt(e,!0)),t}function tg(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 ng(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 un(O.join(n,"history",`${o.item_id}.jsonl`),o.item_id),Se(s).ok||(s=[])}catch{s=[]}r.set(o.item_id,s)}let a=o.settlement==="original_git_state_restored",c=E({...ur(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=>E(f)===c)})){let{reconciled_at:d,settlement:l,...u}=o;e.set(o.id,{...u,state:"pending"})}}}function ur(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:dr(t.retained)??Ae(dt(t.retained)?void 0:t.retained),discarded_hash:dr(t.discarded)??Ae(dt(t.discarded)?void 0:t.discarded)}))}}async function fI(e){let t=await Fi(e.cwd);if(t===null)return null;let n=e.itemPath.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n,i=O.basename(r,O.extname(r)),o={version:1,id:Yh(),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 Lr(t),await q(O.join(t,Le(o.id)),`${JSON.stringify(o,null,2)}
9
+ `);let s=await nd(e.cwd,o.item_path);if(s!==null){let a=lt(s),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:Mi(u.field,u.retained),discarded:Mi(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:sr};await Lr(a),await q(O.join(a,Le(o.id)),`${JSON.stringify(l,null,2)}
10
+ `)}return o}async function td(e,t){let n;try{n=await Jh(e)}catch(a){let c=await rg(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>=lr)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},...or(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 ig(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 rg(e,t,n=Qh){if(!ce(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(i){if(!ce(i))return!1;let o=O.dirname(r);if(o===r)return!0;r=o}}async function ig(e,t,n){let r;try{r=await vt(O.join(e,t),Rn)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=cr(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let o=ar(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:Zc(i)}:{}};let s=i;if(t!==Le(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 og(e,t,n){if(n.length===0)return[];let{readIndexedReceiptBlobs:r}=await import("./indexed-receipt-blobs-KGMJVFH2.js"),i=await sg(t),o=await r(i?.workspace??e,lt(t),n.map(s=>Le(s.id)),Rn,i?.directory);return n.flatMap(s=>{try{let a=cr(JSON.parse(o.get(Le(s.id))??""));if(ar(a,"durable")!==null)return[];let c=a,d=jt(s);return c.id===s.id&&jt(c).some(l=>d.includes(l))?[s.id]:[]}catch{return[]}})}async function sg(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT,n=process.env.PM_SOURCE_PM_PATH,r=process.env.PM_PATH;if(!(process.env.PM_SOURCE_CONTEXT_ACCESS!=="read_only"||!t||!n||!r))try{if(await Oe(e)!==await Oe(r))return;let i=O.relative(await Oe(t),await Oe(n)),o=i===".."||i.startsWith(`..${O.sep}`)||O.isAbsolute(i),s=lt(o?O.join(await Oe(t),".agents","pm"):await Oe(n)),[a,c]=await Promise.all([Oe(s),Oe(lt(n))]);return a!==c?void 0:{workspace:t,directory:s}}catch{return}}async function fr(e,t={}){let n=await Fi(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await td(n,"clone_local"),i=t.pmRoot??O.join(e,".agents","pm"),o=await td(lt(i),"durable"),s=new Map(o.receipts.map(u=>[u.id,u])),a=0,c=[];for(let u of r.receipts){let f=s.get(u.id);if(f!==void 0&&!(f.value_policy===void 0?jt(u):[Pt(u)]).includes(Pt(f))){s.delete(u.id),a+=1,r.invalid_evidence.length+o.invalid_evidence.length+c.length<lr&&c.push({evidence_source:"clone_local_and_durable",reason:"copy_provenance_mismatch",receipt_id:u.id});continue}s.set(u.id,f===void 0?u:tg(u,f))}await ng(s,o.receipts,i);let d=o.receipts.filter(u=>s.has(u.id)),l=new Set(await og(e,i,d));return{durable_receipt_ids:[...l],unstaged_durable_receipt_ids:d.filter(u=>!l.has(u.id)).map(u=>u.id),receipts:[...s.values()].filter(u=>(t.includeReconciled||u.state==="pending")&&(t.includeLossless!==!1||u.decisions.length>0)).sort((u,f)=>u.created_at.localeCompare(f.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,lr),invalid_evidence_truncated:r.invalid_evidence_truncated||o.invalid_evidence_truncated||r.invalid_evidence_count+o.invalid_evidence_count+a>lr,clone_local_evidence_resolved:n!==null}}async function ag(e,t={}){return(await fr(e,t)).receipts}function rd(e,t,n){let r=new Set([...t?.durable_receipt_ids??[],...n?t?.unstaged_durable_receipt_ids??[]:[]]),i=[...e].filter(o=>!r.has(o));if(i.length!==0)throw new g(`Merge reconciliation refused ${i.length} receipt(s) without validated tracked evidence; no audit history was written.`,_.CONFLICT,{code:"merge_receipt_not_portable",required:"Every receipt cited by tracked history must have matching validated evidence in the Git index before any audit write.",recovery:{suggested_retry:"pm merge report --include-reconciled"},nextSteps:["Stage valid project sidecars after reviewing git diff, or use pm merge reconcile --stage for guarded lossless settlement. Restore missing original counterparts or preserve unrelated stale receipts outside the active store. Never copy private clone-local values into tracked evidence. Then rerun pm merge reconcile --dry-run."]})}function mI(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 pI(e,t,n={}){let r=await Fi(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(!Ni(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=D(),s=O.join(r,Le(t.id)),a=await nd(e,t.item_path),c=a===null?null:O.join(lt(a),Le(t.id)),d=(await Promise.all([ed({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:n.settlement}),...c===null?[]:[ed({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)?[Pt(t)]:jt(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 q(l.path,l.content)}async function hI(e){let t=await ag(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:D()}}async function gI(e){let t=await fr(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 cg 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 $i(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Cs(e.settings);if(n.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,_.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function dg(e){let t=await ye(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new g(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);let n=await Re(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 g(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function mr(e){let t=e.writeHistoryRaw??q;try{await t(e.historyPath,e.nextHistoryRaw),await Br(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await cg.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Br(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function id(e){let t=[...$i({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await qe(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 dg({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 od(e){let{subject:t,settings:n,operation:r,options:i}=e,o=await Vo(t.historyPath,t.id);if(o.raw===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);if(o.entries.length===0)throw new g(`No history entries exist for ${t.id}; nothing to ${r.slice(8)}.`,_.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:Hr(o.entries),loadedItem:s,author:a}),d=Hr(c.rewrittenEntries);if(!d.ok)throw new g(`${r} produced an invalid rewritten chain (${d.errors.join(", ")}).`,_.GENERIC_FAILURE);let l=c.changed&&!i.dryRun?await id({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 mr({historyPath:t.historyPath,nextHistoryRaw:Me(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>cn({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:d,warnings:l})}import{isUtf8 as lg}from"node:buffer";import{readFile as ug}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 fg(e){let t;try{t=JSON.parse(e)}catch{if(e.trimStart().startsWith("{")&&e.includes("}"))throw new g("History salvage cannot discard a potentially complete record with trailing corruption.",_.CONFLICT,{code:"history_salvage_refused"});return null}if(typeof t!="object"||t===null||Array.isArray(t))throw new g("History salvage would conceal interior corruption or a malformed record.",_.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 g("History salvage requires complete history records before the invalid tail.",_.CONFLICT,{code:"history_salvage_refused"});return n}function mg(e){if(ze(e))throw new g("Resolve history merge conflicts before salvage.",_.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=fg(a);if(c===null){r===void 0&&(r=n,i=s+1),n+=a.length+1;continue}if(r!==void 0)throw new g("History salvage would discard a record or conceal interior corruption.",_.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=Se(t);if(!o.ok||o.item_hash_version===void 0)throw new g("History salvage requires a nonempty verified prefix.",_.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 pg(e,t,n){if(!e.located)return{itemRaw:null,document:n};let r=await xs(e.located,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n}}async function sd(e){let t;try{t=await ug(e)}catch(n){if(ce(n))return null;throw n}if(!lg(t))throw new g("History salvage requires UTF-8 input; recover binary corruption from a byte-preserving backup.",_.CONFLICT,{code:"history_salvage_refused"});return t.toString("utf8")}async function ad(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 g("Tail salvage cannot be combined with other repair modes.",_.USAGE);let o=await sd(t.historyPath);if(o===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);await dn({path:t.historyPath,scope:"project"});let s=mg(o),a=Ss(s.entries,s.entries.length-1),c=_s(a);if(typeof a.metadata.id=="string"&&a.metadata.id!==t.id)throw new g("History belongs to another item; salvage refused.",_.CONFLICT,{code:"history_salvage_refused"});let d=await pg(t,n,c),l=$i({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 qe(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 sd(t.historyPath),y=await Re(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),v=y?await ye(y.itemPath):null;if(h!==o||v!==d.itemRaw)throw new g("History or item changed while waiting for salvage lock; retry.",_.CONFLICT);let b=vn({...hs({hashAlgorithm:Ne(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 mr({historyPath:t.historyPath,historyRawUnderLock:o,nextHistoryRaw:`${s.prefix}${JSON.stringify(b)}
12
+ `}),l.push(...await cn({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 wd}from"node:fs/promises";import ji from"node:path";import kd from"fast-json-patch";import Ut from"node:fs/promises";import{createHash as hg}from"node:crypto";import dd 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 Pi=new Set([void 0,...No]),ld=11,gg="history-drift-cache.json";function ud(e){return dd.join(e,"runtime",gg)}async function _g(e){try{let t=await Ut.readFile(ud(e),"utf8"),n=JSON.parse(t);return n.version!==ld||n.history_item_hash_version!==yn||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!Pi.has(r.hash_algorithm)||!Xe.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&Xe.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}function fd(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function md(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?[Q]:[]])].sort((n,r)=>n.localeCompare(r));return{...e,driftedItems:t}}async function yg(e,t,n,r,i){let o=bs(e),s;try{s=await Ut.stat(o)}catch(d){return ce(d)||i.unreadableStreams.push(Q),!1}let a=i.missingStreams.length,c=await pd({itemId:Q,historyPath:o,stat:s,cached:t[Q],verifyCacheHitByContent:r,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(Q),c.verification.chainOk||i.chainMismatches.push(Q),n[Q]={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 vg(e){return!Pi.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!Xe.includes(e.item_hash_version)}async function bg(e){let t=await Ut.readFile(e,"utf8"),n=hg("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=Se(r),s=r.some(vg),a=r[r.length-1],c=Pi.has(a.hash_algorithm),d=a.item_hash_version,l=d!==void 0&&Xe.includes(d),u=l?d:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?Ne(a.hash_algorithm):void 0,identityDiscontinuities:Mo(r),chainOk:o.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||l||d===void 0),contentHash:n,itemHashVersion:u??yn}}function wg(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function cd(e,t,n){try{return await bg(t)||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function kg(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 pd(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(wg(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await cd(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let n=await cd(e.itemId,e.historyPath,e.accumulator);return{verification:n,cacheDirty:!kg(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&&Xe.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function hd(e,t,n,r){let i,o;try{i=Io(e,t.id),o=await Ut.stat(i)}catch(d){return(ce(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await pd({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&&(ps({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function Eg(e,t){if(!(t.unreadableStreams.includes(Q)||t.chainMismatches.includes(Q)||t.versionSkews.includes(Q)))try{let n=await ws(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(Q)}}async function dC(e,t){let n=fd();return await hd(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},n),md(n)}async function gd(e,t,n={}){let r=fd(),i=(await _g(e))?.entries??{},o={},s=!1,a=n.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:a};for(let l of t)await hd(e,l,c,r)&&(s=!0);let d=await yg(e,i,o,a,r);if(s||=d,await Eg(e,r),s||Object.keys(i).length!==Object.keys(o).length){let l=ud(e);try{await Ut.mkdir(dd.dirname(l),{recursive:!0}),await q(l,JSON.stringify({version:ld,history_item_hash_version:yn,entries:o}))}catch{}}return md(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]="a6d2870f-ebba-580a-85e9-3eb44e533d08")}catch{}})();function _d(e,t){return t==="body"?e.body:e.metadata[t]}function Ig(e,t){if(t===null||typeof t!="object"||Array.isArray(t))return!1;let n=t;return e==="comments"?typeof n.created_at=="string"&&typeof n.author=="string"&&typeof n.text=="string":typeof n.path=="string"||e==="tests"&&typeof n.command=="string"}function Cg(e){let t={...e};if(t.source_kind==="merge_union"&&(t.source_kind="local_mutation"),t.provenance!==null&&typeof t.provenance=="object"&&!Array.isArray(t.provenance)){let n={...t.provenance};n.source_kind==="merge_union"&&(n.source_kind="local_mutation"),t.provenance=n}return t}function yd(e,t){if(!Array.isArray(t)||!["comments","docs","tests"].includes(e)||!t.every(r=>Ig(e,r)))return t;let n=t.map(r=>e==="comments"?r:Cg(r));return[...new Map(n.map(r=>[E(r),r])).values()]}function Ui(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)&&Ui(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)&&Ui(i,n[r]))}function vd(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 wn(o.patch))s.add(En(c.path)),c.from&&s.add(En(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 Sg(e,t,n){let r=kd.compare(t,n);if(r.length===0)return;let i=new Set;for(let m of r)i.add(En(m.path));let o=new Set([...i].filter(m=>Ui(yd(m,_d(t,m)),yd(m,_d(n,m))))),s=new Set([...i].filter(m=>!o.has(m))),a=vd(e,s),c=vd(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 Rg(e){try{return await wd(e)}catch{return null}}async function Tg(e){if(await Rg(ji.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[Ae(s),re(E(T(s)))].includes(n[o])})?{receipt:e.receipt,declaredFields:t}:null}async function xg(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 wd(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 bd(e,t,n,r){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,s=t.currentItemPath===null?null:ji.relative(o,t.currentItemPath).split(ji.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 Wc(o,i.item_path,i.operation,t.currentItemRawBeforeLock))throw new g("Restored-origin receipt evidence no longer proves the exact clean item snapshot.",_.CONFLICT,{code:"merge_reconcile_receipt_evidence_untrusted",recovery:{suggested_retry:"pm merge reconcile --dry-run"}})}async function Dg(e){let t=new Set(e.options.mergeReceiptProof?.receipts.filter(s=>s.item_id===e.subjectId).map(s=>s.id)??[]),n=e.options.mergeReceiptProof?await fr(e.options.mergeReceiptProof.gitWorkspaceRoot??process.cwd(),{includeReconciled:!0,includeLossless:!0,pmRoot:e.pmRoot}):void 0,r=n?.receipts.filter(s=>s.item_id===e.subjectId&&t.has(s.id))??[];rd(t,n,e.options.dryRun===!0);let i=e.options.mergeReceiptProof?await xg({proof:{...e.options.mergeReceiptProof,receipts:r},id:e.subjectId,itemPath:e.itemReplayContext.currentItemPath,currentItemReplay:e.itemReplayContext.currentItemReplay,reconciliation:e.reconciliation}):void 0;if(i&&!i.trusted&&e.options.force!==!0)throw new g(`Merge receipt evidence for ${e.subjectId} does not prove the exact item snapshot (${i.reason}).`,_.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 o=i?.trusted?r.filter(s=>i.receipt_ids.includes(s.id)):[];return{mergeReceiptProof:i,effectiveAuditContext:o.length>0&&e.options.force!==!0?{...e.options.auditContext,merge:{receipts:o.map(ur)}}:e.options.auditContext}}function Ag(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=bn(i.document),a=o[o.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:Ye(s,n,Ne(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 Lg(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=Ne(e.reanchorEntries.at(-1)?.hash_algorithm),i=Ye(e.finalReplay,e.itemHashVersion,r),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=i.indexOf(o),a=Ye(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:D(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?kd.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(vn({...c,event_class:Wo(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function Ng(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 Mg(e,t,n){let{pmRoot:r,settings:i,typeRegistry:o}=await Kr(n.path),s=await Os(r,e,i,o.type_to_folder);return t.salvageTail===!0?ad({pmRoot:r,subject:s,settings:i,typeRegistry:o,options:t,author:be(t.author,i.author_default)}):od({pmRoot:r,subject:s,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:a=>$g({pmRoot:r,subject:s,options:t},a)})}function Fg(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"&&E(i.context)===E(n));return e.forceAuditEntry===!0&&!r}async function $g(e,t){let{pmRoot:n,subject:r,options:i}=e,o=t.entries,s=t.verification,a=Se(o),c=i.normalizeProvenance?Oc(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},d=ys(c.entries),l=new Set(c.entries.map(j=>j.item_hash_version).filter(j=>j!==void 0)),u=kn(c.entries,d),f=Ag(r,t,d);await bd(i.mergeAbandonmentProof,f,s.ok,u);let p=u.finalDocument,m=Ye(p,d),h=!1;if(f.currentItemReplay!==null){let j=Ye(f.currentItemReplay,d);h=!m.some((W,te)=>W===j[te])}let y=h&&f.currentItemReplay?Sg(u.entries,p,f.currentItemReplay):void 0,{mergeReceiptProof:v,effectiveAuditContext:b}=await Dg({options:i,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:y}),w=[u.entriesRehashed>0,u.entriesPatchRepaired>0,h,Fg(i,u.entries,b),c.receipt.changed].some(Boolean),k=t.author,S=!!i.dryRun,x=Og({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:h}),{rewrittenEntries:U,auditEntryAdded:N}=Lg({reanchorEntries:u.entries,changed:w,reconcileNeeded:h,currentItemReplay:f.currentItemReplay,finalReplay:p,author:k,message:x,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...b,provenance_normalization:c.receipt}:b,itemHashVersion:d,explicitItemHashVersion:u.explicitItemHashVersion}),V=Ng(w,u.skippedOps,y);return{changed:w,rewrittenEntries:U,beforeWrite:async()=>bd(i.mergeAbandonmentProof,f,s.ok,u),report:({verification:j,warnings:W})=>({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:N,verify_ok:j.ok,verify_errors:j.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}:{},...v?{merge_receipt_proof:v}:{},warnings:[...new Set([...V,...W])].sort((te,_e)=>te.localeCompare(_e)),generated_at:D()})}}function NC(e,t){if(t&&e!==void 0)throw new g("history-repair: <id> and --all are mutually exclusive; pass an item id to repair one stream or --all to repair every drifted stream.",_.USAGE);if(!t&&e===void 0)throw new g("history-repair: provide an item <id> or pass --all to repair every drifted stream.",_.USAGE)}async function MC(e,t){if(e.salvageTail===!0)throw new g("Tail salvage requires one explicit item ID; --all is not supported.",_.USAGE);let{pmRoot:n,settings:r,typeRegistry:i}=await Kr(t.path),o=[],s=await Sn(n,r.item_format,i.type_to_folder,o,r.schema,{forceSourceScan:!0}),a=await gd(n,s),c=e.normalizeProvenance?await Lc(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 Mg(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 us(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 Ed=16;async function Id(e,t,n){let r=$(t,L()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<Ed;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await Re(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 BC(e){await Go({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await Id(e.pmRoot,e.settings,e.itemId)})}async function HC(e){await Ko(e)}async function GC(e){await zo({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await Id(e.pmRoot,e.settings,e.itemId)}:{}})}var KC={lineage_depth:Ed,active_items:64,evidence_rows:32};function Cd(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}(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]="c12559a3-2703-5665-9ec2-7309589be511")}catch{}})();var Bt=["priority_floor","weighted"],Pg="default-weighted-v1";function Sd(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==Pg)return i;let o=t.in_progress_status,s=a=>R(a.item.status,t)===o?-1:a.item.priority;return e.sort((a,c)=>s(a)-s(c)||a.rank-c.rank),e.forEach((a,c)=>{a.rank=c+1}),i}function Rd(e,t,n,r){let i=e[0];if(!i)return;if(r==="priority_floor"){let a=t.get(i.item.id);return a!==void 0&&a!==1?`priority floor (relevance rank ${a})`:void 0}let o=n.in_progress_status,s=e.slice(1).filter(a=>a.item.priority<i.item.priority&&R(a.item.status,n)!==o).map(a=>a.item.priority);return s.length>0?`relevance over p${Math.min(...s)} ready work`:void 0}import{encode as Ug}from"@toon-format/toon";import{createHash as jg}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]="66022e7d-1594-5b88-a283-c64830ff0dfd")}catch{}})();function Bi(e){let t=jg("sha256").update("[");for(let n of e)t.update(E(n)).update("\0");return t.update("]").digest("hex")}function pr(e,t){if(t===void 0)return D();let n=is(t).snapshot,r=`${e}:`,i=n?.slice(r.length);if(!n?.startsWith(r)||!i||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(i)||!Number.isFinite(Date.parse(i)))throw new g("Query cursor has no supported fixed-window clock.",_.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});return i}function Ht(e,t){let n=e.map((a,c)=>({row:a,index:c})),r=de(t.command,{query:t.query,rows_digest:Bi(e)}),i=t.after===void 0?void 0:os(t.after,r);if(i&&(i.after_index===void 0||i.after_id!==String(i.after_index)||i.after_index>=e.length))throw new g("Query cursor position is outside the matching window.",_.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});let o=as(n,{cursor:t.after,fingerprint:r,snapshot:`${t.command}:${t.clock}`,limit:t.limit??e.length,readId:({index:a})=>String(a)}),s=i?.after_index===void 0?0:i.after_index+1;return{...o,rows:o.rows.map(({row:a})=>a),count:o.rows.length,total_count:e.length,page_start:s,omitted_count:e.length-s-o.rows.length,has_more:s+o.rows.length<e.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]="351df2b3-3a1a-528c-96b9-72bb3e2f27fc")}catch{}})();var Hi=["agenda","day","week","month"],Gi=["markdown","toon","json"],Bg=["sun","mon","tue","wed","thu","fri","sat"],Hg=365,Gg=365,Ld=28,Kg=1e3;function Ki(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new g(`${t} must be a non-negative integer`,_.USAGE);return n}function zg(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 g("Calendar include filter must not be empty",_.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 g("Calendar include filter must be deadlines|reminders|events|scheduled|all",_.USAGE)}return r}function Nd(e,t){let n;for(let r of t){let i=Ro(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function qg(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Hi.includes(t)){let n=Nd(t,Hi);throw new g(`Calendar view must be one of ${Hi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,_.USAGE)}return t}function Vg(e){if(!e)return;let t=e.trim().toLowerCase();if(!Gi.includes(t)){let n=Nd(t,Gi);throw new g(`Calendar format must be one of ${Gi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,_.USAGE)}return t}function iS(e,t){let n=Vg(e.format);if(t.json&&n&&n!=="json")throw new g("Cannot combine --json with --format markdown|toon",_.USAGE);return t.json?"json":n??"markdown"}function Wg(e,t){if(e===void 0)return;let n=J(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new g(`Calendar status filter must be one of ${r.join("|")}`,_.USAGE)}return n}function Xg(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new g("Calendar assignee filter must be one of assigned|unassigned",_.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new g(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,_.USAGE);return t}function hr(e){return new Date(e).toISOString().slice(0,10)}function Md(e,t){if(!t||t==="UTC")return hr(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 hr(e)}function Wi(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function Ee(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Fd(e){let t=new Date(Wi(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return Ee(t.toISOString(),r)}function Yg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Jg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Qg(e,t){return C(e,t)>=0?e:t}function Td(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function xd(e,t){e.set(t,(e.get(t)??0)+1)}function Zg(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)=>Ge(r)-Ge(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 $d(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 Pd(e){return Bg[new Date(e).getUTCDay()]}function e_(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function t_(e){let t=new Set;for(let n of e??[]){let r=e_(n);r&&t.add(r)}return t}function n_(e,t,n,r,i){let o=e??Ee(n,-(r??Gg)),s=t??Ee(e??n,i??Hg);return{start:o,end:C(s,o)>0?s:Ee(o,1)}}function r_(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Pd(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??Kg,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:t_(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)=>Ge(s)-Ge(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function gr(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 _r(e,t){let n=Pd(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function i_(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(_r(e,t)&&gr(e,t)==="stop");n+=1)t=Ee(t,e.interval);return e.occurrences}function o_(e,t,n){let r=Ge(n),i=Ee(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 s_(e){let t=Fd(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=Ee(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=o_(e,r,i);if(_r(e,o)&&gr(e,o)==="stop")return e.occurrences}}return e.occurrences}function a_(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=$d(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!_r(e,s))&&gr(e,s)==="stop")return e.occurrences}}return e.occurrences}function c_(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=$d(i,n,o,e.startDate);if(!(!s||!_r(e,s))&&gr(e,s)==="stop")return e.occurrences}}return e.occurrences}function d_(e,t,n,r){let i=r_(e,t,n,r);return t.freq==="daily"?i_(i):t.freq==="weekly"?s_(i):t.freq==="monthly"?a_(i):c_(i)}function jd(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 Xi(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 l_(e){return e.deadline?{at:e.deadline,date:hr(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,...Xi(e),item_deadline:e.deadline}:null}function u_(e){return(e.reminders??[]).map(t=>({at:t.at,date:hr(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,...Xi(e)}))}function f_(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function m_(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function p_(e,t,n,r){let i=Zg(t.recurrence),o=f_(t.start_at,t.end_at);return(t.recurrence?d_(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Md(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:m_(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,...Xi(e)}))}function h_(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?l_(o):null;s&&i.push(s),n.has("reminders")&&i.push(...u_(o));for(let a of n.has("events")?o.events??[]:[])i.push(...p_(o,a,t,r))}return jd(i)}function g_(e,t,n,r,i){let o=Gs(t.type,n),s=t.tag?.trim().toLowerCase(),a=Nn(t.priority),c=Wg(t.status,r),d=t.assignee?.trim(),l=Xg(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new g('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',_.USAGE);if(d!==void 0&&l==="unassigned")throw new g("Cannot combine --assignee with --assignee-filter unassigned",_.USAGE);return e.filter(p=>__(p,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function __(e,t){return y_(e,t)&&v_(e,t)&&Cn(e,t.runtimeFieldFilters)}function y_(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 v_(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 b_(e,t,n){return!(t&&C(e.at,t)<0||n&&C(e.at,n)>=0)}function zi(e,t,n){return e.trim().toLowerCase()==="today"?Wi(t):ve(e,new Date(t),n)}function w_(e,t,n){let r=t.date?zi(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?zi(t.from,n,"--from"):void 0,a=t.to?zi(t.to,n,"--to"):void 0;if(s&&a&&C(s,a)>=0)throw new g("Calendar --from must be before --to",_.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new g("--from and --to are only supported for --view agenda",_.USAGE);if(e==="agenda")return k_(r,t,n,i,o,s,a);if(e==="day"){let d=Wi(r);return qi(r,n,i,o,d,Ee(d,1))}if(e==="week"){let d=Fd(r);return qi(r,n,i,o,d,Ee(d,7))}let c=Yg(r);return qi(r,n,i,o,c,Jg(r))}function k_(e,t,n,r,i,o,s){if(i)throw new g("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",_.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function qi(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Qg(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function E_(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:jd(r)}))}function I_(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),xd(n,c.item_type),xd(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:Td(n),by_status:Td(r),recurring_events:a}}function C_(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Ud(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 Vi(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function S_(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Md(e.event_end,e.event_timezone)?Ud(e.event_end,e.event_timezone):e.event_end:null}function R_(e){let t=`${Ud(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=S_(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 Dd(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function oS(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${C_(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- matching-events: ${e.total_count}; returned: ${e.count}; remaining: ${e.omitted_count} (summary: ${e.summary_scope})`),e.next_cursor&&t.push(`- continue: repeat the same query with --after ${e.next_cursor}`),t.push(`- by-kind: ${Vi(e.summary.by_kind)}`),t.push(`- by-type: ${Vi(e.summary.by_type)}`),t.push(`- by-status: ${Vi(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(e.total_count===0?"No calendar events matched the selected filters.":"No calendar events returned on this page. Repeat the same query with --limit 1 or greater to retrieve matching events."),t.push(""),Dd(t,e.warnings),Ad(t.join(`
13
+ `));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${R_(r)}`);t.push("")}return Dd(t,e.warnings),Ad(t.join(`
14
+ `))}function sS(e){return Ug(e)}function Ad(e){let t=e.length;for(;t>0&&e[t-1]===`
15
+ `;)t-=1;return e.slice(0,t)}function T_(e){let t=pr("calendar",e.after),n=qg(e.view),r=w_(n,e,t),i=oe(e.limit),o=zg(e.include),s=Ki(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Ki(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=Ki(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new g("Calendar occurrence limit must be >= 1",_.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?Ld:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function x_(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Ld}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Od(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 D_(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 Bd(e,t){let n=M(process.cwd(),t.path);await Z(n);let r=T_(e),i=await P(n),o=Y(i.schema),s=ln(i.schema),a=In(e,s,"calendar"),c=$(i,L()),d=[];x_(d,r.eventsOnlyCapApplied);let l=await ue(n,i.item_format,c.type_to_folder,d,i.schema),u=g_(l,e,c,o,a),f=n_(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=h_(u,f,r.includeSources,r.occurrenceLimit).filter(b=>b_(b,r.rangeBounds.start,r.rangeBounds.end)),{rows:m,...h}=Ht(p,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...Od(e,a),limit:void 0},recurringWindow:f,occurrenceLimit:r.occurrenceLimit}}),y=E_(m),v=[...new Set(d)].sort((b,w)=>b.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:D_(e,r.rangeBounds),filters:Od(e,a),...h,summary_scope:"returned_rows",summary:I_(m),events:m,days:y,...v.length>0?{warnings:v}:{}}}(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 yr={version:1,aliases:{}};function vr(e=[]){let t=new Set(Ve),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function Hd(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function Yi(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 Ji(e,t=Ve){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 g(`Provenance predicate must use dimension=value; received "${o.trim()}".`,_.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 g(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,_.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new g(`Provenance predicate must use dimension=value; received "${o.trim()}".`,_.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function br(e,t=yr,n={}){let r=Yi(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 uS(e,t,n=yr,r=Ve){return Qi(t,n,r)(e)}function Qi(e,t=yr,n=Ve){let r=Hd(e.harness),i=Hd(e.agentInstance),o=Ji(e,n);return s=>{let a=Yi(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 wr(e,t=yr,n=Ve){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);Yi(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 A_ from"node:fs/promises";import Kd 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]="aa1ede64-e578-57da-9194-1cd646cee915")}catch{}})();var O_=20,L_=5,N_=15,M_="-24h";function ES(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 F_={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Zi(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new g(`${t} must not be empty`,_.USAGE);return n}function Gd(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new g("Activity time bounds must not be empty",_.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return ve(i,new Date(t),n)}function $_(e,t,n){return!(e.ts.length===0&&(t||n)||t&&C(e.ts,t)<0||n&&C(e.ts,n)>=0)}function Gt(e,t=""){return typeof e=="string"?e:t}function P_(e,t){return{...t,id:e,ts:Gt(t.ts),author:Gt(t.author,"unknown"),op:Gt(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Gt(t.before_hash),after_hash:Gt(t.after_hash)}}function j_(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 U_(e){try{return(await A_.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(ce(t))return[];throw t}}function B_(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"?N_:n==="compact"?O_:L_}function G_(e,t,n){let r=t==="digest",i=Gd(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Gd(e.from??(r?M_:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&C(o,i)>=0)throw new g("Activity --from must be before --to",_.USAGE);let s=Gr(e.limit);if(e.unbounded===!0&&s!==void 0)throw new g("Activity --unbounded cannot be combined with --limit",_.USAGE);return{id:Zi(e.id,"Activity --id"),op:Zi(e.op,"Activity --op"),author:Zi(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 K_(e){let t=M(process.cwd(),e.path);return await Z(t),{pmRoot:t,settings:await P(t)}}async function z_(e){let t=$(e.settings,L()),n=await ue(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await vs({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Kd.join(e.pmRoot,"history");return await dn({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function q_(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:$_(t,n.from,n.to)}async function V_(e,t){let n=[];for(let r of await U_(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await un(Kd.join(e,r),i);for(let s of o){let a=P_(i,s);q_(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 X_(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 Y_(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:X_(i.operations)}}).sort((r,i)=>C(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function J_(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 Q_(e,t,n,r,i){if(e==="digest"){let{rows:a,...c}=Ht(Y_(t,r),n);return{rows:{activity_digest:a},compact:!1,page:c}}let{rows:o,...s}=Ht(t,n);return e==="compact"?{rows:{compact_activity:W_(o)},compact:!0,page:s}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,page:s}:{rows:{activity:o},compact:!1,page:s}}async function zd(e,t){let n=await K_(t),r=B_(e),i=pr("activity",e.after),o=G_(e,r,i),s=await z_(n),a=vr(n.settings.agent_identity.harness_signals),c=n.settings.agent_identity.identity_vocabulary,d=Qi({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},c,a),l=j_(await V_(s.historyDir,o)).filter(d),u=Q_(r,l,{command:"activity",after:e.after,clock:i,limit:o.limit,query:{pmRoot:n.pmRoot,projectionMode:r,filters:{...o,limit:void 0,limitSource:void 0},matching_activity_digest:r==="digest"?Bi(l):void 0,vocabulary:c,provenanceDimensions:a}},s.itemsById,f=>br(f,c,{itemId:f.id}));return{...u.rows,compact:u.compact,projection:{mode:r,row_key:F_[r]},omission_receipt:Qo("activity",r),...u.page,window:{anchor:i,from:o.from??null,to:o.to??null},limit:o.limit??null,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:l.length,item_count:u.page.total_count,author_count:new Set(l.map(f=>f.author)).size,operation_counts:J_(l)}}:{},...e.provenanceSummary===!0?{provenance_summary:wr(l,c,a)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.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 qd="1970-01-01T00:00:00.000Z";function Kt(e){if(typeof e!="string")return null;let t=e.trim();if(!on(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return ve(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var eo=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Z_=Symbol("no-context-author"),ey=Symbol("no-item-assignee");function Vd(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function ty(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 ny(e){let t=ty(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Kt(e.created_at)??qd}}function ry(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=Kt(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 iy(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 oy(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 sy(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 kr(e,t,n){return e?.[t]??n}function Er(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?ny(d):ry(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=Vd(t.author,Z_),a=J("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=Vd(d.assignee,ey)===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:kr(t.graphProximity,d.id,d.parent?.3:0),claim_focus:kr(t.claimFocus,d.id,R(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:iy(d.priority,4),risk_pressure:sy(d.risk),deadline_pressure:oy(d.deadline,c),knowledge_density:kr(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:kr(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var ay="context_relevance",cy={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},dy=new TextEncoder;function ly(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"||!eo.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 uy(e){let t={...cy};for(let[n,r]of Object.entries(e??{}))r!==void 0&&eo.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 Xd(e,t={}){ly(e);let n=uy(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=eo.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 fy(e,t={}){let n=Xd(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 Ir(e,t,n={}){let r=Xd(t,n),i=await Oo(ay,{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 fy(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 my=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Wd(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function py(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:Wd(e.required_ids??[],a),continuity_coverage:Wd(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function hy(e){return Math.ceil(dy.encode(JSON.stringify(e)).byteLength/4)}function gy(e){return Math.round(e*1e4)/1e4}function _y(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 yy(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"});if(fn(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new g(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,_.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=_y(n,e.surface),o={...n,ranking:void 0},s=hy(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:py({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 vy(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=my;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,gy(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 NS(e,t,n){let r=[];for(let i of e)r.push(await yy(i,t));return vy(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 by={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},wy=["identity","summary","full"];function ky(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=wy.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 Ey(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=by[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 Iy(e){let t=new Set;for(let n of e){if(ky(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 Cy(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 Sy(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=Cy(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 Ry(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 Yd(e,t){let n=Ey(t),r=Iy(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Sy({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=Ry(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 zt from"node:fs/promises";import qt from"node:path";import{createHash as Jd,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]="179e487f-baf9-59d1-a438-3ae0c12b00eb")}catch{}})();var to=3,no=2,Qd=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],xy=new Set(["substantive_history","release_cohort","created_at"]),Dy={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 ut(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Zd(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Ay(e){let t={};for(let n of Qd){let r=e[n];if(r!==void 0){if(!Zd(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 Ly(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 el(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??Ly(e)}}function oo(e){let t=Jd("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 Ny(e){if(!ut(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ut(e.signals),ut(t)].every(Boolean))return null;let n=t.recency;if(!ut(n))return null;let r=Kt(n.coordinate);if(r===null)return null;let i=new Set(Qd),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Zd(a))||![typeof n.source=="string"&&xy.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 My(e,t){let n=Array.from(e,Ny);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!==oo(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function Fy(e){if(!ut(e)||e.format_version!==to||e.signal_set_version!==no||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=My(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:to,signal_set_version:no,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function tl(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 nl(e,t,n=oo(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:Ay(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:to,signal_set_version:no,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 zS(e,t){return tl(t),nl(Er(e,el(e,t)),t)}var ro=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=qt.resolve(t)}async read(){try{return JSON.parse(await zt.readFile(this.filePath,"utf8"))}catch(t){if(ut(t)&&He(t))return null;throw t}}async write(t){let n=qt.dirname(this.filePath);await zt.mkdir(n,{recursive:!0});let r=qt.join(n,`.${qt.basename(this.filePath)}.${Ty()}.tmp`);try{await zt.writeFile(r,`${JSON.stringify(t)}
16
+ `,{encoding:"utf8",flag:"wx"}),await zt.rename(r,this.filePath)}finally{try{await zt.rm(r,{force:!0})}catch{}}}},io=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){tl(n);let r=[],i=null;try{let f=await this.adapter.read();i=Fy(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=Er(t,el(t,n)),c=oo(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{l=nl(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=>Dy[f])}}};function $y(e){let t=Jd("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 Cr(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 Je(t.pmRoot),o=t.sourceCursor??i?.source_cursor??$y(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new io(new ro(qt.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 Py(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 jy(e,t,n){let r,i;for(let o of t){let s=Py(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 rl(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 VS(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=jy(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import Uy from"node:path";import{createHash as By}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 il=1,Gy=1e4,ol=12;function Ky(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function zy(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 qy(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 Vy(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=rl(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=Ky(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=zy(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:il,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(qy).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 Xy(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 Yy(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==il||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(Xy)?t:null}function Jy(e){return`scan:${By("sha256").update(E(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Qy(e,t,n){return n!==void 0?n:(await Je(t))?.source_cursor??Jy(e)}async function Zy(e){try{let t=Yy(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&&He(t))}}}async function sl(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 Qy(e,t.pmRoot,t.sourceCursor),i=Uy.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Zy(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=Vy(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await q(i,`${JSON.stringify(c)}
17
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function ev(e,t,n=ol){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 al(e,t,n=ol){if(e.snapshot===null)return;let r=ev(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 tv(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 rR(e,t,n=5){let r=tv(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]="4596ea7d-70be-5d61-bccb-66989e1555c0")}catch{}})();var nv=["markdown","toon","json","ndjson"],Tr=new Set(["Epic","Feature"]),ao=10,fl=1e4,ml=["hierarchy","activity","progress","recently_created","unparented","workload"],rv=[...ml,"blockers","files","staleness","tests"],iv=/^(\d{4})-(\d{2})-(\d{2})/,ov=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,sv=/^(\d{4})(\d{2})(\d{2})$/,av=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function cv(e){if(!e)return;let t=e.trim().toLowerCase();if(!nv.includes(t))throw new g("Context format must be one of markdown|toon|json|ndjson",_.USAGE);return t}var cl=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 dv(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!cl.has(r))throw new g(`Context --fields value not projectable: ${r} (valid: ${[...cl].join(", ")})`,_.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new g("Context --fields requires at least one field name",_.USAGE);return t}function Vt(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function CR(e,t){let n=cv(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new g("Cannot combine --json with --format markdown|toon",_.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function lv(e,t){return oe(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:ao)}function co(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new g("--token-budget must be a positive integer",_.USAGE);return n}function uv(e,t){return t>=fl&&e===Number.MAX_SAFE_INTEGER?ao:e}function fv(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Nr.includes(n))throw new g(`Context --depth must be one of ${Nr.join("|")}`,_.USAGE);return n}function mv(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!nn.includes(o))throw new g(`Context --section must be one of ${nn.join("|")}`,_.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...nn]:(t==="deep"?rv:ml).filter(r=>n.sections[r])}function pv(e,t){return e?oe(e,"--activity-limit")??t.activity_limit:t.activity_limit}function hv(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new g("--stale-threshold must be a number of days (e.g. 7 or 7d)",_.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new g("--stale-threshold must be positive",_.USAGE);return i}function dl(e,t){let n=R(e,t),r=J("blocked",t),i=J("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 Wt(e,t){let n=J("closed",t);return R(e,t)===n}function lo(e,t){return R(e,t)===t.in_progress_status}function pl(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function gv(e,t){return t.blocked_statuses.has(R(e,t))}var _v=["compact","brief","fields","includeBody","include_body","parent"];function yv(e){let t={...e};for(let n of _v)delete t[n];return t}function uo(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=ft(e),o=Xt(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function vv(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new g("Context --parent requires an item id",_.USAGE);return t}function bv(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function wv(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 kv(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Ev(e){let t=iv.exec(e)??ov.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<=kv(n,r-1)}function Iv(e){let t=sv.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=av.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 hl(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Ev(t))return Number.NaN;let n=Date.parse(Iv(t));return Number.isFinite(n)?n:Number.NaN}function so(e){let t=hl(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Cv(e){let t=hl(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function fo(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function Be(e,t,n){let r=dl(e.status,n)-dl(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=bv(e.order,t.order);if(o!==0)return o;let s=wv(e.deadline,t.deadline);if(s!==0)return s;let a=C(so(t.updated_at),so(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Sr(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function mo(e,t,n=new Set,r="context"){return Yd(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:Sr({id:i.id,title:i.item.title}),summary:Sr({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Sr(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function po(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function ho(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 Rr(e,t){return t>0?Math.round(e*100/t):0}function ft(e){let t=new Map;for(let n of e){let r=fo(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Yt(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:fo(e.parent)};if(t&&n){let i=Xt(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Wt(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Rr(s,o)}}return r}function Sv(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 xr(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Rv(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=ft(e),s=new Set(t.filter(c=>Tr.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let l=Xt(c,o),u=o.get(c)??[],f=0,p=0,m=0,h=0;for(let v of l)Wt(v.status,n)?f++:lo(v.status,n)?m++:gv(v.status,n)?h++:pl(v.status,n)&&p++;let y=u.sort((v,b)=>Be(v,b,n)).slice(0,r).map(v=>{let b=Xt(v.id,o),w=b.filter(k=>Wt(k.status,n)).length;return{id:v.id,title:v.title,type:v.type,status:v.status,children_total:b.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 Be(l,u,n)}).slice(0,r)}function Xt(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 xv(e,t){return(await zd({compact:!0,limit:String(e)},t)).compact_activity??[]}function Dv(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=>Tr.has(c.type)),a=[];for(let c of s){let d=Xt(c.id,o),l=d.length;if(l===0)continue;let u=0,f=0,p=0,m=0;for(let h of d)Wt(h.status,r)?u++:n.has(h.id.trim().toLowerCase())?m++:lo(h.status,r)?p++:pl(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:Rr(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function Av(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=Ln(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 Lv(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=>lo(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function Nv(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 Mv(e,t,n,r){return e.map(i=>({item:i,sortKey:so(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})=>({...Yt(i,t,n),created_at:i.created_at}))}function Fv(e,t,n,r){return e.filter(i=>!fo(i.parent)&&!Tr.has(i.type)).sort((i,o)=>Be(i,o,t)).slice(0,r).map(i=>Yt(i,t,n))}function $v(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{scope:"matching_active_items",total_items:e.length,items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function ll(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function gl(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 Pv(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function jv(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`${ll(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${ll(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 ul(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 Uv(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 Bv(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(`- ${jv(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=Rr(n.children_closed,n.children_total);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=Rr(i.children_closed,i.children_total);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 Kv(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)}`:`- ${Cv(i.created_at)} ${gl(i)}`);e.push("")}}function zv(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 qv(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 Vv(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 Xv(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 Yv(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 Jv(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=Sr(o);if(i+s>n)break;r.push(o),i+=s}return r}function Qv(e,t){if(!t.tests)return;e.push("## Test health"),e.push(`- ${t.tests.scope}: ${t.tests.total_items}`),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}`);let n=Jv(t.tests,t.applied_limit??ao,t.filters.token_budget);n.length>0&&e.push(`- items_failing: [${n.join(",")}]`);let r=t.tests.items_failing.length-n.length;r>0&&e.push(`- items_failing_omitted: ${r}`),e.push("")}function Zv(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 SR(e){let t=[],n=e.focus_fields,r=o=>n?Pv(o,n):gl(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(""),ul(t,"High-level focus",e.high_level,"No high-level active items.",r),ul(t,"Low-level focus",e.low_level,"No low-level active items.",r),Uv(t,e,r),Bv(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),Kv(t,e,n,r),zv(t,e,r),qv(t,e),Vv(t,e),Wv(t,e),Xv(t,e),Yv(t,e),Qv(t,e),Zv(t,e),t.join(`
18
+ `)}var eb=new Set(["status","no_truncate","limit","sort","order"]);function tb(e){let{runtime_filters:t,...n}=e;return Object.keys(n).some(r=>!eb.has(r))||Object.keys(Object(t)).length>0}async function nb(e,t){return tb(t.filters)?(await nt(void 0,_l({},{excludeTerminal:!1}),e)).items:t.items}async function rb(e,t){let n=M(process.cwd(),t.path),r=await P(n),i=r.context??vo.context,o=Y(r.schema),s=fv(e.depth,i),a=lv(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:mv(e.section,s,i),activityLimit:pv(e.activityLimit,i),staleThresholdDays:hv(e.staleThreshold,i),parentScope:vv(e.parent),focusFields:dv(e.fields),baseListOptions:yv(e)}}function ib(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function _l(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function ob(e,t){let n=await nt(void 0,_l(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=await nb(e,n),o=r.filter(c=>!F(c.status,t.statusRegistry)),s=r,a=sb(t.parentScope,i);return a&&(o=o.filter(c=>a.has(c.id.trim().toLowerCase())),s=s.filter(c=>a.has(c.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:s,fullCorpus:r,edgeCorpus:i,subtreeIds:a}}function sb(e,t){if(e===void 0)return;let n=uo(t,e);if(!n.found)throw new g(`Context --parent item not found: ${e}`,_.NOT_FOUND);return n.ids}function ab(e,t,n,r){let i=new Set(kt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Tr.has(o.type)||i.has(o.id)||xe(o.type,r)!=="agent").map(o=>o.id))}async function cb(e,t,n,r,i,o,s,a,c,d,l,u,f,p,m,h){let y=[...e].sort((I,ht)=>Be(I,ht,i)),v=await _n({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),b=await Cr(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:v.affinity,claimFocus:m}),w=await Ir("context",b.candidates),k=w.ranked.map(I=>I.item),S=i.active_statuses,x=k.filter(I=>S.has(R(I.status,i))),U=u?We(x,d,l,I=>I.id):0,N=u?x.slice(U,U+s):x,V=u&&N.length>0&&U+N.length<x.length,j=V&&N.length>0?le(l,N[N.length-1].id,U+N.length-1):void 0,W=k.filter(I=>r.has(I.id.trim().toLowerCase())),te=new Set([...N.map(I=>I.id),...W.filter(I=>!S.has(R(I.status,i))).slice(0,s).map(I=>I.id)]),_e=mo({...w,ranked:w.ranked.filter(I=>te.has(I.id))},p,new Set(Object.entries(m??{}).filter(([,I])=>I>=1).map(([I])=>I))),X=_e.included.map(I=>I.item),ne=X.filter(I=>S.has(R(I.status,i))),Ie=X.filter(I=>r.has(I.id.trim().toLowerCase())),B=ft(t),mt=ib(o)?B:void 0,pt=new Map(n.map(I=>[I.id.trim().toLowerCase(),I])),Ce=I=>{let ht=Yt(I,i,mt);return r.has(I.id.trim().toLowerCase())&&(ht.blocked=!0,ht.blocker_ids=Ln(I,pt,i).filter(Ar=>!Ar.resolved).map(Ar=>Ar.id)),ht},en=ab(ne,n,i,h),K=ne.filter(I=>en.has(I.id)).slice(0,u?N.length:s).map(Ce),z=ne.filter(I=>!en.has(I.id)).slice(0,u?N.length:s).map(Ce),yo=x.length===0;return{activeItems:ne,blockedItems:Ie,highLevel:K,lowLevel:z,blockedFallback:yo?Ie.slice(0,s).map(Ce):[],blockedFallbackUsed:yo,ranking:w,packing:_e,featureStore:b,pageExtras:{...u?{applied_limit:s}:{},...V?{has_more:!0,truncated:!0}:{},...j?{next_cursor:j}:{}}}}function db(e,t){return de("context",{pmRoot:t,options:mn(e,Ns)})}function lb(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=fl}async function ub(e,t,n,r){let i={...t.baseListOptions,after:void 0,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Bd(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=Rv(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:Sv(a)}}function yl(e,t,n){let r=String(t);return e.filter(i=>R(i.status,n)===r).length}async function fb(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=ft(n),d=n.filter(u=>!F(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 xv(t.activityLimit,a):void 0,progress:l("progress")?Dv(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Av(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?Mv(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?Fv(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?Ov(o.activeItems,t.limit):void 0,workload:l("workload")?Lv(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Nv(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?$v(n.filter(u=>t.statusRegistry.active_statuses.has(R(u.status,t.statusRegistry)))):void 0}}function mb(e,t,n){let r=J("canceled",t),i=e.filter(s=>t.active_statuses.has(R(s.status,t))),o=yl(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=>Wt(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function pb(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 hb(e,t){t&&(e.focus_fields=t,e.high_level=Vt(e.high_level,t),e.low_level=Vt(e.low_level,t),e.blocked_fallback=Vt(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Vt(e.recently_created,t)),e.unparented&&(e.unparented=Vt(e.unparented,t)))}function gb(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 _b(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 yb(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 hn(e,"context"))s.has(c)||(o.push({id:c,rank:o.length+1,included:!1}),s.add(c));let a=await gn({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});pn(e,a)}catch{e.warnings=xr(e.warnings,["context_usage_feedback_write_failed"])}}async function vb(e,t,n){if(e)return{};let r=(await xo({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 bb(e,t){let n=qo(),r=await Bo(e),i=n.instance||Ho(t);return Cd(r.semantic_attribution?.[i])}async function RR(e,t){let n=M(process.cwd(),t.path),r=await rb(e,t),i=await ob(t,r),o=uv(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:co(e.tokenBudget,Math.max(256,o*160))},a=be(void 0,s.settings.author_default),c=await bb(n,a),d=vb(e.noExtensionHealth===!0,n,s.settings),l=wt(i.edgeCorpus,s.statusRegistry),u=await cb(i.listedItemMetadata,i.allItems,i.edgeCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,db(e,n),lb(e,i.fullCorpus.length),n,s.tokenBudget,c,$(s.settings,L())),f=await ub(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),p=await sl(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),m=xr(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],p.warnings),h=yl(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-h,v=await fb({runtime:s,allItems:i.allItems,fullCorpus:i.edgeCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),b=mb(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,...b},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=al(p,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),pb(w,v,u.featureStore.warning_details),gb(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=ho(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),w.packing=po(u.packing)),Zo(w,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:R(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),hb(w,s.focusFields),es(w),m.length>0&&(w.warnings=m),_b(w,u.activeItems,u.blockedItems),await yb(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 vl(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max($r(r,"json"),$r(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]="b01faffe-d88f-5095-8d28-167943ec5067")}catch{}})();var wb=["markdown","toon","json"],kb=5,Eb=1440*60*1e3;function Ib(e,t){let n=e??t;if(typeof n=="string"&&Bt.includes(n))return n;throw new g(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${Bt.join(", ")}.`,_.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...Bt]}})}function Cb(e){if(!e)return;let t=e.trim().toLowerCase();if(!wb.includes(t))throw new g("Next format must be one of markdown|toon|json",_.USAGE);return t}function GR(e,t){let n=Cb(e.format);if(t.json&&n&&n!=="json")throw new g("Cannot combine --json with --format markdown|toon",_.USAGE);return t.json?"json":n??"toon"}function bl(e,t,n){let r=oe(e,t);return r===void 0||r<=0?n:r}function Jt(e,t,n,r){return{...Yt(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 Sb(e,t,n,r){let i=e.item,o=[],s=J("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(Rb(i.deadline,n)),o.push(Fe(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 wl(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 KR={partitionCallerOwnedReady:wl,resolveNextCallerAuthor:(e,t)=>kl(e,t)};function zR(e,t,n){let r=e.filter(i=>xe(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>xe(i.item.type,n)!=="human"),decisions:t?[]:r}}function Rb(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))/Eb);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function Tb(e,t){let n=J("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function go(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function xb(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 Dr(e,t,n){return[...e].sort((r,i)=>{let o=go(r.item,t),s=go(i.item,t);return o!==s?Number(o)-Number(s):Be(r.item,i.item,n)})}function Db(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...Sb(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function Ab(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 Ob(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 Lb(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 hn(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await gn({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});pn(e.result,i)}catch{e.result.warnings=xr(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Nb(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=Ab(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&vl(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=ho(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=po(mo(e.readyRanking,e.packingBudget,new Set,"next"))),await Lb({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Mb(e,t,n){if(!n)return e;let r=uo(t,n);if(!r.found)throw new g(`Next --parent item not found: ${n}`,_.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function Fb(e,t,n,r,i,o,s,a){let c=e.filter(h=>!go(h.item,t)),d=s||c.length===0?e:c,l=await _n({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await Cr(d.map(h=>h.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:l.affinity}),f=await Ir("next",u.candidates),p=Sd(f.ranked,n,a,f.model),m=new Map(d.map(h=>[h.item.id,h]));return{projectedReady:f.ranked.map(h=>m.get(h.id)).filter(h=>h!==void 0),ranking:f,completedContainer:c.length===0&&!s,featureStore:u,relevanceRank:p}}function kl(e,t){let n=e.assignee?.trim();return be(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function $b(e,t){return e.tokenBudget===void 0?null:t}async function qR(e,t){let n=M(process.cwd(),t.path),r=await P(n),i=kl(e,r.author_default),o=Y(r.schema),s=Ib(e.rankingPolicy,r.context.next_ranking_policy),a=$(r,L()),c=D(),d=bl(e.limit,"--limit",kb),l=co(e.tokenBudget,Math.max(192,d*128)),u=$b(e,l),f=bl(e.blockedLimit,"--blocked-limit",d),p=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",h=await nt(void 0,xb(e,{excludeTerminal:!0}),t),y=await nt(void 0,{excludeTerminal:!1,noTruncate:!0},t),v=Mb(h.items,y.items,m),b=y.items,w=kt(v,b,o,a),k=ft(b),S=Wr(w,o,e,a),x=wl(S.ready,r.author_default,i),U=Dr(x.available,k,o),N=[...w.blocked].sort((K,z)=>Be(K.item,z.item,o)),{projectedReady:V,ranking:j,completedContainer:W,featureStore:te,relevanceRank:_e}=await Fb(U,k,o,c,i,n,e.includeContainers===!0,s),X=V.map((K,z)=>Jt(K,o,k,z+1)),ne=N.map((K,z)=>Jt(K,o,k,z+1)),Ie=Dr(S.decisions,k,o).map((K,z)=>Jt(K,o,k,z+1)),B=Dr(S.gates,k,o).map((K,z)=>Jt(K,o,k,z+1)),mt=Dr(w.containers,k,o).map((K,z)=>Jt(K,o,k,z+1)),pt=Db({projectedReady:V,readyRows:X,statusRegistry:o,now:c,completedContainer:W,policyReason:Rd(V,_e,o,s)}),Ce=Ob(Ie.length,x.held.length,X.length,d)??{};B.length>d&&(Ce.gate_needed_total=B.length),mt.length>d&&(Ce.containers_total=mt.length);let en={output_default:"toon",now:c,recommended:pt,ready:X.slice(1,d+1),decision_needed:Ie.slice(0,d),gate_needed:B.slice(0,d),containers:mt.slice(0,d),blocked:p?[]:ne.slice(0,f),held_by_others:x.held.slice(0,d),summary:{recommended:pt!==null,ready:X.length,blocked:ne.length,in_progress:Tb(X,o),candidates:w.active_count,containers:w.container_count,decision_needed:Ie.length,gate_needed:B.length,held_by_others:x.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:m.length>0?m:null,limit:d,blocked_limit:f,ready_only:p,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:u,ranking_policy:s},truncation:Object.keys(Ce).length>0?Ce:void 0};return Nb({result:en,recommended:pt,blockedRows:ne,gateCount:B.length,candidatesWarnings:h.warnings,corpusWarnings:y.warnings,readyRanking:j,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:l,featureStore:te,tokenBudget:u,hasIntentBudget:typeof e.for=="string"})}function VR(e){let t=["# pm next","",...Pb(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Qt(n,r.map(i=>`- ${Zt(i)}`),""));if(t.push(...Qt("Recommended",jb(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Qt("Decision needed",(e.decision_needed??[]).map(n=>`- ${Zt(n)}`),"No human-gated decisions.")),t.push(...Qt("Ready",e.ready.map(n=>`- ${Zt(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Qt("Blocked",e.blocked.map(n=>`- ${Ub(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 Pb(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 jb(e){return e?[`- ${Zt(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Qt(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Ub(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Zt(e)} blocked_by:${t}`}function Zt(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 Bb}from"node:crypto";import{setTimeout as Hb}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]="c583f859-9204-565b-b143-59aba53c3e9c")}catch{}})();var Cl=1,Sl=/^[A-Za-z0-9_-]+$/,Gb=100,El=1e3,Kb=250,sT=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function ae(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 Rl(e){return Bb("sha256").update(E({type:ae(e.type),author:ae(e.author),item:ae(e.item),harness:ae(e.harness),agent_instance:ae(e.agentInstance),provenance:ae(e.provenanceFilter)})).digest("hex").slice(0,24)}function _o(e,t){let n={version:Cl,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 Tl(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Cl,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 xl(e,t){let n=e.trim();if(n.length===0||n.length>4096||!Sl.test(n))throw new g("Invalid mutation event cursor.",_.USAGE,{code:"invalid_event_cursor"});let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw new g("Invalid mutation event cursor.",_.USAGE,{code:"invalid_event_cursor"})}if(!Tl(r,t))throw new g("Mutation event cursor does not match this query.",_.USAGE,{code:"event_cursor_query_mismatch"});return r}function Dl(e){let t=e??Gb;if(!Number.isSafeInteger(t)||t<0||t>El)throw new g(`Mutation event limit must be an integer from 0 to ${El}.`,_.USAGE,{code:"invalid_event_limit"});return t}function Al(e){return e instanceof Error&&e.name==="AbortError"}function Ol(e,t){let n=e?.trim();if(!n)return{};if(Sl.test(n))return{cursor:xl(n,t)};let r=Date.parse(n);if(!Number.isFinite(r))throw new g("Mutation event --since must be an event cursor or ISO timestamp.",_.USAGE,{code:"invalid_event_since"});return{sinceTimestamp:new Date(r).toISOString()}}async function zb(e,t){if(t.verify)return Il(e,t);let n=await Fr(e,t),r=n.result;if(r===null&&n.repair_needed)try{await Xo(e,{lockWaitMs:0})&&(r=(await Fr(e,t)).result)}catch{}return r===null?Il(e,t):{...r,source:"derived_index"}}async function Il(e,t){try{return{...await Yo(e,t),source:"authoritative_history"}}catch(n){throw n instanceof g?n:new g("Mutation events are unavailable because authoritative history could not be read.",_.GENERIC_FAILURE,{code:"event_index_unavailable",why:Co(n)})}}function qb(e){let t=e??"batch";if(t!=="batch"&&t!=="row")throw new g("Mutation event cursor mode must be batch or row.",_.USAGE,{code:"invalid_event_cursor_mode"});return t}async function Vb(e={}){let t=M(e.cwd??process.cwd(),e.pmRoot);await Z(t);let n=Dl(e.limit),r=qb(e.cursorMode);if(e.full===!0&&e.provenance===!0)throw new g("Mutation event projections are mutually exclusive. Use --provenance or --full.",_.USAGE);let i=await P(t),o=i.agent_identity.identity_vocabulary,s=vr(i.agent_identity.harness_signals),a=Ji({provenance:e.provenanceFilter},s),c=ae(e.harness),d=Rl(e),{cursor:l,sinceTimestamp:u}=Ol(e.since,d),f={verify:e.verify===!0,...l?{after_ts:l.ts,after_stream_id:l.stream_id,after_stream_offset:l.stream_offset}:u?{since_ts:u}:{},ops:ae(e.type),authors:ae(e.author),harnesses:c,harness_alias_authors:c?Object.entries(o.aliases).filter(([,h])=>c.includes(h)).map(([h])=>h):void 0,agent_instances:ae(e.agentInstance),provenance:[...a].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:ae(e.item),limit:n},p=await zb(t,f),m=p.events.map(h=>({...r==="row"?{cursor:_o(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:structuredClone(h.recorded_entry??h.entry)}:{},...e.provenance===!0?{provenance:br(h.entry,o,{itemId:h.stream_id,version:h.stream_offset+1})}:{}}));return{integrity:e.verify===!0?"verified":"unverified",...p.verified_streams===void 0?{}:{verified_streams:p.verified_streams},events:m,count:m.length,has_more:p.has_more,cursor_mode:r,...p.events.length===0?{}:{next_cursor:_o(p.events[p.events.length-1],d)},source:p.source,...e.provenanceSummary===!0?{provenance_summary:wr(p.events.map(h=>h.entry),o,s)}:{}}}async function*Wb(e={}){let t=e.intervalMs??Kb;if(!Number.isSafeInteger(t)||t<10)throw new g("Mutation event follow interval must be an integer of at least 10ms.",_.USAGE,{code:"invalid_event_follow_interval"});let n=e.since;for(;e.signal?.aborted!==!0;){let r=await Vb({...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 Hb(t,void 0,{signal:e.signal})}catch(i){if(Al(i))return;throw i}}}async function*aT(e={}){for await(let t of Wb({...e,cursorMode:"row"}))for(let n of t.events)yield n}var cT={decodeMutationEventCursor:xl,encodeMutationEventCursor:_o,eventQueryFingerprint:Rl,isAbortError:Al,isMutationEventCursorEnvelope:Tl,parseMutationEventLimit:Dl,resolveMutationEventStart:Ol};(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 lT(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{Dn as a,xn as b,js as c,Jb as d,xe as e,Kl as f,Fe as g,On as h,Bs as i,Ln as j,wt as k,Wr as l,kt as m,oe as n,Nn as o,Gs as p,Xr as q,Et as r,Ks as s,zs as t,na as u,ni as v,ia as w,Bw as x,Hw as y,aa as z,ca as A,Kw as B,Vl as C,vw as D,Wl as E,bw as F,ww as G,kw as H,Ew as I,Ql as J,G as K,Xs as L,Fn as M,Aw as N,Jr as O,Ow as P,St as Q,cu as R,lu as S,Zr as T,uu as U,Tt as V,Au as W,_a as X,fa as Y,ma as Z,Fu as _,$u as $,Pu as aa,nt as ba,Pn as ca,ii as da,jn as ea,R0 as fa,Ot as ga,Aa as ha,pe as ia,tk as ja,Ha as ka,Ga as la,Ka as ma,za as na,qa as oa,zn as pa,Wa as qa,it as ra,Xa as sa,Za as ta,Wn as ua,ec as va,tc as wa,pp as xa,mc as ya,Jn as za,hi as Aa,Qn as Ba,pc as Ca,gc as Da,gi as Ea,Mt as Fa,yc as Ga,yi as Ha,vi as Ia,bi as Ja,vc as Ka,wi as La,wc as Ma,kc as Na,Ic as Oa,Up as Pa,cE as Qa,dC as Ra,gd as Sa,lT as Ta,Oc as Ua,Lc as Va,pE as Wa,ph as Xa,dt as Ya,T as Za,Ae as _a,AE as $a,OE as ab,Uc as bb,vh as cb,LE as db,NE as eb,HE as fb,Wc as gb,or as hb,ur as ib,fI as jb,fr as kb,ag as lb,rd as mb,mI as nb,pI as ob,hI as pb,gI as qb,dg as rb,od as sb,Sg as tb,Mg as ub,NC as vb,MC as wb,Id as xb,BC as yb,HC as zb,GC as Ab,KC as Bb,Cd as Cb,Bt as Db,iS as Eb,oS as Fb,sS as Gb,Bd as Hb,yr as Ib,vr as Jb,Ji as Kb,br as Lb,uS as Mb,Qi as Nb,wr as Ob,ES as Pb,zd as Qb,qd as Rb,Kt as Sb,eo as Tb,Er as Ub,ay as Vb,Xd as Wb,fy as Xb,Ir as Yb,my as Zb,py as _b,yy as $b,vy as ac,NS as bc,by as cc,Yd as dc,to as ec,no as fc,Dy as gc,Fy as hc,zS as ic,ro as jc,io as kc,Cr as lc,rl as mc,VS as nc,Gy as oc,Vy as pc,sl as qc,ev as rc,al as sc,tv as tc,rR as uc,nv as vc,dv as wc,Vt as xc,CR as yc,co as zc,fv as Ac,mv as Bc,uo as Cc,Be as Dc,mo as Ec,po as Fc,ho as Gc,ft as Hc,Yt as Ic,xr as Jc,SR as Kc,gb as Lc,RR as Mc,wb as Nc,GR as Oc,KR as Pc,zR as Qc,qR as Rc,VR as Sc,sT as Tc,Vb as Uc,Wb as Vc,aT as Wc,cT as Xc};
20
+ //# sourceMappingURL=chunk-UUN3WNMQ.js.map