@unbrained/pm-cli 2026.11.3 → 2026.11.4

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 (203) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/dist/cli/error-guidance.d.ts +14 -35
  4. package/dist/cli/error-guidance.js +2 -2
  5. package/dist/cli/expected-revisions.d.ts +55 -0
  6. package/dist/cli/expected-revisions.js +2 -0
  7. package/dist/cli/main.js +2 -2
  8. package/dist/cli/runtime/invocation-options.js +1 -1
  9. package/dist/cli-bundle/bundle-manifest.json +1 -1
  10. package/dist/cli-bundle/chunks/{chunk-UYNMKUGA.js → chunk-2GW662DP.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-32BCU6HN.js → chunk-3OXQGGRD.js} +46 -46
  12. package/dist/cli-bundle/chunks/chunk-5BVZ32G7.js +2 -0
  13. package/dist/cli-bundle/chunks/chunk-5S6RT5LX.js +9 -0
  14. package/dist/cli-bundle/chunks/chunk-5Z6LWFDL.js +31 -0
  15. package/dist/cli-bundle/chunks/{chunk-MQJXZX3Q.js → chunk-6T2V3UIK.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-5JZMF4M5.js → chunk-7PGNAHNW.js} +2 -2
  17. package/dist/cli-bundle/chunks/chunk-7RCI7AAA.js +20 -0
  18. package/dist/cli-bundle/chunks/chunk-AQ5UHHQS.js +2 -0
  19. package/dist/cli-bundle/chunks/chunk-BK2XAQVC.js +2 -0
  20. package/dist/cli-bundle/chunks/{chunk-TZ3D3DPQ.js → chunk-BRIPGUAO.js} +2 -2
  21. package/dist/cli-bundle/chunks/chunk-BWAXA6S4.js +6 -0
  22. package/dist/cli-bundle/chunks/{chunk-5IPXDZKU.js → chunk-CERNIZLB.js} +66 -66
  23. package/dist/cli-bundle/chunks/chunk-DSCFJTHB.js +122 -0
  24. package/dist/cli-bundle/chunks/{chunk-JPKIUWLG.js → chunk-L4BKTPJ6.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-Y7H55PCY.js → chunk-NPEDFOVQ.js} +2 -2
  26. package/dist/cli-bundle/chunks/{chunk-2CBHQXYJ.js → chunk-ODMJ3HIB.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-DEJHTFEF.js → chunk-QN7VCOUU.js} +2 -2
  28. package/dist/cli-bundle/chunks/chunk-QQHMNUZT.js +2 -0
  29. package/dist/cli-bundle/chunks/chunk-SRDO2NJU.js +2 -0
  30. package/dist/cli-bundle/chunks/chunk-T56MB6SF.js +2 -0
  31. package/dist/cli-bundle/chunks/chunk-TX2W6G37.js +3 -0
  32. package/dist/cli-bundle/chunks/item-revision-UAZOBP2Q.js +2 -0
  33. package/dist/cli-bundle/chunks/item-transaction-N5F4LXYV.js +2 -0
  34. package/dist/cli-bundle/chunks/mutation-admission-QZQI2NN5.js +2 -0
  35. package/dist/cli-bundle/chunks/{register-list-query-I6AZA3IX.js → register-list-query-P3NOKQUA.js} +2 -2
  36. package/dist/cli-bundle/chunks/{register-mutation-3DAXCLXR.js → register-mutation-A6I5K5N6.js} +2 -2
  37. package/dist/cli-bundle/chunks/register-operations-SPKB3TNM.js +2 -0
  38. package/dist/cli-bundle/chunks/register-setup-ZZRHJ4IS.js +2 -0
  39. package/dist/cli-bundle/chunks/{stage-7H36OTDJ.js → stage-L3T725DS.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/chunk-5NGNO54M.js +44 -0
  41. package/dist/cli-bundle/focused-chunks/{chunk-ZQRCVRGS.js → chunk-A2246ZM7.js} +54 -54
  42. package/dist/cli-bundle/focused-chunks/chunk-B6U44WPW.js +2 -0
  43. package/dist/cli-bundle/focused-chunks/chunk-BAW3DGQO.js +91 -0
  44. package/dist/cli-bundle/focused-chunks/chunk-BHNY3KPJ.js +2 -0
  45. package/dist/cli-bundle/focused-chunks/chunk-C3O6JJPO.js +2 -0
  46. package/dist/cli-bundle/focused-chunks/{chunk-LKN2WGGB.js → chunk-C7UX2ZI3.js} +2 -2
  47. package/dist/cli-bundle/focused-chunks/{chunk-YVLAP3BL.js → chunk-CBG67HUP.js} +2 -2
  48. package/dist/cli-bundle/focused-chunks/{chunk-TYHDZUL4.js → chunk-CO2DNPH7.js} +2 -2
  49. package/dist/cli-bundle/focused-chunks/chunk-CXTDEQ3N.js +8 -0
  50. package/dist/cli-bundle/focused-chunks/chunk-FEPE2CE4.js +2 -0
  51. package/dist/cli-bundle/focused-chunks/{chunk-RY4QEMAE.js → chunk-FFO7RBLN.js} +2 -2
  52. package/dist/cli-bundle/focused-chunks/{chunk-I5FODKYB.js → chunk-FXFDVM5O.js} +2 -2
  53. package/dist/cli-bundle/focused-chunks/chunk-I5LGPUWH.js +2 -0
  54. package/dist/cli-bundle/focused-chunks/chunk-J3YOATXR.js +80 -0
  55. package/dist/cli-bundle/focused-chunks/{chunk-HOXIIZEO.js → chunk-J6FDCAMH.js} +2 -2
  56. package/dist/cli-bundle/focused-chunks/chunk-J7M52SCZ.js +2 -0
  57. package/dist/cli-bundle/focused-chunks/chunk-JQS7TYQ6.js +12 -0
  58. package/dist/cli-bundle/focused-chunks/chunk-MEJKELWC.js +26 -0
  59. package/dist/cli-bundle/focused-chunks/chunk-PMKR4MJI.js +2 -0
  60. package/dist/cli-bundle/focused-chunks/chunk-PNPYQDHU.js +2 -0
  61. package/dist/cli-bundle/focused-chunks/chunk-Q4OIRSKL.js +2 -0
  62. package/dist/cli-bundle/focused-chunks/{chunk-F3X6UWMI.js → chunk-QEVJ3Y67.js} +2 -2
  63. package/dist/cli-bundle/focused-chunks/{chunk-HJ27QLZV.js → chunk-SDLIUZEL.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/chunk-TFYTTDAK.js +2 -0
  65. package/dist/cli-bundle/focused-chunks/chunk-W3CSX6GI.js +3 -0
  66. package/dist/cli-bundle/focused-chunks/{chunk-D4XQOMG4.js → chunk-Y5GOUUYJ.js} +2 -2
  67. package/dist/cli-bundle/focused-chunks/item-revision-L6GVT42D.js +2 -0
  68. package/dist/cli-bundle/focused-chunks/item-transaction-GYGP264N.js +2 -0
  69. package/dist/cli-bundle/focused-chunks/mutation-admission-UWTH56OD.js +2 -0
  70. package/dist/cli-bundle/focused-chunks/{stage-4SQHVI3O.js → stage-WRSNJ7VI.js} +2 -2
  71. package/dist/cli-bundle/main.js +25 -25
  72. package/dist/cli-bundle/sdk-authoring.js +1 -1
  73. package/dist/cli-bundle/sdk-contracts.js +5 -5
  74. package/dist/cli-bundle/sdk-core.js +1 -1
  75. package/dist/cli-bundle/sdk-governance.js +1 -1
  76. package/dist/cli-bundle/sdk-graph.js +1 -1
  77. package/dist/cli-bundle/sdk-merge.js +57 -57
  78. package/dist/cli-bundle/sdk-query.js +1 -1
  79. package/dist/cli-bundle/sdk-runtime.js +1 -1
  80. package/dist/cli-bundle/sdk-testing.js +1 -1
  81. package/dist/cli-bundle/sdk.js +11 -11
  82. package/dist/core/config/positional-value.d.ts +1 -1
  83. package/dist/core/config/positional-value.js +1 -1
  84. package/dist/core/extensions/reserved-host-flags.js +1 -1
  85. package/dist/core/history/history-rewrite.js +1 -1
  86. package/dist/core/shared/command-types.d.ts +7 -0
  87. package/dist/core/store/item-mutation-precondition.d.ts +70 -6
  88. package/dist/core/store/item-mutation-precondition.js +1 -1
  89. package/dist/core/store/item-store.js +1 -1
  90. package/dist/core/store/settings-validator.js +1 -1
  91. package/dist/core/store/settings.js +1 -1
  92. package/dist/sdk/cli-contracts/bootstrap-command-scanner.js +1 -1
  93. package/dist/sdk/cli-contracts/completeness.js +1 -1
  94. package/dist/sdk/cli-contracts/enum-contracts.d.ts +11 -0
  95. package/dist/sdk/cli-contracts/enum-contracts.js +1 -1
  96. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  97. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  98. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  99. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  100. package/dist/sdk/cli-program.js +1 -1
  101. package/dist/sdk/config.d.ts +1 -1
  102. package/dist/sdk/config.js +1 -1
  103. package/dist/sdk/environment/project-runtime-compatibility.js +1 -1
  104. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  105. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  106. package/dist/sdk/governance/validate.js +1 -1
  107. package/dist/sdk/history/salvage.js +3 -3
  108. package/dist/sdk/history-compact.d.ts +7 -1
  109. package/dist/sdk/history-compact.js +1 -1
  110. package/dist/sdk/history-repair.d.ts +2 -1
  111. package/dist/sdk/history-repair.js +1 -1
  112. package/dist/sdk/index.d.ts +3 -0
  113. package/dist/sdk/index.js +1 -1
  114. package/dist/sdk/lifecycle/checkpoint-rollback.d.ts +10 -2
  115. package/dist/sdk/lifecycle/checkpoint-rollback.js +1 -1
  116. package/dist/sdk/lifecycle/claim.js +1 -1
  117. package/dist/sdk/lifecycle/close-many.d.ts +11 -2
  118. package/dist/sdk/lifecycle/close-many.js +1 -1
  119. package/dist/sdk/lifecycle/close.d.ts +15 -0
  120. package/dist/sdk/lifecycle/close.js +1 -1
  121. package/dist/sdk/lifecycle/item-revision.d.ts +162 -0
  122. package/dist/sdk/lifecycle/item-revision.js +2 -0
  123. package/dist/sdk/lifecycle/restore.js +1 -1
  124. package/dist/sdk/lifecycle/start-blockers.d.ts +52 -0
  125. package/dist/sdk/lifecycle/start-blockers.js +2 -0
  126. package/dist/sdk/lifecycle/task-composition.d.ts +11 -0
  127. package/dist/sdk/lifecycle/task-composition.js +1 -1
  128. package/dist/sdk/lifecycle/update-many.d.ts +11 -2
  129. package/dist/sdk/lifecycle/update-many.js +1 -1
  130. package/dist/sdk/lifecycle/update.js +2 -2
  131. package/dist/sdk/public-surface.json +1 -1
  132. package/dist/sdk/query/declared-blockers.d.ts +16 -0
  133. package/dist/sdk/query/declared-blockers.js +2 -0
  134. package/dist/sdk/query/get.d.ts +7 -0
  135. package/dist/sdk/query/get.js +1 -1
  136. package/dist/sdk/query/projection-contracts.js +1 -1
  137. package/dist/sdk/runtime-input.d.ts +12 -0
  138. package/dist/sdk/runtime-input.js +1 -1
  139. package/dist/sdk/runtime.d.ts +10 -0
  140. package/dist/sdk/runtime.js +1 -1
  141. package/dist/sdk/structured-mutations.js +1 -1
  142. package/dist/sdk/test/batch.js +2 -2
  143. package/dist/sdk/test/execution.js +2 -2
  144. package/dist/sdk/test/linked-command-detection.js +1 -1
  145. package/dist/sdk/workspace-transaction.d.ts +17 -6
  146. package/dist/sdk/workspace-transaction.js +1 -1
  147. package/dist/types.d.ts +6 -0
  148. package/dist/types.js +1 -1
  149. package/docs/COMMANDS.md +91 -0
  150. package/docs/CONFIGURATION.md +1 -0
  151. package/docs/SDK.md +110 -1
  152. package/docs/agent-task-token-baseline.json +1 -1
  153. package/docs/generated/FLAG_LEXICON_BUDGETS.md +111 -111
  154. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +12 -3
  155. package/marketplace.json +1 -1
  156. package/package.json +1 -1
  157. package/packages/pm-beads/package.json +1 -1
  158. package/packages/pm-calendar/package.json +1 -1
  159. package/packages/pm-command-kit/package.json +1 -1
  160. package/packages/pm-digital-twin/package.json +1 -1
  161. package/packages/pm-governance-audit/package.json +1 -1
  162. package/packages/pm-guide-shell/package.json +1 -1
  163. package/packages/pm-kanban/package.json +1 -1
  164. package/packages/pm-lifecycle-hooks/package.json +1 -1
  165. package/packages/pm-linked-test-adapters/package.json +1 -1
  166. package/packages/pm-search-advanced/package.json +1 -1
  167. package/packages/pm-templates/package.json +1 -1
  168. package/packages/pm-todos/package.json +1 -1
  169. package/packages/pm-vcs/package.json +1 -1
  170. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  171. package/plugins/pm-claude/package.json +1 -1
  172. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  173. package/plugins/pm-codex/package.json +1 -1
  174. package/plugins/pm-codex/plugin.json +1 -1
  175. package/runtime-dependencies.json +1 -1
  176. package/dist/cli-bundle/chunks/chunk-7ZEFHFAU.js +0 -2
  177. package/dist/cli-bundle/chunks/chunk-B6UTLYLM.js +0 -3
  178. package/dist/cli-bundle/chunks/chunk-HBKD5HZB.js +0 -2
  179. package/dist/cli-bundle/chunks/chunk-L6LCLC37.js +0 -2
  180. package/dist/cli-bundle/chunks/chunk-NR4KABHC.js +0 -31
  181. package/dist/cli-bundle/chunks/chunk-PWD5RY2D.js +0 -2
  182. package/dist/cli-bundle/chunks/chunk-XRMYA4R7.js +0 -20
  183. package/dist/cli-bundle/chunks/chunk-YWS4XV4I.js +0 -6
  184. package/dist/cli-bundle/chunks/chunk-ZOAJNPBL.js +0 -129
  185. package/dist/cli-bundle/chunks/item-transaction-ZHLJTBD7.js +0 -2
  186. package/dist/cli-bundle/chunks/mutation-admission-ZQMRMGIB.js +0 -2
  187. package/dist/cli-bundle/chunks/register-operations-G3QGGQ5Z.js +0 -2
  188. package/dist/cli-bundle/chunks/register-setup-LDXHMNOT.js +0 -2
  189. package/dist/cli-bundle/focused-chunks/chunk-3XGKBVJ3.js +0 -2
  190. package/dist/cli-bundle/focused-chunks/chunk-4HY6EGPB.js +0 -2
  191. package/dist/cli-bundle/focused-chunks/chunk-AK2CI2GI.js +0 -2
  192. package/dist/cli-bundle/focused-chunks/chunk-HUXZCPWT.js +0 -26
  193. package/dist/cli-bundle/focused-chunks/chunk-IKXJ57XA.js +0 -8
  194. package/dist/cli-bundle/focused-chunks/chunk-MOY6KZGJ.js +0 -44
  195. package/dist/cli-bundle/focused-chunks/chunk-PWUTFKSI.js +0 -2
  196. package/dist/cli-bundle/focused-chunks/chunk-PZRB7IXH.js +0 -91
  197. package/dist/cli-bundle/focused-chunks/chunk-WSYPVBKS.js +0 -80
  198. package/dist/cli-bundle/focused-chunks/chunk-WXLG7HZ5.js +0 -3
  199. package/dist/cli-bundle/focused-chunks/chunk-WZDFCVLX.js +0 -12
  200. package/dist/cli-bundle/focused-chunks/chunk-YGO3FWA2.js +0 -2
  201. package/dist/cli-bundle/focused-chunks/chunk-ZYXQACPB.js +0 -2
  202. package/dist/cli-bundle/focused-chunks/item-transaction-PZ2FQ6B2.js +0 -2
  203. package/dist/cli-bundle/focused-chunks/mutation-admission-XOOK6XFH.js +0 -2
@@ -0,0 +1,20 @@
1
+ import{Na as Ds,a as be,t as As}from"./chunk-5S6RT5LX.js";import{a as yt,c as Rs,f as Gr,g as Cn,h as Ts,i as Sn,r as xs}from"./chunk-T56MB6SF.js";import{a as Br,b as Ss}from"./chunk-BK2XAQVC.js";import{Ga as wn,Ha as kn,N as wo,P as So,Ta as vs,Z as bn,aa as fs,ea as hs,fb as Hr,g as Zt,gb as bs,hb as _t,ib as En,kb as ws,kd as We,ld as Oe,ob as ks,oc as Cs,qa as gs,qb as Ve,ra as _s,tb as le,ub as ue,va as Ur,vb as Es,wb as Is,xb as fe,yb as In}from"./chunk-DSCFJTHB.js";import{$e as Ge,$f as Nr,$g as Ke,Af as Ko,Ai as ms,Bd as sn,Bg as Wo,Bh as Mr,Bi as ps,Cd as Io,Ch as Fr,Eh as $r,Fa as M,Ga as tn,Gb as x,Gf as pt,Gg as Xo,H as xr,Hd as Co,Ib as Or,Id as Ro,If as zo,Jb as nn,Kb as C,Lb as vo,Ld as Ae,Lg as Yo,Mb as ye,Na as N,Nd as To,Oi as ys,Pg as dn,Qe as Be,Rb as bo,Rh as rs,Ta as _o,Te as No,Ub as re,Ue as Mo,Uh as is,Ui as F,Ve as Fo,Vg as ln,Vh as Pr,Wc as ko,Wd as X,We as $o,Wg as ce,Wh as hn,Xe as Po,Xg as de,Xh as ze,Yd as an,Yf as qo,Yg as Jo,Zb as rn,Zf as Vo,Zg as Qo,_g as Zo,a as E,ah as es,bi as gn,c as ne,ci as os,di as ss,eh as un,ej as Q,gb as Ue,gh as fn,hi as as,if as jo,ih as mn,je as xo,ji as cs,kg as ht,le as Ao,mh as pn,mi as ds,od as O,oe as Y,oi as qe,pe as R,pf as ve,pi as ls,qe as z,qf as Uo,rb as U,rd as Eo,re as He,rf as cn,ri as _n,sa as je,si as yn,ti as gt,ub as yo,ui as Ce,ve as Do,vf as Ho,vi as jr,we as Oo,wi as us,xa as Dr,xe as Lo,xf as Bo,xh as ts,xi as vn,ya as en,yf as Go,yh as ns,yi as De,zd as on,zf as Lr,zi as J}from"./chunk-3OXQGGRD.js";import{a as Rn,b as vt}from"./chunk-SPPHDVZE.js";import{A as _,C as g,D as Ar,E as ho,F as Pe,G as ae,H as _e,K,M as go,y as po,z as mt}from"./chunk-O4ZLEN4T.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 Al(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:$l(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function Ls(e,t,n,r){let i=ce("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:Zo(t.after,i)}}function Xe(e,t,n){e.get(t).add(n)}function bt(e){return new Map(e.map(t=>[t,new Set]))}function Ns(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 Os(e){return JSON.stringify(Tn(e))}function Dl(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 Ol(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||Dl(i,t,n,r);return r}function Ll(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 Ns(r)}function Ms(e,t){let n=bt(e);for(let[r,i]of t)for(let o of i)Xe(n,o,r);return Ll(Ol(e,t),n)}function Nl(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";Xe(n,o?r.source:r.target,o?r.target:r.source)}return n}function Ml(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 Fl(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 $l(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function An(e,t={}){let n=t.registry??re(),r=[...e.nodes()],i=Nl(e,n),o=Ml(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:Ms(r,i).filter(l=>l.length>1||i.get(l[0]).has(l[0])),d=Fl(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 Pl(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))||Xe(r,t==="incoming"?s.target:s.source,t==="incoming"?s.source:s.target)}return{adjacency:r,inspectedEdges:o.length}}function jl(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:de(o,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function Ul(e,t,n){let r=n.direction,i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Ls(t,n,r,i),{adjacency:c,inspectedEdges:d}=Pl(e,r,n.kinds),l={queue:[{id:t,depth:0}],seen:new Set([t]),parents:new Map,affected:[],cursorFound:a===void 0||a===t},u=0,f=!1,p=!1;e:for(let m=0;m<l.queue.length;m+=1){n.signal?.throwIfAborted();let h=l.queue[m];u+=1;let y=[...c.get(h.id)].sort();if(h.depth>=i){y.some(b=>!l.seen.has(b))&&(f=!0);continue}for(let b of y)if(Al(l,b,h,t,a,o)==="truncate"){f=!0,p=!0;break e}}if(!l.cursorFound)throw new TypeError(`Unknown impact cursor item: ${a}`);return{root:t,affected:l.affected,exact:!0,truncated:f,...p?{nextCursor:de(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function xn(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return Ul(e,t,{...n,direction:r});let i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Ls(t,n,r,i);return jl(e,t,n,a,o,s)}function Fs(e){let t=[...e.nodes()],n=bt(t),r=bt(t);for(let c of e.edges())Xe(n,c.source,c.target),Xe(n,c.target,c.source),Xe(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:Ns(i),stronglyConnected:Ms(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 Kb(e,t){let n=new Map(e.edges.map(i=>[Os(i),i])),r=new Map(t.edges.map(i=>[Os(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]="738a98bc-eaf0-578d-88e3-1c5f83c8894b")}catch{}})();function ie(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new g(`${t} must be a non-negative integer`,_.USAGE);return r}function Dn(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 $s(e,t,n="--type"){if(e===void 0)return;let r=tn(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 Kr(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 wt(e,t){let n=Kr(e,t);return n===void 0?void 0:new Set(n)}function Ps(e,t,n="--type"){let r=Kr(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=tn(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 js(e,t="--priority"){let n=Kr(e,{label:t});if(n!==void 0)return new Set(n.map(r=>Dn(r,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c580b70-76eb-51db-8587-99b73dd20875")}catch{}})();var Hl="global",ow="external",Bl=["open","closed","unknown"],kt=new Map,Gl=240,Kl=2048;function Us(e,t,n){return(e?.trim()||t).slice(0,n)}function zl(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 sw(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(kt.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 kt.set(t,n),()=>{kt.get(t)===n&&kt.delete(t)}}async function aw(e,t={}){let n=e.trim();if(!We(n))return null;let r=[...kt.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"||!zl(s.value))continue;let a=r[o],c=s.value,d=Bl.includes(c.status)?c.status:"unknown",l=Us(c.title,"",Gl),u=Us(c.source,n,Kl),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 cw(e){let t=e?.trim();if(t)return Oe(t)?Hl:t}function dw(e,t,n){return ql(e,t,n)}function ql(e,t,n){let r=e.trim();return Oe(n)||We(r)?r:hs(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 H(){let e=re();for(let t of O()?.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 Et(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function On(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Vl(e,t){let n=new Set,r=[];for(let i of[...e].sort()){if(n.has(i))continue;n.add(i);let o=[{nodeId:i,children:[...t.get(i)??[]].sort(),nextChild:0}];for(;o.length>0;){let s=o.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),o.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),o.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function Wl(e,t){let n=[...e].sort(),r=Vl(n,t),i=new Set,o=Xl(n,t),s=[];for(let a of r.reverse()){if(i.has(a))continue;let c=Yl(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 Xl(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 Yl(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 Hs(e){let t=new Map;for(let n of e){let r=Et(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Jl(e,t,n){let r=Et(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 Ql(e,t,n,r){let i=Et(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 Bs(e,t){let n=new Map;for(let[r,i]of e){let o=Jl(r,i,e);o&&n.set(On(o),o);for(let s of i.dependencies??[]){let a=Ql(r,s,e,t);a&&n.set(On(a),a)}}return[...n.values()].sort((r,i)=>On(r).localeCompare(On(i)))}function Gs(e,t=H()){return Bs(Hs(e),t)}function Zl(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 eu(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=Et(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 Ln(e,t=r=>r==="closed"||r==="canceled",n=H()){let r=Hs(e),i=Bs(r,n),o=qr(i),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Wl([...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:Zl(i,o.parents_by_child,s),divergences:eu(r,i,s)}}function _w(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 qr(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 zr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function yw(e,t,n,r,i){let o=Et(n);if(!o)return;let s=Ln(e,r,i),a=Ln(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&&zr(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&&zr(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=>zr(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 Je(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function It(e){let t=Je(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Ct(e,t,n=!0){let r=Je(e);return n&&(Oe(t)||r!==void 0&&We(r))}function Vr(e,t){return Ct(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ks(e,t,n,r){return Ct(e,t)?r.get(e):n.get(e.toLowerCase())}function Ye(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function tu(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,i=Je(r.id);if(!i)continue;let o=typeof r.kind=="string"?r.kind:"related",s=`${o}\0${Vr(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 nu(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 tu(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=Ye(r.holder_id,i.holder_id);if(o!==0)return o;let s=Ye(r.target_id,i.target_id);return s!==0?s:Ye(r.kind,i.kind)})}function ru(e,t,n,r,i){if(typeof n!="object"||n===null)return;let o=Je(n.id);if(!o||Vr(o,n.source_kind)!==Vr(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 iu(e,t=r=>r==="closed"||r==="canceled",n=H()){let r=new Map;for(let i of e){if(typeof i?.id!="string"||i.id.trim().length===0)continue;let o=Je(i.blocked_by);if(o)for(let s of i.dependencies??[]){let a=ru(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=Ye(i.holder_id,o.holder_id);if(s!==0)return s;let a=Ye(i.target_id,o.target_id);return a!==0?a:Ye(i.dependency_kind,o.dependency_kind)})}function Wr(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),i=new Map,o=(c,d,l,u,f)=>{let p=Je(d);if(!p||r.has(p.toLowerCase())||Ct(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;Oe(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 ou(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 su(e){let t=new Map;for(let n of e){let r=It(n.blocked_by);r&&Ct(r)&&!t.has(r)&&t.set(r,r);for(let i of n.dependencies??[]){if(typeof i!="object"||i===null||!Ct(i.id,i.source_kind))continue;let o=It(i.id);o&&!t.has(o)&&t.set(o,o)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var zs=new WeakMap;function Nn(e){return e.hierarchyIntegrity??zs.get(e)}function au(e,t=H()){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 St(e,t,n){let r=n??H(),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=Wr(i,t),a=ou(s);for(let m of a)o.set(m.toLowerCase(),m);let c=su(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=It(m.parent),y=It(m.blocked_by),b=(m.dependencies??[]).flatMap(v=>{if(typeof v!="object"||v===null)return[];let w=v,k=It(w.id);return k?[{id:Ks(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:Ks(y,void 0,o,l)}:{},dependencies:b}}),f=Ln(i,t,r),p={graph:rn.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:nu(i,t),orderingContradictions:iu(i,t,r),legacyAliasCounts:au(i,r),hierarchyIntegrity:f};return zs.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 Ys(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 Xr(e){return U(e.acceptance_criteria)===void 0}function Yr(e){return!Number.isFinite(e.estimated_minutes)}function Js(e,t){return t.isTerminal(e.status)?U(e.resolution)===void 0:!1}function cu(e){return U(e.reviewer)===void 0}function du(e){return U(e.risk)===void 0}function lu(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):U(e.confidence)===void 0}function uu(e){return U(e.sprint)===void 0}function fu(e){return U(e.release)===void 0}function Jr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function mu(e,t,n){return[[t.acMissing,Xr(e)],[t.estimatesMissing,Yr(e)],[t.resolutionMissing,Js(e,n)],[t.reviewerMissing,cu(e)],[t.riskMissing,du(e)],[t.confidenceMissing,lu(e)],[t.sprintMissing,uu(e)],[t.releaseMissing,fu(e)]].every(([r,i])=>r!==!0||i)}function pu(e,t){return Xr(e)||Yr(e)||Js(e,t)}function Qs(e,t,n){return Jr(t)?!(!mu(e,t,n)||t.metadataMissing&&!pu(e,n)):!0}var Qr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function hu(e,t){switch(t){case"acceptance_criteria":return!Xr(e);case"estimated_minutes":return!Yr(e);case"resolution":return U(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return U(e.parent)!==void 0}}function gu(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function _u(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Vs(){let e={};for(let t of Qr)e[t]={present:0,applicable:0,percent:100};return e}function Ws(e,t,n){for(let r of Qr){if(!gu(t,r,n))continue;let i=e[r];i.applicable+=1,hu(t,r)&&(i.present+=1)}}function Xs(e){for(let t of Qr){let n=e[t];n.percent=_u(n.present,n.applicable)}}function Rw(e,t){let n=Vs(),r={};for(let i of e){Ws(n,i,t);let o=r[i.type]??(r[i.type]=Vs());Ws(o,i,t)}Xs(n);for(let i of Object.values(r))Xs(i);return{overall:n,by_type:r}}var yu={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function vu(e){return yu[e]}function bu(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function wu(e,t,n){switch(t){case"assignee":return[U(e.assignee)??null];case"parent":return[U(e.parent)??null];case"type":return[U(e.type)??null];case"status":return[U(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 Tw(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 wu(a,t,r)){let l=d??"\0empty",u=i.get(l);u||(u={label:d??vu(t),key:d,buckets:bu(),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 Qe=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Le(e){return Array.isArray(e)&&e.length>0}function ku(e){return typeof e=="string"&&e.trim().length>0}function Eu(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 ea(e,t){switch(t){case"notes":return Le(e.notes);case"learnings":return Le(e.learnings);case"files":return Le(e.files);case"docs":return Le(e.docs);case"tests":return Le(e.tests);case"comments":return Le(e.comments);case"deps":return Le(e.dependencies);case"body":return ku(e.body);case"linked_command":return Eu(e.tests)}}function ta(e){return Qe.some(t=>e[t]!==void 0)}function na(e,t){for(let n of Qe){let r=t[n];if(r===void 0)continue;let i=ea(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function ra(e){return Qe.some(t=>t!=="body"&&e[t]!==void 0)}function ia(e){return e.body!==void 0}function Zs(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Iu(){let e={};for(let t of Qe)e[t]={present:0,total:0,percent:100};return e}function Aw(e){let t=Iu(),n=e.length;for(let s of e)for(let a of Qe)ea(s,a)&&(t[a].present+=1);for(let s of Qe)t[s].total=n,t[s].percent=Zs(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Zs(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 Cu=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}),oa=[{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"}],ua=e=>{let t=oa.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(oa.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},sa=["priority","deadline","updated_at","created_at","title","parent"],aa=["asc","desc"],fa=new Set(ks);function Su(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 Ru(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Tu=[{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"}],xu=[{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 ma(e,t){for(let n of Tu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function pa(e,t){for(let n of xu)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Au(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 Du(e){let t={};return ma(t,e),t}function Ou(e){let t={};return pa(t,e),t}var Lu=[{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"}],Nu=[{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"}],Mu=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Fu="-7d";function $u(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"),Au(c,n,Lu),ga(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),pa(c,n),ma(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),Ru(a)&&(c.runtime_filters=a),c}function ha(e,t,n){let r=z(e.status,n),i=z(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 Pu(e,t){return[...e].sort((n,r)=>ha(n,r,t))}function ca(e,t){if(e!==void 0)return ye(e,new Date,t)}function Rt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return ye(n,new Date,t)}function ju(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?Rt(Fu,"recent"):Rt(e.updatedAfter,"updated-after")}function ga(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Uu(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 _a(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 Hu(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 Bu(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=Hu(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=ya(e.sort);return{mode:"brief",fields:[...new Set([...Fr,s??"priority"])]}}return n?{mode:"compact",fields:[...Mr]}:o?{mode:"fields",fields:[...new Set(o.map(s=>Ne(s)))]}:{mode:"full",fields:[]}}function Ne(e){return e.startsWith("item.")?e.slice(5):e}function Gu(e,t,n){if(e.mode!=="fields")return;let r=$r(t),i=new Set(r.map(s=>Ne(s))),o=e.fields.filter(s=>!i.has(Ne(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:Ue(s),suggested_retry_args:s}})}}var Ku=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function ya(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Ku.get(t);if(n)return n;if(!sa.includes(t))throw new g(`Sort field must be one of ${sa.join("|")} (aliases: updated->updated_at, created->created_at)`,_.USAGE);return t}function zu(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!aa.includes(t))throw new g(`Sort order must be one of ${aa.join("|")}`,_.USAGE);return t}function qu(e){return ie(e,"--tree-depth")}function Vu(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 da(e,t){return _s(e,t,{strict:!0})}function va(e){return wt(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Wu(e,t,n){let r=va(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 Xu(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 Yu(e,t,n,r){let i=wt(t.assignee,{label:"--assignee"}),o=Vu(t.assigneeFilter);Xu(i,o);let s=Cu(t),a=ua(t);return{idsFilter:Uu(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ps(t.type,n),tagFilters:va(t.tag),priorityFilter:js(t.priority),deadlineBefore:ca(t.deadlineBefore,"deadline-before"),deadlineAfter:ca(t.deadlineAfter,"deadline-after"),updatedAfter:ju(t),updatedBefore:Rt(t.updatedBefore,"updated-before"),createdAfter:Rt(t.createdAfter,"created-after"),createdBefore:Rt(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:wt(t.sprint,{label:"--sprint"}),releaseFilter:wt(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Jr(s),lifecycleClassifier:Ys(r),contentFieldFilters:a,contentFiltersActive:ta(a)}}function Ju(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&z(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 Qu(e,t){return vo(e,t)}function Zu(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 ef(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 tf(e,t,n,r,i){return!(!Ju(e,t,n)||!Qu(e,t)||!Zu(e,t)||!ef(e,t,i)||t.missingMetadataActive&&!Qs(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!na(e,t.contentFieldFilters)||!kn(e,r))}function nf(e,t,n,r,i,o,s){let a=Yu(t,n,r,i);return e.filter(c=>tf(c,a,i,o,s))}function Tt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function la(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??Tt(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 rf(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)??[]:[Tt(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 of(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[Tt(o.parent)?.toLowerCase()].filter(s=>s!==void 0)).every(s=>!n.has(s)))}function sf(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=rf(e,r),a=of(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(la(f,p,y.length,m)),!(n!==void 0&&p>=n))for(let b of[...y].reverse())u.push({node:b,depth:p+1,parentId:l.get(h)})}if(t===void 0&&n===void 0)for(let f of e){let p=f.id.trim().toLowerCase();d.has(p)||(d.add(p),c.push(la(f,0,s.get(p)?.length??0)))}return c}function af(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function cf(e,t){return e===t?0:e===null?1:t===null?-1:C(e,t)}function df(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return cf(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 af(e.parent??null,t.parent??null);default:return 0}}function lf(e,t,n,r){return t?[...e].sort((i,o)=>{let s=df(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=ha(i,o,r);return n==="desc"?-a:a}):Pu(e,r)}function uf(e,t,n=!1){let r=Ne(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 ba(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=uf(r,o,n);return i})}function ff(e){let t=[];for(let n of e)t.push(n.metadata_key);return[...t,...So(O())]}function mf(e,t){let n=ie(e.limit);if(n!==void 0)return n;if(e.noTruncate!==!0)return t>=1e4?20:void 0}function pf(e,t,n){return t.after===void 0?_a(t.offset)??0:Ke(e,t.after,n,r=>r.id)}function wa(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function hf(e,t){let n=N(process.cwd(),t.path);await Q(n);let r=await F(n),i=X(r.schema),o=an(r.schema),s=e.projectionCommand??"list",a=Bu(e,s);return Gu(a,ff(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:wn(e,o,"list"),typeRegistry:M(r,O()),projection:a}}async function gf(e,t,n){let r=t.projection.fields.some(c=>Ne(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>fa.has(Ne(c))),o=ua(e),s=ra(o),a=ia(o);return e.includeBody||r||a?await In(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await Is(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await fe(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function _f(e){let t=ya(e.sort),n=zu(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?Tt(e.parent):void 0}}function yf(e,t,n){let r=da(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??da(e,n),s=gs(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 vf(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=mf(t,e.length),s=pf(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=ba(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?de(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:wa(o,l,u)}}function ka(e,t,n,r){return ce("list",{pmRoot:r,status:e,options:ln(t,As),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function bf(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=Ne(p);return m==="body"||fa.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,Io(),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 Ve(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!a)return null;let c=ie(t.limit),d=_a(t.offset)??0,l=await ws({pmRoot:n.pmRoot,expectedSourceCursor:a.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:d}});if(!l)return null;let u=l.items.length>0&&d+l.items.length<l.total,f=u?de(ka(r.filtersStatus,t,i,n.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:ba(l.items,n.projection,!1),totalMatched:l.total,pageExtras:wa(c,u,f)}}function wf(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 Nu){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of Mu)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Ou(n),Du(n)),ga(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 Ze(e,t,n){let r=await hf(t,n),i=[],o=_f(t),s=yf(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await bf({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let m=await gf(t,r,i),h=o.treeEnabled||Tt(t.parent)!==void 0?qr(Gs(m,H())):void 0;Wu(m,t.tag,i);let y=nf(m,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,h?.parents_by_child),b=t.dependencyBlocked===!0?(()=>{let k=Cn(m,r.statusRegistry);return y.filter(T=>k.has(T.id.trim().toLowerCase()))})():y,v=lf(b,o.sortField,o.sortOrder,r.statusRegistry),w=o.treeEnabled?sf(v,o.parentRoot,o.treeDepth,h,m):v;d=vf(w,t,r.projection,o.treeEnabled,ka(s.filtersStatus,t,o,r.pmRoot))}let l=x(),u=[...new Set(i)].sort((m,h)=>m.localeCompare(h)),f=Su(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=$u({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:wf({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 kf}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 Ef=64,If=8;function Cf(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 Mn(e,t=r=>r==="closed"||r==="canceled",n=re()){let r=e.filter(o=>typeof o?.id=="string"&&o.id.trim().length>0).map(o=>Cf(o,t)).sort(),i=n.list().map(o=>E(o)).sort();return kf("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function Ea(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var Zr=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Ea("maxResultsPerWorkspace",t.maxResultsPerWorkspace,Ef),this.#n=Ea("maxWorkspaces",t.maxWorkspaces,If)}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()}},Ia=new Zr;function Fn(){return Ia}function m0(){Ia.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 At=1200,Sf=["prerequisite","dependent","ancestor","descendant","provenance","related"],Rf=new TextEncoder;function ei(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 xt(e){return Math.max(1,Math.ceil(Rf.encode(JSON.stringify(e)).byteLength/4))}function $n(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 Tf(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>$n(o,n,r));return[...new Set(i)].sort()}function xf(e){return Sf.find(t=>e.includes(t))}function Af(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:$n(h,m,n)};c.push(y),a.push(y)}}return{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function Df(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[$n(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function Of(e,t,n,r){let i=new Set;for(let o of t){let s=o.source===n?o.target:o.source,a=$n(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 Lf(e,t){let n=e.distance===1?Tf(t.rootEdges,t.rootId,e.id,t.registry):[];return{...t.details.get(e.id)??{id:e.id},distance:e.distance,role:n.length>0?xf(n):e.role,via:e.via,reasons:n.length>0?n:[`${e.role} via ${e.via} (depth ${e.distance})`]}}function Nf(e){let t=[],n=e.initialTokens,r=0;for(let i of e.candidates){if(t.length>=e.nodeLimit)break;let o=Lf(i,e),s=xt(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+xt(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 Mf(e){let t=e.options.kinds?new Set(e.options.kinds.map(o=>e.registry.require(o).kind)):void 0,n=e.graph.edges().filter(o=>{if(!e.included.has(o.source)||!e.included.has(o.target))return!1;if(t===void 0||t.has(o.kind))return!0;let s=e.registry.resolve(o.kind)?.inverse;return s!==void 0&&t.has(s)}).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=xt(o);i+s>e.tokenBudget||(r.push(o),i+=s)}return{edges:r,usedTokens:i,candidateCount:n.length}}function Ca(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=ei(r.nodeLimit,20,"nodeLimit"),o=ei(r.edgeLimit,40,"edgeLimit"),s=ei(r.tokenBudget,At,"tokenBudget"),a=r.registry??re(),c=new Map(n.map(j=>[j.id,j])),d=c.get(t)??{id:t},{evidence:l=[],...u}=d,f=[...l],p=Af(e,t,a,r),{rootEdges:m,...h}=Df(e,t,a,r),y=Of(p.rows,m,t,a),b=ce("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3,ordering:"required-root-evidence-first-v1"}),v=Ke(y,r.cursor,b,({id:j})=>j,"--cursor"),w=y.slice(v),k=xt(u)+xt(f);if(k>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let T=Nf({candidates:w,details:c,rootEdges:m,rootId:t,registry:a,nodeLimit:i,tokenBudget:s,initialTokens:k}),{nodes:A}=T,P=new Set([t,...A.map(({id:j})=>j)]),L=Mf({graph:e,rootId:t,included:P,options:r,registry:a,edgeLimit:o,tokenBudget:s,initialTokens:T.usedTokens}),{edges:q,usedTokens:$}=L,V=v+A.length,ee=V<y.length,ge=A.at(-1),W=L.candidateCount-q.length,te=p.depthTruncated||ee||W>0,Ee={rootId:t,...u.status===void 0?{}:{rootStatus:u.status},...h,discoveredNodes:y.length,returnedNodes:A.length,returnedEdges:q.length,omittedNodes:y.length-V,omittedEdges:W,evidenceCount:f.length,hasMore:ee};return{root:u,summary:Ee,nodes:A,edges:q,evidence:f,meta:{exact:!0,truncated:te,completeness:te?"truncated":"complete",nodeLimit:i,edgeLimit:o,tokenBudget:s,usedTokens:$,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:y.length-V,omittedEdges:W,...ee&&ge?{nextCursor:de(b,ge.id,V-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 Ff=["tree","graph","context"],$f=["none","repeated"],Pf=["outgoing","incoming","both"],jf=32,Uf=200,Hf=400,Bf=16e3;function Gf(e){let t=e?.trim().toLowerCase()??"tree";if(Ff.includes(t))return t;throw new g(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,_.USAGE)}function me(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 Pn(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 Kf(e){let t=e?.trim().toLowerCase()??"none";if($f.includes(t))return t;throw new g(`Invalid --collapse value "${e}". Use "none" or "repeated".`,_.USAGE)}function ni(e){let t=e?.trim().toLowerCase()??"both";if(Pf.includes(t))return t;throw new g(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,_.USAGE)}function ri(e,t=re()){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 zf(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:zf(e.dependencies)}}function Vf(e){return ht(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Wf(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(Ra(d.id,n,r,i,o,s,a,c+1,d.kind))}}function Xf(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 Ra(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+=Vf(u),Xf(u,l,d,r,i,o,s,a))return u;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),Wf(u,l,t,f,r,i,o,s,a),u}function Sa(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 Yf(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Sa(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,Sa(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 Ta(e,t,n){let r=new Set,i=new Set,o=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let u=t.get(l);if(!u){o.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let f of u.dependencies)i.add(`${l}::${f.id.trim().toLowerCase()}::${f.kind}`),a.push({id:f.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:i.size,edge_basis:"deduplicated_directed",missing_count:o.size}}function Jf(e,t=re()){let n=Pn(e.maxDepth),r=me(e.nodeLimit,"node-limit"),i=me(e.edgeLimit,"edge-limit"),o=me(e.tokenBudget,"token-budget"),s=ri(e.kind,t);return{direction:ni(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 Qf(e,t,n,r){return Ca(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function ti(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function Zf(e,t,n,r){let i=await le(e,t,n.id_prefix,n.item_format,r);if(!i)return[];let{document:o}=await ue(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 ti(u,"file",a.map(f=>f.path),3),ti(u,"test",c.map(f=>f.command??f.path),2),ti(u,"doc",d.map(f=>f.path),2),u}function em(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 tm(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 xa(e,t){let n=Eo(),r=t.commandOptionsOverride??(n?.command==="deps"?n.options:t.commandOptions);return ts("deps",{...r,...t.global,resolvedOutputFormat:t.format},e)}function ii(e,t){let n=xa(e,t),r=i=>rs(i,t.format,t.global.lean===!0);return r(t.global.tokenAccounting===!0?ns(n,r):n)}function Aa(e,t,n){let r;for(;;){let i=ht(new TextEncoder().encode(ii(e,t)).byteLength);if(i===r)return i;n(i),r=i}}function Da(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Oa(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=Qf(t,n,{...r,...u===void 0?{}:{tokenBudget:u}},i);f??=p.meta.tokenBudget,u??=f;let m=em({canonicalId:n,context:p,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:o});if(o){if(ht(new TextEncoder().encode(ii(Se(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=Aa(Se(m,!1,s.legacyAliasCounts),s,b=>{p.meta.usedTokens=b}),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 La(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=Xo.find(u=>u.command==="deps");return Reflect.set(a,Wo,{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]:[]))}),Yo("deps",a),pt(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 nm(e,t,n){let r={...t.rendering,commandOptionsOverride:{...t.rendering.commandOptionsOverride,tokenBudget:n}},i;try{i=Oa({...e,contextOptions:{...e.contextOptions,tokenBudget:n},summaryOnly:t.summaryOnly,rootEvidence:t.summaryOnly?[]:e.rootEvidence,rendering:r})}catch(s){if(!Da(s))throw s;return"native_floor"}let o=xa(Se(i,t.summaryOnly,r.legacyAliasCounts),r);return dn(o)?"output_constraints":"fits"}async function rm(e,t){let n=e.contextOptions.tokenBudget??At,r=La(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:At,workUnits:i,probe:u=>nm(e,r,u)}),a=["--pm-path",e.pmRoot,"item","deps",e.canonicalId,"--format","tree","--summary"],c=Ue(a),d=s.feasible_tokens===null?a:[...r.args];s.feasible_tokens!==null&&(d[r.budgetIndex]=String(s.feasible_tokens));let l=Ue(d);return Cs("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 im(e){let{pmRoot:t,assembly:n,canonicalId:r,options:i,rootEvidence:o,summaryOnly:s,rendering:a}=e,c=Jf(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(b=>n.missingIdSet.has(b.toLowerCase())),u=new Set(l.map(b=>b.toLowerCase())),f=n.graph.registry(),p=c.kinds?new Set(c.kinds.map(b=>f.require(b).kind)):void 0,m=new Set([r,...d.value]),h=[...n.dangling.active,...n.dangling.legacy_terminal].filter(b=>tm({row:b,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 Oa(y)}catch(b){if(b instanceof g&&b.code==="invalid_query_cursor"){let v=La({...y,contextOptions:{...c,cursor:void 0},rendering:{...a,global:{...a.global,outputCursor:void 0}}},c.tokenBudget??At),w=Ue(v.args);throw new g(b.message,b.exitCode,{...b.context,nextSteps:[...b.context.nextSteps,w],recovery:{suggested_retry:w,suggested_retry_args:v.args}})}throw Da(b)?await rm(y,b):b}}function om(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 sm(e,t,n,r,i,o,s){let a=i??jf,c=me(n.nodeLimit,"node-limit")??Uf,d=me(n.edgeLimit,"edge-limit")??Hf,l=me(n.tokenBudget,"token-budget")??Bf,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=Ra(e,r,new Set,a,t==="graph"?"repeated":o,new Set,u),p=Ta(e,r,void 0),m;for(;;){let h=Yf(f),y=u.reasons.size===0?void 0:{reasons:[...u.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-h.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-h.edges.length)},b={id:e,format:t,node_count:h.nodes.length,edge_count:h.edges.length,edge_basis:"deduplicated_directed",missing_count:h.missing_ids.length,...y?{truncation:y}:{}};if(m=t==="tree"?{...b,tree:f}:{...b,graph:h},(m.truncation===void 0?ht(new TextEncoder().encode(ii(Se(m,!1,s.legacyAliasCounts),s)).byteLength):Aa(Se(m,!1,s.legacyAliasCounts),s,v=>{m.truncation.estimated_tokens=v}))<=l)return m;if(!om(f))return u.reasons.add("token_budget"),m;u.reasons.add("token_budget")}}function Se(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 H0(e,t,n){let r=N(process.cwd(),n.path);await Q(r);let i=Gf(t.format),o=Pn(t.maxDepth),s=Kf(t.collapse);pt(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await F(r),d=M(c,O()),l=await fe(r,c.item_format,d.type_to_folder,void 0,c.schema),u=X(c.schema),f=new Map(l.map(y=>[y.id.trim().toLowerCase(),qf(y)])),p=Wr(l,y=>z(y,u));for(let y of[...p.active,...p.legacy_terminal]){let b=f.get(y.holder_id.trim().toLowerCase()),v=y.kind.trim().toLowerCase();b&&!b.dependencies.some(w=>w.id.trim().toLowerCase()===y.target_id.trim().toLowerCase()&&w.kind===v)&&b.dependencies.push({id:y.target_id,kind:v})}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,b=a?[]:await Zf(r,y,c,d.type_to_folder),v=T=>z(T,u),w=H(),k=Fn().lookup(r,Mn(l,v,w),()=>St(l,v,w));return Se(await im({pmRoot:r,assembly:k.assembly,canonicalId:y,options:t,rootEvidence:b,summaryOnly:a,rendering:{format:m,global:n,commandOptions:t,legacyAliasCounts:k.assembly.legacyAliasCounts}}),a,k.assembly.legacyAliasCounts)}let h=Object.fromEntries(Object.entries(St(l,y=>z(y,u)).legacyAliasCounts));return a?Se({id:e,format:i,...Ta(e,f,o)},!0,h):Se(sm(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 am=be.paths,cm=be.visited_paths,dm=be.path_depth;function oi(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function jn(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function Dt(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function et(e,t){let n=Dt(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function lm(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 um(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 fm(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 Un(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=lm(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=um(e,p.id,o,r,i);if(u+=m.inspectedEdges,fm(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 Na(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Ma(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 mm(e,t,n,r,i,o,s){for(let a of Ma(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 Fa(e,t,n={}){return Un(e,t,n,"hierarchy",(r,i)=>jn(r.edge,i)===r.id)}function $a(e,t,n={}){return Un(e,t,n,"hierarchy",(r,i,o)=>jn(r.edge,i)===o)}function Pa(e,t,n={}){return Un(e,t,n,"ordering",(r,i)=>Dt(r.edge,i)===r.id)}function ja(e,t,n={}){return Un(e,t,n,"ordering",(r,i,o)=>Dt(r.edge,i)===o)}function pm(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){Ma(e,p,r,a,c).length>0&&(l=!0);continue}if(mm(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 Ua(e,t,n,r={}){Na(e,t),Na(e,n);let i=r.maxPaths??am,o=r.maxVisitedPaths??cm,s=r.maxDepth??dm;oi("maxPaths",i),oi("maxVisitedPaths",o),oi("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}}:pm(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 hm=16,gm=2,_m=8;function Hn(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function Bn(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 ym(e,t){let n=new Map;Bn(e,t,r=>{Ha(n,r.source,r.target),Ha(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Ha(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function vm(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 bm(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 Ba(e,t={}){let n=t.maxIterations??hm,r=t.minSize??gm;Hn("maxIterations",n),Hn("minSize",r);let i=ym(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=vm(f,s);p!==s.get(u)&&(s.set(u,p),c=!1)}}return{value:{communities:bm(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function Gn(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Kn(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function si(e,t){return(t.hierarchy?jn(e,t):e.source===Dt(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function wm(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(!Gn(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add(Kn(o))}return r}function km(e,t){let n=e.registry(),r=new Map;for(let i of e.edges()){let o=n.require(i.kind);if(!Gn(o))continue;let s=Kn(o);if(t!==void 0&&!t.has(s))continue;let a=si(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 Em(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function Im(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 Cm(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 Im(r,t.from,n.id,s);i.push({id:s,depth:n.depth+1})}}function Sm(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=Cm(e,t,a,i,o,r);if(c!==void 0)return c}}function tt(e,t={}){let n=t.maxDepth??_m;Hn("maxDepth",n),t.limit!==void 0&&Hn("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=wm(e,t.kinds),o=km(e,i),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...o.keys()].sort()){let l=o.get(d),u=Em(l);for(let f of l.records){t.signal?.throwIfAborted();let p=Sm(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 Rm(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 Tm(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,Rm(l,u,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function xm(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 Am(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 Dm(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:Am(r,i,t,n));return r}function Om(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=Dm(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function Ga(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=Tm(e,t,n),i=xm(r,t),o=new Map(i.map((d,l)=>[d,l])),s=Om(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 Ka(e){return Math.round(e*1e6)/1e6}function za(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]));Bn(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 Lm(e,t){let n=new Map,r=new Map;return Bn(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=et(i,o);za(r,s,a),za(n,a,s)}),{incoming:n,outgoing:r}}function Nm(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 Mm(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 Fm(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function $m(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:Ka((r.get(e)??0)/2),closeness:Ka(i.get(e))}}function Va(e,t={}){let n=qa(e,t.kinds),r=Lm(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=Nm(l,n,a);s.set(l,Fm(u,i.length)),Mm(u,l,o)}let c=0;for(let l of n.values())c+=l.length;let d=i.map(l=>$m(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 Pm(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function jm(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 Um(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(Pm(r,e.node))}function Hm(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=jm(o,t,n);s!==void 0&&i.push(s)}else Um(o,e,n),i.pop()}}function zn(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)||Hm(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 Bm(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}=et(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 Gm(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 Km(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 zm(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=Gm(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>Km(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function Wa(e,t={}){t.signal?.throwIfAborted();let n=An(e,{registry:e.registry()}),r=Bm(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=zm(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 Vm(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 Wm(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 Xm(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}=et(r,i),a=t.get(o);a.successors.has(s)||(a.successors.add(s),t.get(s).pending+=1)}}function Ym(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 Jm(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=Vm(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 Qm(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"),Jm(d,l,t,n,r,i,c,a)}}function Xa(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=Wm(a,t,r,d,n.signal);Xm(e,l,n.signal);let u=Ym(a,l,n.signal);return qm(u,l,n.signal),Qm(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 nt(){return{nodes:0,isolated:0,degree_leq_one:0,semantic_nodes:0,without_semantic_edges:0,degree_histogram:{}}}function Qa(e,t,n,r){let i={all:nt(),active:nt(),terminal:nt()},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)??nt();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 Ya(e){if(!qn(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)||!qn(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 qn(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Za(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:!qn(t)||!qn(n)?!1:["all","active","terminal"].every(r=>Ya(t[r]))&&Object.values(n).every(Ya)}function Ja(e,t){return Object.fromEntries([...new Set([...Object.keys(e),...Object.keys(t)])].sort().map(n=>{let r=Object.hasOwn(e,n)?e[n]:nt(),i=Object.hasOwn(t,n)?t[n]:nt(),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 ec(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:Ja(e.coverage_by_lifecycle,t.coverage_by_lifecycle),coverage_by_status:Ja(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 rt=["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 Zm=25,ep="milestone",tp="outcome milestone:",np=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Vn(e){return np.has(e)}var tc={error:0,warning:1,info:2};function nc(e){return new Set((e??[]).filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()))}function it(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 rp(e,t){return e.cycles.map(n=>it(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 rc(e,t,n){let r=e.cardinality_violations.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[it(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 ic(e,t,n){let r=e.divergences.filter(i=>i.legacy_terminal===n);return r.length===0?[]:[it(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 ip(e,t){let n=Nn(e);return n?[...rp(n,t),...rc(n,t,!1),...rc(n,t,!0),...ic(n,t,!1),...ic(n,t,!0)]:[]}function op(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 sc(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 sp(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))):(sc(o,r),t.push({node:o,neighborIndex:0})),!0}function ap(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 cp(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(sc(r,t);i.length>0;){let o=i.at(-1);sp(o,i,e,t)||ap(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function ai(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function Z(e,t,n,r,i,o,s,a){t.length!==0&&e.push(it(r,i,o,s,t,n,a))}function dp(e,t,n){let r=[],i=[...e.dangling.active,...e.dangling.legacy_terminal].filter(o=>!o.no_active_blocker_sentinel);return Z(r,i.filter(o=>!t(o.holder_status)).map(ai),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."),Z(r,i.filter(o=>t(o.holder_status)).map(ai),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."),Z(r,e.dangling.no_active_blocker_sentinels.map(ai),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 di(e,t){let n=t.get(e);return n?!n.terminal:!0}function ac(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function lp(e,t){let n=[],r=[];for(let o of e.orderingContradictions??[])(o.legacy_terminal?r:n).push(ac(o));let i=[];return Z(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."),Z(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 up(e,t,n,r){let i=[],o=op(e);for(let c of cp(o)){let d=c.some(f=>di(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(ac);i.push(d?it("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):it("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 Z(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 Wn(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function li(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!Gn(o))continue;let s=si(i,o);if(s.from===s.to)continue;let a=`${Kn(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 fp(e,t,n){let r=[],i=[];for(let s of li(e))(di(s.from,t)||di(s.to,t)?r:i).push(Wn(s));let o=[];return Z(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."),Z(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 mp(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 Z(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."),Z(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 pp(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 hp(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 gp(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 _p(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===ep&&a.title.trim().toLowerCase().startsWith(tp)).map(a=>a.id)),{basis:i,reverse:o}=pp(e,n),s=hp(r,o,n);return{outcome_nodes:r.size,outcome_reachability_basis:i,...gp(t,r,s,n)}}function yp(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 vp(e,t,n,r,i,o,s){let a={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let v of e.graph.nodes()){s?.throwIfAborted();let w=t.get(v);if(w){if(w.missing){a.missing+=1;continue}w.terminal||yp(a,w,e.graph.incidentEdges(v).length,n,r)}}let{isolates:c,sparse:d}=a,l=[];Z(l,c,i,"isolated_active_node","warning","Active work should be reachable from the graph unless explicitly declared a valid isolate.",v=>`${v} active item(s) with no relationships`,"Link the item to its parent, prerequisite, or origin \u2014 or register it as an exempt isolate."),Z(l,d,i,"sparse_active_node","info","Active items with a single edge often miss an honest semantic partner; sparse is not automatically defective.",v=>`${v} active item(s) with exactly one relationship`,"Investigate for an honest second edge (story->task, defect family, cross-epic complement); do not fabricate one.");let u=e.graph.edges().length,f=tt(e.graph,{signal:s}).value,p=new Set(f.map(({edge:v})=>`${v.source.toLowerCase()}\0${v.target.toLowerCase()}\0${v.kind}`));for(let v of e.orderingContradictions??[])p.add(`${v.holder_id.toLowerCase()}\0${v.target_id.toLowerCase()}\0${v.dependency_kind}`);let m=Object.fromEntries(Object.entries(o).sort(([v],[w])=>v.localeCompare(w))),h=Object.entries(m).reduce((v,[w,k])=>v+(Vn(w)?k:0),0),y=zn(e.graph,{signal:s}).value,b=_p(e,t,s);return{findings:l,profile:{nodes:e.graph.nodes().length,recorded_nodes:e.details.filter(v=>v.status!=="missing"&&v.status!=="external").length,edges:u,informative_edges:u-p.size,redundant_edges:f.length,ordering_contradiction_edges:e.orderingContradictions?.length??0,edge_basis:"deduplicated_directed",edges_by_kind:m,edge_share_by_kind:Object.fromEntries(Object.entries(m).map(([v,w])=>[v,w/u])),semantic_edges:h,semantic_edge_share:u===0?0:h/u,active_nodes:a.active,missing_nodes:a.missing,isolated_active_nodes:a.isolated,degree_leq_one_active_nodes:a.degreeLeqOne,coverage_by_type:Object.fromEntries([...a.byType.entries()].sort(([v],[w])=>v<w?-1:1)),articulation_points:y.articulationPoints.length,bridge_edges:y.bridges.length,...b,finding_subjects_by_code:Object.fromEntries(rt.map(v=>[v,0]))}}}function Xn(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??Zm;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=nc(t.exemptIsolates),s=nc(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=dp(e,n,i);d.push(...ip(e,i)),t.signal?.throwIfAborted(),d.push(...lp(e,i)),t.signal?.throwIfAborted(),d.push(...up(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...fp(e,a,i),...mp(e,i)),t.signal?.throwIfAborted();let l=vp(e,a,o,s,i,c,t.signal);d.push(...l.findings),d.sort((f,p)=>tc[f.severity]-tc[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,...Qa(e,n,Vn,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 ci(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 oc(e){return e.profile.coverage_by_type??{}}function bp(e,t){let n={},r=oc(e),i=oc(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 cc(e,t){let n=bp(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:ci(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:ci(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:ci(r,s),semantic_edges:a-i,semantic_edge_share:c-o,coverage_by_type:n,...ec(e.profile,t.profile)}}}import dc 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 lc=2,ui=500,wp=64,kp="graph-durable-cache";function uc(e){return Be(e,kp,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Lt(e){return dc.join(e,"runtime","graph-cache.json")}function fc(e){return dc.join(e,"runtime","graph-audit-baseline.json")}function fi(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==lc||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 mi(e,t){let n=await _e(Lt(e)),r=fi(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function pi(e,t,n,r,i){let o=await uc(e);try{let s=fi(await _e(Lt(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-wp)))delete a[d];await K(Lt(e),JSON.stringify({version:lc,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function hi(e){let t=await uc(e);try{await go(Lt(e))}finally{await t()}}async function mc(e,t){let n=Lt(e),r=await _e(n),i=fi(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 gi(e,t){return t||e>=ui}function Yn(e){return ot(e)&&Object.values(e).every(Me)}function ot(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Me(e){return Number.isInteger(e)&&Number(e)>=0}function pc(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Ot(e,t){return e===void 0||t(e)}function Ep(e){return ot(e)&&Object.values(e).every(pc)}function Ip(e){return ot(e)?Object.values(e).every(t=>ot(t)&&[t.active,t.isolated,t.degree_leq_one].every(Me)):!1}function Cp(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=>Ot(e[s],Me)))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 Sp(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=>Ot(e[o],Me))&&n.every(o=>Ot(e[o],Me)&&(e[o]===void 0||Number(e[o])<=1e4))&&Ot(e.finding_subjects_by_code,Yn)}function Rp(e,t,n,r){let i=Cp(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(!Sp(e,o,s)||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed")return;let a=Yn(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(rt.map(c=>[c,a[c]??t[c]??0]))}}function Tp(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||!Ep(n)||!Me(r)||!pc(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+(Vn(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 xp(e){if(e!==null)try{let t=JSON.parse(e);if(!ot(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(!Yn(i)||!ot(r)||!Za(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(Me)||!Yn(r.edges_by_kind)||!Ot(r.coverage_by_type,Ip))return;let o=Tp(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=Rp(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 hc(e){return xp(await _e(fc(e)))}async function gc(e,t){await K(fc(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 Ap={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 _c(e){return`${e.source} -${e.kind}-> ${e.target}`}function Dp(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:_c(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: ${_c(t)}`,`group: ${Wn(e)}`],confidence:"high"}))}function Op(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>Dp(t.get(r)));let n=Ap[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 yc(e,t={}){let{redundancyLimit:n,...r}=t,i=Xn(e,r),o=new Map(li(e).map(d=>[Wn(d),d])),s=i.findings.flatMap(d=>Op(d,o)),a=i.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=tt(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 kc=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]);function vc(e,t,n){let r=e;if(t&&e.subcommand==="audit"){let{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:f}=e.profile,p=Object.fromEntries(Object.entries(f).map(([m,h])=>{let{degree_histogram:y,...b}=h;return[m,b]}));r={...e,profile:{nodes:i,recorded_nodes:o,edges:s,active_nodes:a,terminal_nodes:c,missing_nodes:d,ordering_acyclic:l,active_ordering_acyclic:u,coverage_by_lifecycle:p}}}return{...r,projection:{mode:t?"summary":"full",declared_field_groups:n===void 0?[]:[{name:n,restore_with:"--full"}],included_field_groups:n===void 0||t?[]:[n]}}}function Lp(e,t,n,r){return{assembly:t,...n===void 0?{}:{kinds:n},maxDepth:Pn(r.maxDepth),limit:e==="impact"&&Number(r.limit)===0?0:me(r.limit,"limit")??(r.full===!0?Number.MAX_SAFE_INTEGER:be.rows),after:r.after?.trim()||void 0,direction:ni(r.direction),maxPaths:me(r.maxPaths,"max-paths"),sample:me(r.sample,"sample")??be.samples,exemptIsolates:bc(r.exemptIsolate),exemptIsolateTypes:bc(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0}}function bc(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function Np(e,t,n){let r=e.trim().toLowerCase();if(!xr.includes(r))throw wo({command_path:"graph",token:r||"<empty>",allowed:xr});let i=r;if(kc.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 _i(e){throw e instanceof TypeError?new g(e.message,_.USAGE):e}function yi(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function wc(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 Mp(e,t,n){let r={ancestors:Fa,descendants:$a,predecessors:Pa,successors:ja}[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){_i(s)}let o=yi(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 Fp(e,t,n){let r=Ua(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,...yi(r.meta),...n.summary?{}:{paths:r.value.map(i=>({nodes:i.nodes,kinds:i.edges.map(o=>o.kind),length:i.length}))}}}function $p(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){_i(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 Pp(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 jp(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 Up(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 Hp(e){let t=e.assembly.graph,n=e.limit,r=An(t,{registry:t.registry()}),i=Fs(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:Pp(r,e.summary,n),knowledge:jp(i,e.summary,n),hierarchy:Up(Nn(e.assembly),e.summary,n)}}function Bp(e,t){let n=Xn(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 Gp(e){let t=e.limit,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Ba(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 Kp(e){let t;try{t=tt(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},limit:e.limit})}catch(n){_i(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...yi(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 zp(e,t){let n=t.limit,r=Ga(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=Wa(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 Vp(e){let t=e.limit,n=Va(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 Wp(e){let t=e.limit,n=zn(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 Xp(e,t){let n=e.limit,r=yc(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 Ec(e,t,n,r){return JSON.stringify({projection_version:2,subcommand:e,root:t??null,target:n??null,kinds:r.kinds??null,maxDepth:r.maxDepth??null,limit:r.limit,after:r.after??null,direction:r.direction,maxPaths:r.maxPaths??null,sample:r.sample,exemptIsolates:[...new Set(r.exemptIsolates.map(i=>i.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(r.exemptIsolateTypes.map(i=>i.toLowerCase()))].sort(),summary:r.summary,unbounded:r.unbounded})}function Ic(e,t,n,r,i){return e==="analyze"?Hp(r):e==="audit"?Bp(r,i):e==="plan"?Xp(r,i):e==="communities"?Gp(r):e==="redundancy"?Kp(r):e==="dominators"?zp(t,r):e==="slack"?qp(r):e==="centrality"?Vp(r):e==="articulation"?Wp(r):e==="paths"?Fp(t,n,r):e==="impact"?$p(t,r):Mp(e,t,r)}function Yp(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 Jp(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await hi(e),s="cleared"),o.rebuild===!0){await hi(e);let c=await mi(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,limit:be.rows,sample:be.samples,unbounded:!1};for(let l of["analyze","audit"])await pi(e,t,c,Ec(l,void 0,void 0,d),Ic(l,void 0,void 0,d,i));s="rebuilt"}let a=await mc(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:ui,persist_enabled:gi(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 Qp(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(rt.map(s=>[s,n.affected_subjects_by_code[s]??0]))}},o=await hc(e);return r&&await gc(e,i),o===void 0?n:{...n,baseline:cc(o,i)}}async function Zp(e,t,n,r,i){try{await pi(e,t,n,r,i)}catch{}}function eh(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 rn(o.nodes().filter(f=>!i.has(f)),o.edges().filter(f=>!i.has(f.source)&&!i.has(f.target)),o.registry()),a=Xa(s,n.filter(f=>!i.has(f.id)),{now:x(),limit:t.limit}),{rows:c,residuals:d,overcommitted:l,...u}=a;e.deadline_schedule={population:"active",...u,...t.summary?{}:{rows:c,residuals:d,overcommitted:l}}}async function Wk(e,t,n,r,i){let o=Np(e,t,n);pt(r.summary===!0,r.full===!0,"--summary");let s=N(process.cwd(),i.path);await Q(s);let a=await F(s),c=M(a,O()),d=await fe(s,a.item_format,c.type_to_folder,void 0,a.schema),l=X(a.schema),u=L=>z(L,l);Yp(o,r);let f=H(),p=ri(r.kind,f),m=Fn().lookup(s,Mn(d,u,f),()=>St(d,u,f)),h=Lp(o,m.assembly,p,r);if(o==="index")return vc(await Jp(s,m.fingerprint,h,d.length,u,r),!1);let y=kc.has(o)?wc(h.assembly,t):void 0,b=o==="paths"?wc(h.assembly,n):void 0,v=Ec(o,y,b,h),w=await mi(s,m.fingerprint),k=w.results[v],T=m.memoize(v,()=>k!==void 0?structuredClone(k):Ic(o,y,b,h,u)),A=gi(d.length,w.exists);!T.reused&&k===void 0&&A&&await Zp(s,m.fingerprint,w,v,T.value);let P=T.value.subcommand==="audit"?await Qp(s,m.fingerprint,T.value,h.saveBaseline):T.value;return P.cache={fingerprint:m.fingerprint.slice(0,12),assembly:m.assemblyReused?"hit":"miss",result:T.reused?"hit":"miss",durable:k!==void 0?"hit":A?"miss":"off"},eh(P,h,d,u),vc(P,h.summary,"result_rows")}import vi from"node:fs/promises";import bi 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 Cc=8388608,th=new Set(["resolved","failed"]),nh=[{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 pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function wi(e){return nh.find(t=>t.matches(e))?.kind}function Sc(e){let t=new Map,n=0,r=0;return{entries:e.map(i=>{let o=pe(i.agent_provenance)?i.agent_provenance:void 0;if(o===void 0||!os(i).ok)return i;let s={},a=!1;for(let[d,l]of Object.entries(o)){let u=pe(l)?wi(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,ss(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 Rc(e){let t=[];for(let n of await Tc(e)??[])try{let r=await vi.readFile(bi.join(e,"history",n),"utf8");for(let i of r.split(`
2
+ `)){if(i.trim().length===0)continue;let o=xc(i);if(!(o===null||!pe(o.agent_provenance))&&Object.values(o.agent_provenance).some(s=>pe(s)&&wi(s.value)!==void 0)){t.push(n.slice(0,-6));break}}}catch{}return t}async function Tc(e){try{return(await vi.readdir(bi.join(e,"history"))).filter(t=>t.endsWith(".jsonl")).sort()}catch{return null}}async function rh(e,t,n){let r;try{r=await vi.open(bi.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 xc(e){try{let t=JSON.parse(e);return pe(t)?t:null}catch{return null}}function ih(e,t,n){let r=typeof e.agent_harness=="string"?e.agent_harness:void 0;if(r===void 0)return;let i=pe(e.agent_provenance)?e.agent_provenance:{};if(Object.entries(i).forEach(([s,a])=>{if(!pe(a))return;let c=wi(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)}),!pe(e.context))return;let o=e.context.agent_provenance_outcomes;pe(o)&&Object.entries(o).forEach(([s,a])=>{if(!pe(a)||typeof a.resolver!="string"||!th.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 oh(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=xc(a);if(c===null){o.malformed_events+=1;continue}if(typeof c.ts=="string"&&nn(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)}ih(c,t,n)}return{eventsRead:s,truncated:!1}}function sh(e,t,n){return n?[...e.filter(r=>r.attempts>0&&r.successes===0).map(r=>`provenance_resolver_zero_success:${r.harness}:${r.dimension}:${r.resolver}:${String(r.attempts)}`),...t.map(r=>`provenance_value_domain_invalid:${r.harness}:${r.dimension}:${r.kind}:${String(r.count)}`)]:[]}async function eE(e,t=1e4){if(!Number.isSafeInteger(t)||t<0)throw new RangeError("Provenance event limit must be a non-negative safe integer.");let n={scope:"history_prefix",event_limit:t,byte_limit:Cc,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 Tc(e);c===null&&(n.unreadable_sources+=1);for(let u of c??[]){let f=await rh(e,u,Math.max(0,Cc-s));if(f===null){n.unreadable_sources+=1;continue}s+=f.bytesRead;let p=oh(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:sh(d,l,n.complete),events_read:o,truncated:a}}import ah 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 Ac(e,t,n){let r=gt(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=gt(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 ch=Object.freeze({pm_item_scalar_missing:!0});function st(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===1&&e.pm_item_scalar_missing===!0}function S(e){return e===void 0?ch:e}function Re(e){return ne(E(e===void 0?{pm_item_scalar_presence:"missing"}:{pm_item_scalar_presence:"present",value:e}))}function ki(e,t){let n=He(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 oe(e){return E({ts:e.ts,author:e.author,op:e.op,patch:e.patch,message:e.message??null})}function dh(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&oe(e[r])===oe(t[r]);)r+=1;return r}function lh(e,t,n,r){let i=[...e,...n],o=new Map(i.map((u,f)=>[u,f])),s=new Map(i.map((u,f)=>[oe(u),f])),a=i.map(()=>new Set);for(let u of[e,t]){let f=u.map(p=>o.get(p)??s.get(oe(p)));for(let p=1;p<f.length;p+=1)f[p-1]!==f[p]&&a[f[p-1]].add(f[p])}let c=i.map(()=>0);for(let u of a)for(let f of u)c[f]+=1;let d=i.map((u,f)=>f).filter(u=>c[u]===0),l=[];for(;d.length>0;){d.sort((f,p)=>{let m=i[f],h=i[p],y=C(m.ts,h.ts),b=oe(m),v=oe(h);return y||Number(r.has(v))-Number(r.has(b))});let u=d.shift();l.push(i[u]);for(let f of a[u])c[f]-=1,c[f]===0&&d.push(f)}if(l.length!==i.length)throw new g("History union cannot preserve contradictory original branch event orders; leave the file unresolved for manual recovery.",_.GENERIC_FAILURE);return l}function Dc(e){return{entries:e,positions:new Map(e.map((t,n)=>[oe(t),n])),index:-1,document:ds()}}function Ti(e,t){let n=t??e.index;for(;e.index<n;){let r=gt(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 Oc(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 Ti(e,t)}function uh(e,t,n){if(n===0)return;let r=Dc(e),i=Dc(t),o=Ti(r,n-1);Ti(i,n-1);let s=0,a=new Set([...Nc,...Mc]);return(c,d)=>{if(s++<n)return c.patch;let l=oe(c),u=Oc(r,r.positions.get(l)),f=Oc(i,i.positions.get(l)),p=yn(c.patch).filter(v=>{let[w,k]=v.path.slice(1).split("/");return w!=="metadata"||!a.has(k)}),m=r.positions.get(l),h=Ac(d,p,{branch:m===void 0?"theirs":"ours",line:(m??i.positions.get(l))+1,op:c.op}),y=Pc(o.metadata,u.metadata,f.metadata,"ours","latest_document_update",String(u.metadata.updated_at),String(f.metadata.updated_at));for(let v of a)Object.hasOwn(y.merged,v)?h.metadata[v]=y.merged[v]:delete h.metadata[v];let b=_n({metadata:h.metadata,body:h.body});return ah.compare(d,b)}}function _E(e,t,n){let r=ki(e,"base"),i=ki(t,"ours"),o=ki(n,"theirs"),s=[r,i,o].map(p=>p.filter(m=>m.op==="create"));if(s[0].length===0&&s.slice(1).every(p=>p.length>0)||s.some(p=>p.length>1)||new Set(s.flat().map(oe)).size>1)throw new 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=dh(i,o);if(a===i.length&&a===o.length)return{merged:De(i),strategy:"identical",common_entries:a,entries_from_ours:0,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===o.length)return{merged:De(i),strategy:"fast_forward_ours",common_entries:a,entries_from_ours:i.length-a,entries_from_theirs:0,entries_total:i.length,reanchored:!1};if(a===i.length)return{merged:De(o),strategy:"fast_forward_theirs",common_entries:a,entries_from_ours:0,entries_from_theirs:o.length-a,entries_total:o.length,reanchored:!1};let c=i.slice(a),d=new Set(c.map(oe)),l=o.slice(a).filter(p=>!d.has(oe(p))),u=lh(c,o.slice(a),l,d),f=vn([...i.slice(0,a),...u],void 0,{continuousHashSurface:!0,projectPatch:uh(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:De(f.entries),strategy:"union_reanchor",common_entries:a,entries_from_ours:c.length,entries_from_theirs:l.length,entries_total:f.entries.length,reanchored:!0}}function Ei(e,t){let n=He(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 Jn(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
5
+ `)}
6
+ `}function fh(e){return e.map((t,n)=>({...t,sequence:n+1}))}function yE(e,t,n){Ei(e,"base");let r=Ei(t,"ours"),i=Ei(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:Jn(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:Jn(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:Jn(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=fh([...r.slice(0,s),...l]);return{merged:Jn(u),strategy:"union_reanchor",common_entries:s,entries_from_ours:a.length,entries_from_theirs:d.length,entries_total:u.length,reanchored:!0}}var Nc=["tags","dependencies","comments","notes","learnings","files","tests","test_runs","docs","reminders","events"],Mc=["acceptance_criteria"],mh=["updated_at"];function Fe(e,t){return e===void 0||t===void 0?e===void 0&&t===void 0:E(e)===E(t)}function Lc(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 Nt(e){if(typeof e!="object"||e===null||Array.isArray(e))return E(e);let{provenance:t,...n}=e;return E(n)}function ph(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 hh(e,t,n){let r=l=>Array.isArray(l)?l:[],i=new Set(r(e).map(Nt)),o=r(t),s=new Set(o.map(Nt)),a=r(n),c=new Set(a.map(Nt)),d=o.filter(l=>{let u=Nt(l);return!i.has(u)||c.has(u)});for(let l of a){let u=Nt(l);!s.has(u)&&!i.has(u)&&d.push(ph(l))}return d}function gh(e,t){return C(String(e),String(t))>=0?e:t}function Fc(e,t,n,r){return Fe(t,n)?{value:t,from_theirs:!1,conflict:!1}:Fe(e,t)?{value:n,from_theirs:!0,conflict:!1}:Fe(e,n)?{value:t,from_theirs:!1,conflict:!1}:{value:r==="theirs"?n:t,from_theirs:r==="theirs",conflict:!0}}function $c(e,t,n,r,i,o,s){let a=Fc(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(S(n)).localeCompare(E(S(t)))<0;return{value:d?n:t,from_theirs:d,conflict:!0,resolution_basis:"stable_value_tiebreak",retained_side:d?"theirs":"ours"}}function Ii(e){return{...e.metadata}}function Ci(e,t,n){try{let r=Lo(Do(e,{...n,requireSupportedFormat:!0}),n),i=Object.entries(r.metadata).find(([,o])=>st(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 _h(e){if(!e.unionFieldSet.has(e.field))return!1;let t=e.field==="tests"?hh(e.baseValue,e.oursValue,e.theirsValue):e.field==="acceptance_criteria"?Lc(Zt(e.baseValue),Zt(e.oursValue),Zt(e.theirsValue)).join("; "):Lc(e.baseValue,e.oursValue,e.theirsValue);return e.accumulator.merged[e.field]=t,Fe(t,e.oursValue)||e.accumulator.unionFields.push(e.field),!0}function yh(e){let t=$c(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:S(e.baseValue),ours:S(e.oursValue),theirs:S(e.theirsValue),retained:S(t.value),discarded:S(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 Pc(e,t,n,r,i,o,s){let a=new Set([...Nc,...Mc]),c=new Set(mh),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(!_h({field:u,baseValue:f,oursValue:p,theirsValue:m,unionFieldSet:a,accumulator:l})){if(c.has(u)){l.merged[u]=gh(p,m);continue}yh({field:u,baseValue:f,oursValue:p,theirsValue:m,preferred:r,conflictResolution:i,oursUpdatedAt:o,theirsUpdatedAt:s,accumulator:l})}}return l}function vE(e,t,n,r={}){let i=r.preferred??"ours",o=r.conflictResolution??"preferred_side",s=Ci(t,"ours",r),a=Ci(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=Ci(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=Ii(c),l=Ii(s),u=Ii(a),{merged:f,conflictFields:p,fieldsFromTheirs:m,unionFields:h,conflictDecisions:y}=Pc(d,l,u,i,o,s.metadata.updated_at,a.metadata.updated_at),b=$c(c.body,s.body,a.body,i,o,s.metadata.updated_at,a.metadata.updated_at);b.conflict?(p.push("body"),y.push({field:"body",base:S(c.body),ours:S(s.body),theirs:S(a.body),retained:S(b.value),discarded:S(b.from_theirs?s.body:a.body),retained_side:b.retained_side,resolution_basis:b.resolution_basis})):b.from_theirs&&m.push("body");let v=f;return v.pm_format_version=Ao(Math.max(...[c.metadata,s.metadata,a.metadata,v].map(xo))),{merged:Oo({metadata:v,body:b.value},r),conflict_fields:p,fields_from_theirs:m,union_fields:h,conflict_decisions:y,requested_preference:i,requested_preference_applied:o==="preferred_side",conflict_resolution:o}}function Si(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ri(e,t){let n=He(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 vh(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 bh(e,t,n,r,i,o,s){if(!Si(t)||!Si(n))return null;let a=Si(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=wh(a,t,n,l,r,u,o,s);f!==void 0&&(c[l]=f)}return c}function jc(e,t,n,r,i,o,s){if(Fe(t,n))return t;let a=vh(e,t,n);if(a!==null)return a.acceptedTheirs&&s.push(i),a.merged;let c=bh(e,t,n,r,i,o,s);if(c!==null)return c;let d=Fc(e,t,n,r);return d.conflict?o.push(i):d.from_theirs&&s.push(i),d.value}function wh(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 jc(e[r],t[r],n[r],i,o,s,a);if(c){if(l&&Fe(e[r],t[r])){a.push(o);return}return l?(s.push(o),i==="theirs"?void 0:t[r]):t[r]}if(!(l&&Fe(e[r],n[r])))return l?(s.push(o),i==="theirs"?n[r]:void 0):(a.push(o),n[r])}function bE(e,t,n,r={}){let i=r.preferred??"ours",o=Ri(e,"base"),s=Ri(t,"ours"),a=Ri(n,"theirs"),c=[],d=[],l=jc(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 Gh}from"node:child_process";import{randomUUID as Kh}from"node:crypto";import{readdir as zh,realpath as Te,stat as qh}from"node:fs/promises";import D from"node:path";import{promisify as Vh}from"node:util";import Zn from"node:path";import{execFile as kh}from"node:child_process";import{createHash as Uc}from"node:crypto";import{readdir as Eh}from"node:fs/promises";import Ih from"node:path";import{promisify as Ch}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="af5442e7-c8af-5d81-8c89-7f1a98159cec")}catch{}})();var we=Ch(kh),Qn=/^[a-f0-9]{40}(?:[a-f0-9]{24})?$/u;async function TE(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 we("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||!Qn.test(a))continue;let{stdout:c}=await we("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 we("git",["rev-parse","HEAD","ORIG_HEAD"],{cwd:e,timeout:1e4}),[s,a]=o.trim().split(/\r?\n/u);if(s!==a||!Qn.test(s))return;let{stdout:c}=await we("git",["rev-parse","--verify",`${s}:${i}`],{cwd:e,timeout:1e4}),d=c.trim(),l=Uc(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 Hc(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"&&Qn.test(t.original_head)&&typeof t.original_blob=="string"&&Qn.test(t.original_blob)}async function Bc(e,t,n,r){if(r!==void 0&&Uc(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 we("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 Eh(i.trim())).some(d=>o.has(d)))return!1;let{stdout:s}=await we("git",["rev-parse","HEAD"],{cwd:e,timeout:1e4});if(s.trim()!==n.original_head)return!1;let{stdout:a}=await we("git",["rev-parse","--verify",`HEAD:${t}`],{cwd:e,timeout:1e4});if(a.trim()!==n.original_blob)return!1;let{stdout:c}=await we("git",["hash-object","--",Ih.resolve(e,t)],{cwd:e,timeout:1e4});return c.trim()!==n.original_blob?!1:(await we("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 Sh=/^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$/u,Rh=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/u,tr=2048,Th=64,xh=1e5,Ah=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 nr(e){return Sh.test(e)}var Dh=new Set(["field","base","ours","theirs","retained","discarded","retained_side","resolution_basis"]),rr="bounded_non_sensitive_scalars_v1",Oh=new Set(["open","in_progress","blocked","closed","canceled"]),Lh=new Set(["risk","confidence","severity"]),Nh=new Set(["low","medium","high","critical"]),Kc=new Map([["priority",new Set([0,1,2,3,4].map(E))],["status",new Set([...Oh].map(E))],...[...Lh].map(e=>[e,new Set([...Nh].map(E))])]);function he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function zc(e,t){return Object.keys(e).every(n=>t.has(n))}function er(e){return Array.isArray(e)&&e.length<=tr&&e.every(t=>typeof t=="string"&&t.length>0&&t.length<=256)}function Mt(e){let t=[{value:e,depth:0}],n=0;for(;t.length>0;){let r=t.pop();if(n+=1,n>xh||r.depth>Th)return!1;if(Array.isArray(r.value))for(let i of r.value)t.push({value:i,depth:r.depth+1});else if(he(r.value))for(let i of Object.values(r.value))t.push({value:i,depth:r.depth+1})}return!0}function qc(e){if(!he(e))return!1;let t=[void 0,"ours","theirs"],n=[void 0,"requested_preference","document_updated_at","stable_value_tiebreak"];return[zc(e,Dh),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"),Mt(e.base),Mt(e.ours),Mt(e.theirs),Mt(e.retained),Mt(e.discarded),t.includes(e.retained_side),n.includes(e.resolution_basis)].every(Boolean)}function Mh(e){if(!he(e))return!1;let t=Object.entries(e);return t.length<=tr&&t.every(([n,r])=>n.length>0&&n.length<=256&&typeof r=="string"&&/^[a-f0-9]{64}$/u.test(r))}function Fh(e,t){if(typeof e!="string"||e.length===0||e.length>4096||e.includes("\0")||e.includes("\\")||Zn.posix.isAbsolute(e))return!1;let n=Zn.posix.normalize(e);return n!==".."&&!n.startsWith("../")&&Zn.posix.basename(n,Zn.posix.extname(n))===t}function $h(e){return!er(e.fields_from_theirs)||!er(e.union_fields)||!Array.isArray(e.decisions)||e.decisions.length>tr||!e.decisions.every(qc)?!1:e.merged_field_hashes===void 0||Mh(e.merged_field_hashes)}function Ph(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===rr)&&i.includes(e.evidence_source)}function jh(e){return typeof e.created_at=="string"&&Or(e.created_at)&&(e.reconciled_at===void 0||typeof e.reconciled_at=="string"&&Or(e.reconciled_at))}function Gc(e,t){if(!he(t)||sr(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||Kc.get(e)?.has(E(r))===!0)&&Re(r)===t.pm_value_hash}function Uh(e){if(!e.decisions.every(r=>r.base===null&&r.ours===null&&r.theirs===null&&Gc(r.field,r.retained)&&Gc(r.field,r.discarded)))return!1;let t=e.decisions.reduce((r,i)=>r+(he(i.retained)&&Object.hasOwn(i.retained,"pm_value")?1:0)+(he(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===rr)}function Hh(e){return e.operation!==void 0&&!Hc(e.operation)?!1:e.settlement===void 0||e.settlement==="original_git_state_restored"&&e.state==="reconciled"&&e.operation!==void 0}function Bh(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||!zc(e,Ah)?"required_fields":typeof e.id!="string"||!nr(e.id)?"receipt_id":typeof e.item_id!="string"||!Rh.test(e.item_id)?"item_id":Fh(e.item_path,e.item_id)?null:"item_path"}function ir(e,t){if(!he(e))return"required_fields";let n=Bh(e);return n!==null?n:Hh(e)?$h(e)?Ph(e)?jh(e)?t==="durable"&&!Uh(e)?"durable_decisions":null:"timestamps":"enums":"collections":"operation"}function or(e){if(!he(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=>!he(r)||!Object.hasOwn(r,"retained")||!Object.hasOwn(r,"discarded")?r:{base:S(void 0),ours:S(void 0),theirs:S(void 0),...r})}}function Vc(e){if(!he(e))return;if(!er(e.fields_from_theirs))return"fields_from_theirs";if(!er(e.union_fields))return"union_fields";if(!Array.isArray(e.decisions)||e.decisions.length>tr)return"decisions";let t=e.decisions.findIndex(n=>!qc(n));return t>=0?`decisions[${t}]`:"merged_field_hashes"}function xi(e,t){return ir(e,t)===null}function sr(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 Ai(e,t){let n=st(t),r=Re(n?void 0:t);return!n&&(t===null||Kc.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 Wh=Vh(Gh),ar=100;async function Di(e){try{let{stdout:t}=await Wh("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 Yc(e,t){let n=D.dirname(D.resolve(e,t));for(let r=0;r<12;r+=1){if(await ho(D.join(n,"settings.json")))return n;let i=D.dirname(n);if(i===n)break;n=i}return null}function at(e){return D.join(e,"merge-receipts")}function xe(e){return`${e}.json`}async function Wc(e){let t;try{t=e.readReceipt?await e.readReceipt(e.receiptPath):await vt(e.receiptPath,Rn)}catch(o){if(Pe(o))return null;throw o}if(t===null)throw new Error(`Receipt ${e.receiptId} settlement source is not a bounded regular file.`);let n;try{n=or(JSON.parse(t))}catch{throw new Error(`Receipt ${e.receiptId} settlement source is not valid JSON.`)}if(!xi(n,e.evidenceSource)||n.id!==e.receiptId||e.settlement!==void 0&&n.operation===void 0||D.basename(e.receiptPath)!==xe(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:$t(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 Ft(e,t=!1){return ne(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:ne(E(S(n.retained))),discarded_hash:ne(E(S(n.discarded)))})):cr(e).decisions}))}function $t(e){let t=[Ft(e)];return e.value_policy===void 0&&(e.value_availability===void 0||e.value_availability==="clone_local")&&t.push(Ft(e,!0)),t}function Xh(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 Yh(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 cn(D.join(n,"history",`${o.item_id}.jsonl`),o.item_id),Ce(s).ok||(s=[])}catch{s=[]}r.set(o.item_id,s)}let a=o.settlement==="original_git_state_restored",c=E({...cr(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 cr(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:sr(t.retained)??Re(st(t.retained)?void 0:t.retained),discarded_hash:sr(t.discarded)??Re(st(t.discarded)?void 0:t.discarded)}))}}async function QE(e){let t=await Di(e.cwd);if(t===null)return null;let n=e.itemPath.trim(),r=/^(['"])(.*)\1$/su.exec(n)?.[2]??n,i=D.basename(r,D.extname(r)),o={version:1,id:Kh(),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:S(a.base),ours:S(a.ours),theirs:S(a.theirs),retained:S(a.retained),discarded:S(a.discarded)})),...e.operation?{operation:e.operation}:{},state:"pending",created_at:x(),value_availability:"clone_local"};await Ar(t),await K(D.join(t,xe(o.id)),`${JSON.stringify(o,null,2)}
9
+ `);let s=await Yc(e.cwd,o.item_path);if(s!==null){let a=at(s),c=o.decisions.map(u=>({field:u.field,base:null,ours:null,theirs:null,retained:Ai(u.field,u.retained),discarded:Ai(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:rr};await Ar(a),await K(D.join(a,xe(o.id)),`${JSON.stringify(l,null,2)}
10
+ `)}return o}async function Xc(e,t){let n;try{n=await zh(e)}catch(a){let c=await Jh(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>=ar)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},...nr(d)?{receipt_id:d}:{candidate_name_hash:ne(a)}})};for(let a of n.sort((c,d)=>c.localeCompare(d))){if(!a.endsWith(".json"))continue;let c=await Qh(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 Jh(e,t,n=qh){if(!ae(t))return!1;let r=e;for(;;)try{return(await n(r)).isDirectory()}catch(i){if(!ae(i))return!1;let o=D.dirname(r);if(o===r)return!0;r=o}}async function Qh(e,t,n){let r;try{r=await vt(D.join(e,t),Rn)}catch{return{reason:"candidate_unreadable"}}if(r===null)return{reason:"candidate_not_bounded_regular_file"};let i;try{i=or(JSON.parse(r))}catch{return{reason:"candidate_invalid_json"}}let o=ir(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:Vc(i)}:{}};let s=i;if(t!==xe(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 Zh(e,t,n){if(n.length===0)return[];let{readIndexedReceiptBlobs:r}=await import("./indexed-receipt-blobs-I6RQGD6Y.js"),i=await eg(t),o=await r(i?.workspace??e,at(t),n.map(s=>xe(s.id)),Rn,i?.directory);return n.flatMap(s=>{try{let a=or(JSON.parse(o.get(xe(s.id))??""));if(ir(a,"durable")!==null)return[];let c=a,d=$t(s);return c.id===s.id&&$t(c).some(l=>d.includes(l))?[s.id]:[]}catch{return[]}})}async function eg(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 Te(e)!==await Te(r))return;let i=D.relative(await Te(t),await Te(n)),o=i===".."||i.startsWith(`..${D.sep}`)||D.isAbsolute(i),s=at(o?D.join(await Te(t),".agents","pm"):await Te(n)),[a,c]=await Promise.all([Te(s),Te(at(n))]);return a!==c?void 0:{workspace:t,directory:s}}catch{return}}async function dr(e,t={}){let n=await Di(e),r=n===null?{receipts:[],invalid_evidence_count:0,invalid_evidence:[],invalid_evidence_truncated:!1}:await Xc(n,"clone_local"),i=t.pmRoot??D.join(e,".agents","pm"),o=await Xc(at(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?$t(u):[Ft(u)]).includes(Ft(f))){s.delete(u.id),a+=1,r.invalid_evidence.length+o.invalid_evidence.length+c.length<ar&&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:Xh(u,f))}await Yh(s,o.receipts,i);let d=o.receipts.filter(u=>s.has(u.id)),l=new Set(await Zh(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,ar),invalid_evidence_truncated:r.invalid_evidence_truncated||o.invalid_evidence_truncated||r.invalid_evidence_count+o.invalid_evidence_count+a>ar,clone_local_evidence_resolved:n!==null}}async function tg(e,t={}){return(await dr(e,t)).receipts}function Jc(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 ZE(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 eI(e,t,n={}){let r=await Di(e);if(r===null){if(n.requireExisting===!0)throw new Error(`Receipt ${t.id} disappeared before settlement.`);return}let i=t.evidence_source??"clone_local";if(!xi(t,i))throw new Error("Merge receipt trusted settlement input failed schema validation.");let o=x(),s=D.join(r,xe(t.id)),a=await Yc(e,t.item_path),c=a===null?null:D.join(at(a),xe(t.id)),d=(await Promise.all([Wc({receiptPath:s,receiptId:t.id,evidenceSource:"clone_local",reconciledAt:o,settlement:n.settlement}),...c===null?[]:[Wc({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)?[Ft(t)]:$t(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 K(l.path,l.content)}async function tI(e){let t=await tg(e.cwd??process.cwd(),{...e,includeLossless:!0});return{ok:!0,count:t.length,receipts:t,generated_at:x()}}async function nI(e){let t=await dr(e.cwd??process.cwd(),{...e,includeLossless:!0}),n=t.clone_local_evidence_resolved===!0&&t.invalid_evidence_count===0;return{ok:n,complete:n,count:t.receipts.length,invalid_evidence_count:t.invalid_evidence_count,invalid_evidence:t.invalid_evidence,invalid_evidence_truncated:t.invalid_evidence_truncated,clone_local_evidence_resolved:t.clone_local_evidence_resolved,receipts:t.receipts,generated_at:x()}}import ng 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]="5f3ae68b-2ae8-505c-bfc8-10e605c39a9e")}catch{}})();function Oi(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=ys(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 Qc(e){if(!Hr(e.pmRoot))return;let t=await le(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),n=t===null?mt:(await ue(t,{schema:e.settings.schema}).catch(()=>null))?.document;n!==void 0&&_t(e.pmRoot,n,e.subject.id)}async function rg(e){let t=await _e(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw await Qc(e),new g(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);let n=await le(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?e.readItem?await e.readItem(n):await ue(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw await Qc(e),new g(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,_.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function lr(e){let t=e.writeHistoryRaw??K;try{await t(e.historyPath,e.nextHistoryRaw),await Pr(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await ng.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Pr(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Zc(e){let t=[...Oi({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await Be(e.pmRoot,e.subject.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let r=await rg({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation}),i=mt;if(_t(e.pmRoot,r.loadedItemUnderLock?.document??i,e.subject.id),await e.applyRewrite(r),Hr(e.pmRoot)){let o=await le(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),s=o===null?i:(await ue(o,{schema:e.settings.schema})).document;En(e.pmRoot,s,e.subject.id)}return 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 ed(e){let{subject:t,settings:n,operation:r,options:i}=e,o=await Uo(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 ue(t.located,{schema:n.schema}):null,a=ve(i.author,n.author_default),c=await e.transform({raw:o.raw,entries:o.entries,verification:jr(o.entries),loadedItem:s,author:a}),d=jr(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 Zc({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 lr({historyPath:t.historyPath,nextHistoryRaw:De(c.rewrittenEntries),historyRawUnderLock:u.historyRawUnderLock})},applyPostRewrite:c.afterWrite??(async()=>on({path:t.historyPath,scope:"project",op:`${r.replace("-","_")}:history`}))}):[];return c.report({verification:d,warnings:l})}import{isUtf8 as ig}from"node:buffer";import{readFile as og}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]="6fc9a054-8905-522e-a166-049730d0e1ae")}catch{}})();function sg(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 ag(e){if(He(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=sg(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=Ce(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:ne(e.slice(r)),retained_entries:t.length}}}async function td(e,t,n){if(!e)return{itemRaw:null,document:n,live:null};let r=await Es(e,{schema:t.schema});return{itemRaw:r.raw,document:r.document??n,live:r.document}}function nd(e,t,n){n.itemRaw!==null&&n.live===null&&bs(e,t,n.itemRaw);let r=n.live??mt;return _t(e,r,t),r}async function rd(e){let t;try{t=await og(e)}catch(n){if(ae(n))return null;throw n}if(!ig(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 id(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 rd(t.historyPath);if(o===null)throw new g(`No history stream exists for ${t.id}.`,_.NOT_FOUND);await sn({path:t.historyPath,scope:"project"});let s=ag(o),a=vs(s.entries,s.entries.length-1),c=ls(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 td(t.located,n,c),l=Oi({itemDocument:d.document,subjectId:t.id,author:i,force:r.force,settings:n}),u=s.itemHashVersion,f=r.dryRun===!0,p=s.receipt!==null;if(p&&!f){let m=await Be(e.pmRoot,t.id,n.locks.ttl_seconds,i,!!r.force,n.governance.force_required_for_stale_lock,n.locks.wait_ms);try{let h=await rd(t.historyPath),y=await le(e.pmRoot,t.id,n.id_prefix,n.item_format,e.typeRegistry.type_to_folder),b=y?await _e(y.itemPath):null;if(h!==o||b!==d.itemRaw)throw nd(e.pmRoot,t.id,await td(y,n,c)),new g("History or item changed while waiting for salvage lock; retry.",_.CONFLICT);let v=nd(e.pmRoot,t.id,d),w=gn({...cs({hashAlgorithm:Ae(s.entries.at(-1).hash_algorithm),nowIso:x(),author:i,op:"history_salvage",before:c,after:c,message:r.message,context:{history_salvage:s.receipt}}),before_hash:s.entries.at(-1).after_hash,after_hash:s.entries.at(-1).after_hash,item_hash_version:u});await lr({historyPath:t.historyPath,historyRawUnderLock:o,nextHistoryRaw:`${s.prefix}${JSON.stringify(w)}
12
+ `}),En(e.pmRoot,v,t.id),l.push(...await on({path:t.historyPath,scope:"project",op:"history_salvage:history"}))}finally{await m()}}return{id:t.id,dry_run:f,changed:p,history:{path:t.historyPath,entries_scanned:s.entries.length,chain_drift_before:!1,entries_rehashed:0,entries_patch_repaired:0,converted_replace_to_add:0,skipped_ops:0,reconciled_with_item:!1,audit_entry_added:p&&!f,verify_ok:!0,verify_errors:[],item_hash_version_before:u,item_hash_version_after:u,version_disposition:"preserved"},item:{exists:t.located!==null,path:t.located?.itemPath??null,matched_chain_before:null},provenance_normalization:{requested:!1,changed:!1,events_changed:0,observations_removed:0,invalid_values:[]},...s.receipt?{salvage:s.receipt}:{},warnings:l,generated_at:x()}}import{realpath as yd}from"node:fs/promises";import Ni from"node:path";import vd from"fast-json-patch";import Pt from"node:fs/promises";import{createHash as cg}from"node:crypto";import sd 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 Li=new Set([void 0,...Ro]),ad=11,dg="history-drift-cache.json";function cd(e){return sd.join(e,"runtime",dg)}async function lg(e){try{let t=await Pt.readFile(cd(e),"utf8"),n=JSON.parse(t);return n.version!==ad||n.history_item_hash_version!==hn||typeof n.entries!="object"||n.entries===null||Object.values(n.entries).some(r=>typeof r.chain_ok!="boolean"||typeof r.latest_hash_comparable!="boolean"||!Li.has(r.hash_algorithm)||!ze.includes(r.item_hash_version)&&r.version_skew!==!0||r.chain_ok&&r.version_skew!==!0&&ze.includes(r.item_hash_version)&&!r.latest_hash_comparable)?null:n}catch{return null}}function dd(){return{missingStreams:[],unreadableStreams:[],hashMismatches:[],chainMismatches:[],versionSkews:[],workspaceStateMismatches:[],workspaceStateMissing:[],workspaceStateUnreadable:[]}}function ld(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?[J]:[]])].sort((n,r)=>n.localeCompare(r));return{...e,driftedItems:t}}async function ug(e,t,n,r,i){let o=ms(e),s;try{s=await Pt.stat(o)}catch(d){return ae(d)||i.unreadableStreams.push(J),!1}let a=i.missingStreams.length,c=await ud({itemId:J,historyPath:o,stat:s,cached:t[J],verifyCacheHitByContent:r,accumulator:i});return c.verification?(c.verification.versionSkew&&i.versionSkews.push(J),c.verification.chainOk||i.chainMismatches.push(J),n[J]={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 fg(e){return!Li.has(e.hash_algorithm)||e.item_hash_version!==void 0&&!ze.includes(e.item_hash_version)}async function mg(e){let t=await Pt.readFile(e,"utf8"),n=cg("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=Ce(r),s=r.some(fg),a=r[r.length-1],c=Li.has(a.hash_algorithm),d=a.item_hash_version,l=d!==void 0&&ze.includes(d),u=l?d:o.item_hash_version;return{latestAfterHash:i,hashAlgorithm:c?Ae(a.hash_algorithm):void 0,identityDiscontinuities:To(r),chainOk:o.ok,versionSkew:s,latestHashComparable:c&&u!==void 0&&(!s||l||d===void 0),contentHash:n,itemHashVersion:u??hn}}function pg(e,t){return e!==void 0&&e.mtime_ms===t.mtimeMs&&e.ctime_ms===t.ctimeMs&&e.size===t.size}async function od(e,t,n){try{return await mg(t)||(n.missingStreams.push(e),null)}catch{return n.unreadableStreams.push(e),null}}function hg(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 ud(e){let t=typeof e.cached?.content_hash=="string"&&e.cached.content_hash.length>0?e.cached.content_hash:void 0;if(!(pg(e.cached,e.stat)&&t!==void 0)||!e.cached||!e.cached.chain_ok)return{verification:await od(e.itemId,e.historyPath,e.accumulator),cacheDirty:!0};if(e.verifyCacheHitByContent){let n=await od(e.itemId,e.historyPath,e.accumulator);return{verification:n,cacheDirty:!hg(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&&ze.includes(e.cached.item_hash_version),contentHash:t,itemHashVersion:e.cached.item_hash_version,hashAlgorithm:e.cached.hash_algorithm},cacheDirty:!1}}async function fd(e,t,n,r){let i,o;try{i=_o(e,t.id),o=await Pt.stat(i)}catch(d){return(ae(d)?r.missingStreams:r.unreadableStreams).push(t.id),!1}let s=await ud({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&&(as({metadata:c,body:a},s.verification.itemHashVersion,s.verification.hashAlgorithm).includes(s.verification.latestAfterHash)||r.hashMismatches.push(t.id)),s.cacheDirty}async function gg(e,t){if(!(t.unreadableStreams.includes(J)||t.chainMismatches.includes(J)||t.versionSkews.includes(J)))try{let n=await ps(e);t.workspaceStateMismatches.push(...n.mismatched_documents),t.workspaceStateMissing.push(...n.missing_documents),t.workspaceStateUnreadable.push(...n.unreadable_documents)}catch{t.unreadableStreams.push(J)}}async function JI(e,t){let n=dd();return await fd(e,t,{previousEntries:{},nextEntries:{},verifyCacheHitByContent:!0},n),ld(n)}async function md(e,t,n={}){let r=dd(),i=(await lg(e))?.entries??{},o={},s=!1,a=n.cacheHitVerification!=="metadata",c={previousEntries:i,nextEntries:o,verifyCacheHitByContent:a};for(let l of t)await fd(e,l,c,r)&&(s=!0);let d=await ug(e,i,o,a,r);if(s||=d,await gg(e,r),s||Object.keys(i).length!==Object.keys(o).length){let l=cd(e);try{await Pt.mkdir(sd.dirname(l),{recursive:!0}),await K(l,JSON.stringify({version:ad,history_item_hash_version:hn,entries:o}))}catch{}}return ld(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]="a5461fc0-40f6-5b8b-a535-494c9d840ed1")}catch{}})();function pd(e,t){return t==="body"?e.body:e.metadata[t]}function _g(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 yg(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 hd(e,t){if(!Array.isArray(t)||!["comments","docs","tests"].includes(e)||!t.every(r=>_g(e,r)))return t;let n=t.map(r=>e==="comments"?r:yg(r));return[...new Map(n.map(r=>[E(r),r])).values()]}function Mi(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)&&Mi(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)&&Mi(i,n[r]))}function gd(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 yn(o.patch))s.add(bn(c.path)),c.from&&s.add(bn(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 vg(e,t,n){let r=vd.compare(t,n);if(r.length===0)return;let i=new Set;for(let m of r)i.add(bn(m.path));let o=new Set([...i].filter(m=>Mi(hd(m,pd(t,m)),hd(m,pd(n,m))))),s=new Set([...i].filter(m=>!o.has(m))),a=gd(e,s),c=gd(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 bg(e){try{return await yd(e)}catch{return null}}async function wg(e){if(await bg(Ni.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[Re(s),ne(E(S(s)))].includes(n[o])})?{receipt:e.receipt,declaredFields:t}:null}async function kg(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 yd(e.itemPath),r=[];for(let s of t){let a=await wg({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 _d(e,t,n,r){if(e===void 0)return;let{receipt:i,gitWorkspaceRoot:o}=e,s=t.currentItemPath===null?null:Ni.relative(o,t.currentItemPath).split(Ni.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 Bc(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 Eg(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 dr(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))??[];Jc(t,n,e.options.dryRun===!0);let i=e.options.mergeReceiptProof?await kg({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(cr)}}:e.options.auditContext}}function Ig(e,t,n){let r=e.located?.itemPath??null,i=t.loadedItem,o=t.entries;if(!i)return{currentItemReplay:null,currentItemPath:r,matchedChainBefore:null,currentItemRawBeforeLock:null,loadedItem:null};let s=_n(i.document),a=o[o.length-1].after_hash;return{currentItemReplay:s,currentItemPath:r,matchedChainBefore:qe(s,n,Ae(o.at(-1)?.hash_algorithm)).includes(a),currentItemRawBeforeLock:i.raw,loadedItem:i}}function Cg(e){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-repair re-anchored ${e.entriesRehashed} entr${e.entriesRehashed===1?"y":"ies"}${e.entriesPatchRepaired>0?`, repaired ${e.entriesPatchRepaired} patch(es)`:""}${e.reconcileNeeded?", reconciled chain with on-disk item":""}.`}function Sg(e){let t=[...e.reanchorEntries];if(!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.reconcileNeeded&&e.currentItemReplay?e.currentItemReplay:e.finalReplay,r=Ae(e.reanchorEntries.at(-1)?.hash_algorithm),i=qe(e.finalReplay,e.itemHashVersion,r),o=e.reanchorEntries[e.reanchorEntries.length-1].after_hash,s=i.indexOf(o),a=qe(n,e.itemHashVersion,r),c={hash_algorithm:r,ts:x(),author:e.author,op:e.auditOperation,patch:e.reconcileNeeded&&e.currentItemReplay?vd.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(gn({...c,event_class:Ho(c)})),{rewrittenEntries:t,auditEntryAdded:!0}}function Rg(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 Tg(e,t,n){let{pmRoot:r,settings:i,typeRegistry:o}=await Br(n.path),s=await Ss(r,e,i,o.type_to_folder);return t.salvageTail===!0?id({pmRoot:r,subject:s,settings:i,typeRegistry:o,options:t,author:ve(t.author,i.author_default)}):ed({pmRoot:r,subject:s,settings:i,typeRegistry:o,operation:"history-repair",options:t,transform:a=>Ag({pmRoot:r,subject:s,options:t},a)})}function xg(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 Ag(e,t){let{pmRoot:n,subject:r,options:i}=e,o=t.entries,s=t.verification,a=Ce(o),c=i.normalizeProvenance?Sc(o):{entries:o,receipt:{changed:!1,events_changed:0,observations_removed:0,invalid_values:[]}},d=us(c.entries),l=new Set(c.entries.map($=>$.item_hash_version).filter($=>$!==void 0)),u=vn(c.entries,d),f=Ig(r,t,d);await _d(i.mergeAbandonmentProof,f,s.ok,u);let p=u.finalDocument,m=qe(p,d),h=!1;if(f.currentItemReplay!==null){let $=qe(f.currentItemReplay,d);h=!m.some((V,ee)=>V===$[ee])}let y=h&&f.currentItemReplay?vg(u.entries,p,f.currentItemReplay):void 0,{mergeReceiptProof:b,effectiveAuditContext:v}=await Eg({options:i,pmRoot:n,subjectId:r.id,itemReplayContext:f,reconciliation:y}),w=[u.entriesRehashed>0,u.entriesPatchRepaired>0,h,xg(i,u.entries,v),c.receipt.changed].some(Boolean),k=t.author,T=!!i.dryRun,A=Cg({message:i.message,entriesRehashed:u.entriesRehashed,entriesPatchRepaired:u.entriesPatchRepaired,reconcileNeeded:h}),{rewrittenEntries:P,auditEntryAdded:L}=Sg({reanchorEntries:u.entries,changed:w,reconcileNeeded:h,currentItemReplay:f.currentItemReplay,finalReplay:p,author:k,message:A,auditOperation:i.auditOperation??"history_repair",auditContext:c.receipt.changed?{...v,provenance_normalization:c.receipt}:v,itemHashVersion:d,explicitItemHashVersion:u.explicitItemHashVersion}),q=Rg(w,u.skippedOps,y);return{changed:w,rewrittenEntries:P,beforeWrite:async()=>_d(i.mergeAbandonmentProof,f,s.ok,u),report:({verification:$,warnings:V})=>({id:r.id,dry_run:T,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:L,verify_ok:$.ok,verify_errors:$.errors,item_hash_version_before:a.item_hash_version??null,item_hash_version_after:d,version_disposition:l.size>1?"selected_for_ambiguous_stream":"preserved"},item:{exists:f.currentItemPath!==null,path:f.currentItemPath,matched_chain_before:f.matchedChainBefore},provenance_normalization:{requested:i.normalizeProvenance===!0,...c.receipt},...y?{reconciliation:y}:{},...b?{merge_receipt_proof:b}:{},warnings:[...new Set([...q,...V])].sort((ee,ge)=>ee.localeCompare(ge)),generated_at:x()})}}function EC(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 IC(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 Br(t.path),o=[],s=await In(n,r.item_format,i.type_to_folder,o,r.schema,{forceSourceScan:!0}),a=await md(n,s),c=e.normalizeProvenance?await Rc(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 Tg(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),...await xs(m,n)})}return e.dryRun||await is(n),{all:!0,dry_run:!!e.dryRun,scanned_streams:s.length,drifted_streams:a.driftedItems.length,provenance_invalid_streams:c.length,streams:l,totals:f,warnings:[...new Set([...o,...u])].sort((p,m)=>p.localeCompare(m)),generated_at:x()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var bd=16;async function wd(e,t,n){let r=M(t,O()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<bd;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await le(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await ue(c,{schema:t.schema});i.push(d.document.metadata.id),s=d.document.metadata.parent}return i}async function AC(e){await Fo({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await wd(e.pmRoot,e.settings,e.itemId)})}async function DC(e){await $o(e)}async function OC(e){await Po({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await wd(e.pmRoot,e.settings,e.itemId)}:{}})}var LC={lineage_depth:bd,active_items:64,evidence_rows:32};function kd(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 jt=["priority_floor","weighted"],Dg="default-weighted-v1";function Ed(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==Dg)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 Id(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 Lg}from"@toon-format/toon";import{createHash as Og}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 Fi(e){let t=Og("sha256").update("[");for(let n of e)t.update(E(n)).update("\0");return t.update("]").digest("hex")}function ur(e,t){if(t===void 0)return x();let n=Jo(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 Ut(e,t){let n=e.map((a,c)=>({row:a,index:c})),r=ce(t.command,{query:t.query,rows_digest:Fi(e)}),i=t.after===void 0?void 0:Qo(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=es(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 $i=["agenda","day","week","month"],Pi=["markdown","toon","json"],Ng=["sun","mon","tue","wed","thu","fri","sat"],Mg=365,Fg=365,Ad=28,$g=1e3;function ji(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 Pg(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 Dd(e,t){let n;for(let r of t){let i=bo(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function jg(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!$i.includes(t)){let n=Dd(t,$i);throw new g(`Calendar view must be one of ${$i.join("|")}${n?`. Did you mean "${n}"?`:"."}`,_.USAGE)}return t}function Ug(e){if(!e)return;let t=e.trim().toLowerCase();if(!Pi.includes(t)){let n=Dd(t,Pi);throw new g(`Calendar format must be one of ${Pi.join("|")}${n?`. Did you mean "${n}"?`:"."}`,_.USAGE)}return t}function VC(e,t){let n=Ug(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 Hg(e,t){if(e===void 0)return;let n=Y(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 Bg(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 fr(e){return new Date(e).toISOString().slice(0,10)}function Od(e,t){if(!t||t==="UTC")return fr(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 fr(e)}function Gi(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function ke(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Ld(e){let t=new Date(Gi(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return ke(t.toISOString(),r)}function Gg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Kg(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function zg(e,t){return C(e,t)>=0?e:t}function Cd(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Sd(e,t){e.set(t,(e.get(t)??0)+1)}function qg(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>je(r)-je(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Nd(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 Md(e){return Ng[new Date(e).getUTCDay()]}function Vg(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Wg(e){let t=new Set;for(let n of e??[]){let r=Vg(n);r&&t.add(r)}return t}function Xg(e,t,n,r,i){let o=e??ke(n,-(r??Fg)),s=t??ke(e??n,i??Mg);return{start:o,end:C(s,o)>0?s:ke(o,1)}}function Yg(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Md(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??$g,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Wg(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>je(s)-je(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function mr(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 pr(e,t){let n=Md(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Jg(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(pr(e,t)&&mr(e,t)==="stop");n+=1)t=ke(t,e.interval);return e.occurrences}function Qg(e,t,n){let r=je(n),i=ke(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 Zg(e){let t=Ld(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=ke(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Qg(e,r,i);if(pr(e,o)&&mr(e,o)==="stop")return e.occurrences}}return e.occurrences}function e_(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=Nd(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!pr(e,s))&&mr(e,s)==="stop")return e.occurrences}}return e.occurrences}function t_(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=Nd(i,n,o,e.startDate);if(!(!s||!pr(e,s))&&mr(e,s)==="stop")return e.occurrences}}return e.occurrences}function n_(e,t,n,r){let i=Yg(e,t,n,r);return t.freq==="daily"?Jg(i):t.freq==="weekly"?Zg(i):t.freq==="monthly"?e_(i):t_(i)}function Fd(e){return[...e].sort((t,n)=>{let r=C(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function Ki(e){return{item_id:e.id,item_title:e.title,item_type:e.type,item_status:e.status,item_priority:e.priority,item_assignee:e.assignee??null,item_deadline:e.deadline??null,item_tags:e.tags}}function r_(e){return e.deadline?{at:e.deadline,date:fr(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e),item_deadline:e.deadline}:null}function i_(e){return(e.reminders??[]).map(t=>({at:t.at,date:fr(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...Ki(e)}))}function o_(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function s_(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function a_(e,t,n,r){let i=qg(t.recurrence),o=o_(t.start_at,t.end_at);return(t.recurrence?n_(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Od(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:s_(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Ki(e)}))}function c_(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?r_(o):null;s&&i.push(s),n.has("reminders")&&i.push(...i_(o));for(let a of n.has("events")?o.events??[]:[])i.push(...a_(o,a,t,r))}return Fd(i)}function d_(e,t,n,r,i){let o=$s(t.type,n),s=t.tag?.trim().toLowerCase(),a=Dn(t.priority),c=Hg(t.status,r),d=t.assignee?.trim(),l=Bg(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new 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=>l_(p,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function l_(e,t){return u_(e,t)&&f_(e,t)&&kn(e,t.runtimeFieldFilters)}function u_(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 f_(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 m_(e,t,n){return!(t&&C(e.at,t)<0||n&&C(e.at,n)>=0)}function Ui(e,t,n){return e.trim().toLowerCase()==="today"?Gi(t):ye(e,new Date(t),n)}function p_(e,t,n){let r=t.date?Ui(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Ui(t.from,n,"--from"):void 0,a=t.to?Ui(t.to,n,"--to"):void 0;if(s&&a&&C(s,a)>=0)throw new 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 h_(r,t,n,i,o,s,a);if(e==="day"){let d=Gi(r);return Hi(r,n,i,o,d,ke(d,1))}if(e==="week"){let d=Ld(r);return Hi(r,n,i,o,d,ke(d,7))}let c=Gg(r);return Hi(r,n,i,o,c,Kg(r))}function h_(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 Hi(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:zg(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function g_(e){let t=new Map;for(let n of e){let r=t.get(n.date)??[];r.push(n),t.set(n.date,r)}return[...t.entries()].sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>({date:n,count:r.length,events:Fd(r)}))}function __(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),Sd(n,c.item_type),Sd(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:Cd(n),by_status:Cd(r),recurring_events:a}}function y_(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function $d(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Bi(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function v_(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Od(e.event_end,e.event_timezone)?$d(e.event_end,e.event_timezone):e.event_end:null}function b_(e){let t=`${$d(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=v_(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 Rd(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function WC(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${y_(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: ${Bi(e.summary.by_kind)}`),t.push(`- by-type: ${Bi(e.summary.by_type)}`),t.push(`- by-status: ${Bi(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(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(""),Rd(t,e.warnings),Td(t.join(`
13
+ `));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${b_(r)}`);t.push("")}return Rd(t,e.warnings),Td(t.join(`
14
+ `))}function XC(e){return Lg(e)}function Td(e){let t=e.length;for(;t>0&&e[t-1]===`
15
+ `;)t-=1;return e.slice(0,t)}function w_(e){let t=ur("calendar",e.after),n=jg(e.view),r=p_(n,e,t),i=ie(e.limit),o=Pg(e.include),s=ji(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=ji(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=ji(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new 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?Ad:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function k_(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Ad}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function xd(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 E_(e,t){return{start:t.start??null,end:t.end??null,period_start:t.periodStart??null,period_end:t.periodEnd??null,full_period:t.fullPeriod,past:e.past===!0,from:e.from??null,to:e.to??null}}async function Pd(e,t){let n=N(process.cwd(),t.path);await Q(n);let r=w_(e),i=await F(n),o=X(i.schema),s=an(i.schema),a=wn(e,s,"calendar"),c=M(i,O()),d=[];k_(d,r.eventsOnlyCapApplied);let l=await fe(n,i.item_format,c.type_to_folder,d,i.schema),u=d_(l,e,c,o,a),f=Xg(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=c_(u,f,r.includeSources,r.occurrenceLimit).filter(v=>m_(v,r.rangeBounds.start,r.rangeBounds.end)),{rows:m,...h}=Ut(p,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...xd(e,a),limit:void 0},recurringWindow:f,occurrenceLimit:r.occurrenceLimit}}),y=g_(m),b=[...new Set(d)].sort((v,w)=>v.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:E_(e,r.rangeBounds),filters:xd(e,a),...h,summary_scope:"returned_rows",summary:__(m),events:m,days:y,...b.length>0?{warnings:b}:{}}}(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 hr={version:1,aliases:{}};function gr(e=[]){let t=new Set(Ge),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 jd(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function zi(e,t){if(e.agent_harness?.trim())return{agent_harness:e.agent_harness,harness_source:"recorded"};let n=t.aliases[e.author];return n?{agent_harness:n,harness_source:"vocabulary"}:{harness_source:"unresolved"}}function qi(e,t=Ge){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 _r(e,t=hr,n={}){let r=zi(e,t);return{...n.itemId===void 0?{}:{item_id:n.itemId},...n.version===void 0?{}:{version:n.version},ts:e.ts,op:e.op,author:e.author,...e.author_source===void 0?{}:{author_source:e.author_source},...r,vocabulary_version:t.version,...e.agent_instance===void 0?{}:{agent_instance:e.agent_instance},agent_provenance:e.agent_provenance??{},...e.message===void 0?{}:{message:e.message}}}function eS(e,t,n=hr,r=Ge){return Vi(t,n,r)(e)}function Vi(e,t=hr,n=Ge){let r=jd(e.harness),i=jd(e.agentInstance),o=qi(e,n);return s=>{let a=zi(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,d]of o){let l=s.agent_provenance?.[c];if(!l||!d.has(l.value))return!1}return!0}}function yr(e,t=hr,n=Ge){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);zi(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,c=0;for(let d of e){let l=d.agent_provenance?.[s];l===null?c+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:c,legacy_missing:e.length-a-c}})}}import I_ from"node:fs/promises";import Hd 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 C_=20,S_=5,R_=15,T_="-24h";function fS(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 x_={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Wi(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new g(`${t} must not be empty`,_.USAGE);return n}function Ud(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 ye(i,new Date(t),n)}function A_(e,t,n){return!(e.ts.length===0&&(t||n)||t&&C(e.ts,t)<0||n&&C(e.ts,n)>=0)}function Ht(e,t=""){return typeof e=="string"?e:t}function D_(e,t){return{...t,id:e,ts:Ht(t.ts),author:Ht(t.author,"unknown"),op:Ht(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ht(t.before_hash),after_hash:Ht(t.after_hash)}}function O_(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 L_(e){try{return(await I_.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(ae(t))return[];throw t}}function N_(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 M_(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?R_:n==="compact"?C_:S_}function F_(e,t,n){let r=t==="digest",i=Ud(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Ud(e.from??(r?T_: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=Ur(e.limit);if(e.unbounded===!0&&s!==void 0)throw new g("Activity --unbounded cannot be combined with --limit",_.USAGE);return{id:Wi(e.id,"Activity --id"),op:Wi(e.op,"Activity --op"),author:Wi(e.author,"Activity --author"),from:o,to:i,limit:M_(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function $_(e){let t=N(process.cwd(),e.path);return await Q(t),{pmRoot:t,settings:await F(t)}}async function P_(e){let t=M(e.settings,O()),n=await fe(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await fs({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Hd.join(e.pmRoot,"history");return await sn({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function j_(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:A_(t,n.from,n.to)}async function U_(e,t){let n=[];for(let r of await L_(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await cn(Hd.join(e,r),i);for(let s of o){let a=D_(i,s);j_(s,a,t)&&n.push(a)}}return n}function H_(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function B_(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 G_(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:B_(i.operations)}}).sort((r,i)=>C(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function K_(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 z_(e,t,n,r,i){if(e==="digest"){let{rows:a,...c}=Ut(G_(t,r),n);return{rows:{activity_digest:a},compact:!1,page:c}}let{rows:o,...s}=Ut(t,n);return e==="compact"?{rows:{compact_activity:H_(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 Bd(e,t){let n=await $_(t),r=N_(e),i=ur("activity",e.after),o=F_(e,r,i),s=await P_(n),a=gr(n.settings.agent_identity.harness_signals),c=n.settings.agent_identity.identity_vocabulary,d=Vi({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},c,a),l=O_(await U_(s.historyDir,o)).filter(d),u=z_(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"?Fi(l):void 0,vocabulary:c,provenanceDimensions:a}},s.itemsById,f=>_r(f,c,{itemId:f.id}));return{...u.rows,compact:u.compact,projection:{mode:r,row_key:x_[r]},omission_receipt:zo("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:K_(l)}}:{},...e.provenanceSummary===!0?{provenance_summary:yr(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 Gd="1970-01-01T00:00:00.000Z";function Bt(e){if(typeof e!="string")return null;let t=e.trim();if(!nn(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return ye(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Xi=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],q_=Symbol("no-context-author"),V_=Symbol("no-item-assignee");function Kd(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function W_(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 X_(e){let t=W_(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Bt(e.created_at)??Gd}}function Y_(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=Bt(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 J_(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 Q_(e,t){let n=typeof e=="string"?Date.parse(e):e instanceof Date?e.getTime():typeof e=="number"?e:Number.NaN;if(!Number.isFinite(n)||!Number.isFinite(t))return 0;let r=(n-t)/864e5;return r<=0?1:1/(1+r/30)}function Z_(e){let t=typeof e=="string"?e.trim().toLowerCase():void 0;return t==="critical"||t==="high"?1:t==="medium"?.5:t==="low"?.1:0}function vr(e,t,n){return e?.[t]??n}function br(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?X_(d):Y_(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=Kd(t.author,q_),a=Y("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=Kd(d.assignee,V_)===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:vr(t.graphProximity,d.id,d.parent?.3:0),claim_focus:vr(t.claimFocus,d.id,R(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:J_(d.priority,4),risk_pressure:Z_(d.risk),deadline_pressure:Q_(d.deadline,c),knowledge_density:vr(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:vr(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var ey="context_relevance",ty={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},ny=new TextEncoder;function ry(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"||!Xi.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 iy(e){let t={...ty};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Xi.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 qd(e,t={}){ry(e);let n=iy(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=Xi.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 oy(e,t={}){let n=qd(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 wr(e,t,n={}){let r=qd(t,n),i=await Co(ey,{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 oy(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 sy=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function zd(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function ay(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:zd(e.required_ids??[],a),continuity_coverage:zd(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function cy(e){return Math.ceil(ny.encode(JSON.stringify(e)).byteLength/4)}function dy(e){return Math.round(e*1e4)/1e4}function ly(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 uy(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(dn(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}=ly(n,e.surface),o={...n,ranking:void 0},s=cy(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:ay({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 fy(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=sy;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,dy(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 ES(e,t,n){let r=[];for(let i of e)r.push(await uy(i,t));return fy(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 my={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},py=["identity","summary","full"];function hy(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=py.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 gy(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=my[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 _y(e){let t=new Set;for(let n of e){if(hy(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 yy(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 vy(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=yy(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 by(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 Vd(e,t){let n=gy(t),r=_y(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=vy({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=by(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 Gt from"node:fs/promises";import Kt from"node:path";import{createHash as Wd,randomUUID as wy}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 Yi=3,Ji=2,Xd=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],ky=new Set(["substantive_history","release_cohort","created_at"]),Ey={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 ct(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Yd(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Iy(e){let t={};for(let n of Xd){let r=e[n];if(r!==void 0){if(!Yd(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Cy(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function Sy(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function Jd(e,t){return{...t,activityDensity:t.activityDensity??Cy(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??Sy(e)}}function eo(e){let t=Wd("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 Ry(e){if(!ct(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ct(e.signals),ct(t)].every(Boolean))return null;let n=t.recency;if(!ct(n))return null;let r=Bt(n.coordinate);if(r===null)return null;let i=new Set(Xd),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Yd(a))||![typeof n.source=="string"&&ky.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 Ty(e,t){let n=Array.from(e,Ry);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==eo(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function xy(e){if(!ct(e)||e.format_version!==Yi||e.signal_set_version!==Ji||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=Ty(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:Yi,signal_set_version:Ji,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Qd(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 Zd(e,t,n=eo(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:Iy(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:Yi,signal_set_version:Ji,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function NS(e,t){return Qd(t),Zd(br(e,Jd(e,t)),t)}var Qi=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Kt.resolve(t)}async read(){try{return JSON.parse(await Gt.readFile(this.filePath,"utf8"))}catch(t){if(ct(t)&&Pe(t))return null;throw t}}async write(t){let n=Kt.dirname(this.filePath);await Gt.mkdir(n,{recursive:!0});let r=Kt.join(n,`.${Kt.basename(this.filePath)}.${wy()}.tmp`);try{await Gt.writeFile(r,`${JSON.stringify(t)}
16
+ `,{encoding:"utf8",flag:"wx"}),await Gt.rename(r,this.filePath)}finally{try{await Gt.rm(r,{force:!0})}catch{}}}},Zi=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Qd(n);let r=[],i=null;try{let f=await this.adapter.read();i=xy(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=br(t,Jd(t,n)),c=eo(a),d=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===c&&i.source===n.source&&s.length===o.length&&s.every((f,p)=>f===o[p]),l;if(d&&i!==null)l=i;else{l=Zd(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=>Ey[f])}}};function Ay(e){let t=Wd("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 kr(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 Ve(t.pmRoot),o=t.sourceCursor??i?.source_cursor??Ay(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Zi(new Qi(Kt.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await Ko(t.pmRoot,e.map(d=>d.id))).map(([d,l])=>[d,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:c,sourceCursor:o,source:s})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Dy(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 Oy(e,t,n){let r,i;for(let o of t){let s=Dy(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 el(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 FS(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=Oy(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import Ly from"node:path";import{createHash as Ny}from"node:crypto";import My 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 tl=1,Fy=1e4,nl=12;function $y(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Py(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 jy(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 Uy(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=el(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,c=$y(a.timestamp),d=`epoch:${c}`,l=i.get(d)??{kind:"epoch",key:c,label:c,items:[]};l.items.push(o),i.set(d,l);let u=Py(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:tl,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(jy).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Hy(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 By(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(Hy)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Gy(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==tl||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(By)?t:null}function Ky(e){return`scan:${Ny("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 zy(e,t,n){return n!==void 0?n:(await Ve(t))?.source_cursor??Ky(e)}async function qy(e){try{let t=Gy(JSON.parse(await My.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Pe(t))}}}async function rl(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Fy));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await zy(e,t.pmRoot,t.sourceCursor),i=Ly.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await qy(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=Uy(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await K(i,`${JSON.stringify(c)}
17
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function Vy(e,t,n=nl){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 il(e,t,n=nl){if(e.snapshot===null)return;let r=Vy(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 Wy(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 qS(e,t,n=5){let r=Wy(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 Xy=["markdown","toon","json","ndjson"],Cr=new Set(["Epic","Feature"]),no=10,dl=1e4,ll=["hierarchy","activity","progress","recently_created","unparented","workload"],Yy=[...ll,"blockers","files","staleness","tests"],Jy=/^(\d{4})-(\d{2})-(\d{2})/,Qy=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Zy=/^(\d{4})(\d{2})(\d{2})$/,ev=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function tv(e){if(!e)return;let t=e.trim().toLowerCase();if(!Xy.includes(t))throw new g("Context format must be one of markdown|toon|json|ndjson",_.USAGE);return t}var ol=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 nv(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ol.has(r))throw new g(`Context --fields value not projectable: ${r} (valid: ${[...ol].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 zt(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function pR(e,t){let n=tv(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 rv(e,t){return ie(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:no)}function ro(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new g("--token-budget must be a positive integer",_.USAGE);return n}function iv(e,t){return t>=dl&&e===Number.MAX_SAFE_INTEGER?no:e}function ov(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Dr.includes(n))throw new g(`Context --depth must be one of ${Dr.join("|")}`,_.USAGE);return n}function sv(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!en.includes(o))throw new g(`Context --section must be one of ${en.join("|")}`,_.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...en]:(t==="deep"?Yy:ll).filter(r=>n.sections[r])}function av(e,t){return e?ie(e,"--activity-limit")??t.activity_limit:t.activity_limit}function cv(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 sl(e,t){let n=R(e,t),r=Y("blocked",t),i=Y("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 qt(e,t){let n=Y("closed",t);return R(e,t)===n}function io(e,t){return R(e,t)===t.in_progress_status}function ul(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function dv(e,t){return t.blocked_statuses.has(R(e,t))}var lv=["compact","brief","fields","includeBody","include_body","parent"];function uv(e){let t={...e};for(let n of lv)delete t[n];return t}function oo(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=dt(e),o=Vt(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function fv(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 mv(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function pv(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 hv(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function gv(e){let t=Jy.exec(e)??Qy.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<=hv(n,r-1)}function _v(e){let t=Zy.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=ev.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 fl(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!gv(t))return Number.NaN;let n=Date.parse(_v(t));return Number.isFinite(n)?n:Number.NaN}function to(e){let t=fl(e);return Number.isFinite(t)?new Date(t).toISOString():""}function yv(e){let t=fl(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function so(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function $e(e,t,n){let r=sl(e.status,n)-sl(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=mv(e.order,t.order);if(o!==0)return o;let s=pv(e.deadline,t.deadline);if(s!==0)return s;let a=C(to(t.updated_at),to(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Er(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function ao(e,t,n=new Set,r="context"){return Vd(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:Er({id:i.id,title:i.item.title}),summary:Er({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Er(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function co(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function lo(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ir(e,t){return t>0?Math.round(e*100/t):0}function dt(e){let t=new Map;for(let n of e){let r=so(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Wt(e,t,n){let r={id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,order:e.order??null,deadline:e.deadline??null,assignee:e.assignee??null,tags:Array.isArray(e.tags)?[...e.tags]:[],updated_at:e.updated_at,parent:so(e.parent)};if(t&&n){let i=Vt(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>qt(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Ir(s,o)}}return r}function vv(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 Sr(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function bv(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function wv(e,t,n,r){let i=new Map;for(let c of e)i.set(c.id,c);let o=dt(e),s=new Set(t.filter(c=>Cr.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let l=Vt(c,o),u=o.get(c)??[],f=0,p=0,m=0,h=0;for(let b of l)qt(b.status,n)?f++:io(b.status,n)?m++:dv(b.status,n)?h++:ul(b.status,n)&&p++;let y=u.sort((b,v)=>$e(b,v,n)).slice(0,r).map(b=>{let v=Vt(b.id,o),w=v.filter(k=>qt(k.status,n)).length;return{id:b.id,title:b.title,type:b.type,status:b.status,children_total:v.length,children_closed:w}});a.push({id:d.id,title:d.title,type:d.type,status:d.status,children_total:l.length,children_closed:f,children_open:p,children_in_progress:m,children_blocked:h,children:y})}return a.sort((c,d)=>{let l=i.get(c.id),u=i.get(d.id);return $e(l,u,n)}).slice(0,r)}function Vt(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 kv(e,t){return(await Bd({compact:!0,limit:String(e)},t)).compact_activity??[]}function Ev(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=>Cr.has(c.type)),a=[];for(let c of s){let d=Vt(c.id,o),l=d.length;if(l===0)continue;let u=0,f=0,p=0,m=0;for(let h of d)qt(h.status,r)?u++:n.has(h.id.trim().toLowerCase())?m++:io(h.status,r)?p++:ul(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:Ir(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function Iv(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=Gr(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 Cv(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function Sv(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>io(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function Rv(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 Tv(e,t,n,r){return e.map(i=>({item:i,sortKey:to(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})=>({...Wt(i,t,n),created_at:i.created_at}))}function xv(e,t,n,r){return e.filter(i=>!so(i.parent)&&!Cr.has(i.type)).sort((i,o)=>$e(i,o,t)).slice(0,r).map(i=>Wt(i,t,n))}function Av(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 al(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function ml(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 Dv(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Ov(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`${al(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${al(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 cl(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 Lv(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 Nv(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(`- ${Ov(n)}`);e.push("")}function Mv(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=Ir(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=Ir(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 Fv(e,t){if(!(!t.progress||t.progress.length===0)){e.push("## Progress");for(let n of t.progress)e.push(`- ${n.id} "${n.title}" ${n.completion_pct}% (${n.closed}/${n.total} closed, ${n.in_progress} wip, ${n.open} open, ${n.blocked} blocked)`);e.push("")}}function $v(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${yv(i.created_at)} ${ml(i)}`);e.push("")}}function Pv(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 jv(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 Uv(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 Hv(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 Bv(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 Gv(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 Kv(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=Er(o);if(i+s>n)break;r.push(o),i+=s}return r}function zv(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=Kv(t.tests,t.applied_limit??no,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 qv(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 hR(e){let t=[],n=e.focus_fields,r=o=>n?Dv(o,n):ml(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(""),cl(t,"High-level focus",e.high_level,"No high-level active items.",r),cl(t,"Low-level focus",e.low_level,"No low-level active items.",r),Lv(t,e,r),Nv(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 Mv(t,e),Fv(t,e),$v(t,e,n,r),Pv(t,e,r),jv(t,e),Uv(t,e),Hv(t,e),Bv(t,e),Gv(t,e),zv(t,e),qv(t,e),t.join(`
18
+ `)}var Vv=new Set(["status","no_truncate","limit","sort","order"]);function Wv(e){let{runtime_filters:t,...n}=e;return Object.keys(n).some(r=>!Vv.has(r))||Object.keys(Object(t)).length>0}async function Xv(e,t){return Wv(t.filters)?(await Ze(void 0,pl({},{excludeTerminal:!1}),e)).items:t.items}async function Yv(e,t){let n=N(process.cwd(),t.path),r=await F(n),i=r.context??po.context,o=X(r.schema),s=ov(e.depth,i),a=rv(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:sv(e.section,s,i),activityLimit:av(e.activityLimit,i),staleThresholdDays:cv(e.staleThreshold,i),parentScope:fv(e.parent),focusFields:nv(e.fields),baseListOptions:uv(e)}}function Jv(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function pl(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Qv(e,t){let n=await Ze(void 0,pl(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=await Xv(e,n),o=r.filter(c=>!z(c.status,t.statusRegistry)),s=r,a=Zv(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 Zv(e,t){if(e===void 0)return;let n=oo(t,e);if(!n.found)throw new g(`Context --parent item not found: ${e}`,_.NOT_FOUND);return n.ids}function eb(e,t,n,r){let i=new Set(Sn(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Cr.has(o.type)||i.has(o.id)||yt(o.type,r)!=="agent").map(o=>o.id))}async function tb(e,t,n,r,i,o,s,a,c,d,l,u,f,p,m,h){let y=[...e].sort((I,ft)=>$e(I,ft,i)),b=await pn({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),v=await kr(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:b.affinity,claimFocus:m}),w=await wr("context",v.candidates),k=w.ranked.map(I=>I.item),T=i.active_statuses,A=k.filter(I=>T.has(R(I.status,i))),P=u?Ke(A,d,l,I=>I.id):0,L=u?A.slice(P,P+s):A,q=u&&L.length>0&&P+L.length<A.length,$=q&&L.length>0?de(l,L[L.length-1].id,P+L.length-1):void 0,V=k.filter(I=>r.has(I.id.trim().toLowerCase())),ee=new Set([...L.map(I=>I.id),...V.filter(I=>!T.has(R(I.status,i))).slice(0,s).map(I=>I.id)]),ge=ao({...w,ranked:w.ranked.filter(I=>ee.has(I.id))},p,new Set(Object.entries(m??{}).filter(([,I])=>I>=1).map(([I])=>I))),W=ge.included.map(I=>I.item),te=W.filter(I=>T.has(R(I.status,i))),Ee=W.filter(I=>r.has(I.id.trim().toLowerCase())),j=dt(t),lt=Jv(o)?j:void 0,ut=new Map(n.map(I=>[I.id.trim().toLowerCase(),I])),Ie=I=>{let ft=Wt(I,i,lt);return r.has(I.id.trim().toLowerCase())&&(ft.blocked=!0,ft.blocker_ids=Gr(I,ut,i).filter(Tr=>!Tr.resolved).map(Tr=>Tr.id)),ft},Qt=eb(te,n,i,h),B=te.filter(I=>Qt.has(I.id)).slice(0,u?L.length:s).map(Ie),G=te.filter(I=>!Qt.has(I.id)).slice(0,u?L.length:s).map(Ie),mo=A.length===0;return{activeItems:te,blockedItems:Ee,highLevel:B,lowLevel:G,blockedFallback:mo?Ee.slice(0,s).map(Ie):[],blockedFallbackUsed:mo,ranking:w,packing:ge,featureStore:v,pageExtras:{...u?{applied_limit:s}:{},...q?{has_more:!0,truncated:!0}:{},...$?{next_cursor:$}:{}}}}function nb(e,t){return ce("context",{pmRoot:t,options:ln(e,Ds)})}function rb(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=dl}async function ib(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 Pd(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=bv(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:vv(a)}}function hl(e,t,n){let r=String(t);return e.filter(i=>R(i.status,n)===r).length}async function ob(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=dt(n),d=n.filter(u=>!z(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?wv(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await kv(t.activityLimit,a):void 0,progress:l("progress")?Ev(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Iv(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?Tv(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?xv(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?Cv(o.activeItems,t.limit):void 0,workload:l("workload")?Sv(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Rv(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Av(n.filter(u=>t.statusRegistry.active_statuses.has(R(u.status,t.statusRegistry)))):void 0}}function sb(e,t,n){let r=Y("canceled",t),i=e.filter(s=>t.active_statuses.has(R(s.status,t))),o=hl(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=>qt(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function ab(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 cb(e,t){t&&(e.focus_fields=t,e.high_level=zt(e.high_level,t),e.low_level=zt(e.low_level,t),e.blocked_fallback=zt(e.blocked_fallback,t),e.recently_created&&(e.recently_created=zt(e.recently_created,t)),e.unparented&&(e.unparented=zt(e.unparented,t)))}function db(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 lb(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 ub(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 fn(e,"context"))s.has(c)||(o.push({id:c,rank:o.length+1,included:!1}),s.add(c));let a=await mn({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});un(e,a)}catch{e.warnings=Sr(e.warnings,["context_usage_feedback_write_failed"])}}async function fb(e,t,n){if(e)return{};let r=(await ko({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 mb(e,t){let n=jo(),r=await No(e),i=n.instance||Mo(t);return kd(r.semantic_attribution?.[i])}async function gR(e,t){let n=N(process.cwd(),t.path),r=await Yv(e,t),i=await Qv(t,r),o=iv(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:ro(e.tokenBudget,Math.max(256,o*160))},a=ve(void 0,s.settings.author_default),c=await mb(n,a),d=fb(e.noExtensionHealth===!0,n,s.settings),l=Cn(i.edgeCorpus,s.statusRegistry),u=await tb(i.listedItemMetadata,i.allItems,i.edgeCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,x(),a,e.after,nb(e,n),rb(e,i.fullCorpus.length),n,s.tokenBudget,c,M(s.settings,O())),f=await ib(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),p=await rl(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),m=Sr(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],p.warnings),h=hl(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-h,b=await ob({runtime:s,allItems:i.allItems,fullCorpus:i.edgeCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),v=sb(i.allItems,s.statusRegistry,l),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:h,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...v},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=il(p,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),ab(w,b,u.featureStore.warning_details),db(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=lo(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),w.packing=co(u.packing)),qo(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}))),cb(w,s.focusFields),Vo(w),m.length>0&&(w.warnings=m),lb(w,u.activeItems,u.blockedItems),await ub(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 gl(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(Nr(r,"json"),Nr(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 pb=["markdown","toon","json"],hb=5,gb=1440*60*1e3;function _b(e,t){let n=e??t;if(typeof n=="string"&&jt.includes(n))return n;throw new g(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${jt.join(", ")}.`,_.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...jt]}})}function yb(e){if(!e)return;let t=e.trim().toLowerCase();if(!pb.includes(t))throw new g("Next format must be one of markdown|toon|json",_.USAGE);return t}function OR(e,t){let n=yb(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 _l(e,t,n){let r=ie(e,t);return r===void 0||r<=0?n:r}function Xt(e,t,n,r){return{...Wt(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 vb(e,t,n,r){let i=e.item,o=[],s=Y("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(bb(i.deadline,n)),o.push(Rs(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 yl(e,t,n){let r=ve(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 LR={partitionCallerOwnedReady:yl,resolveNextCallerAuthor:(e,t)=>vl(e,t)};function NR(e,t,n){let r=e.filter(i=>yt(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>yt(i.item.type,n)!=="human"),decisions:t?[]:r}}function bb(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))/gb);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function wb(e,t){let n=Y("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function uo(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function kb(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 Rr(e,t,n){return[...e].sort((r,i)=>{let o=uo(r.item,t),s=uo(i.item,t);return o!==s?Number(o)-Number(s):$e(r.item,i.item,n)})}function Eb(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...vb(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function Ib(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 Cb(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 Sb(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 fn(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await mn({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});un(e.result,i)}catch{e.result.warnings=Sr(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Rb(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=Ib(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&gl(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=lo(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=co(ao(e.readyRanking,e.packingBudget,new Set,"next"))),await Sb({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Tb(e,t,n){if(!n)return e;let r=oo(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 xb(e,t,n,r,i,o,s,a){let c=e.filter(h=>!uo(h.item,t)),d=s||c.length===0?e:c,l=await pn({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await kr(d.map(h=>h.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:l.affinity}),f=await wr("next",u.candidates),p=Ed(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 vl(e,t){let n=e.assignee?.trim();return ve(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function Ab(e,t){return e.tokenBudget===void 0?null:t}async function MR(e,t){let n=N(process.cwd(),t.path),r=await F(n),i=vl(e,r.author_default),o=X(r.schema),s=_b(e.rankingPolicy,r.context.next_ranking_policy),a=M(r,O()),c=x(),d=_l(e.limit,"--limit",hb),l=ro(e.tokenBudget,Math.max(192,d*128)),u=Ab(e,l),f=_l(e.blockedLimit,"--blocked-limit",d),p=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",h=await Ze(void 0,kb(e,{excludeTerminal:!0}),t),y=await Ze(void 0,{excludeTerminal:!1,noTruncate:!0},t),b=Tb(h.items,y.items,m),v=y.items,w=Sn(b,v,o,a),k=dt(v),T=Ts(w,o,e,a),A=yl(T.ready,r.author_default,i),P=Rr(A.available,k,o),L=[...w.blocked].sort((B,G)=>$e(B.item,G.item,o)),{projectedReady:q,ranking:$,completedContainer:V,featureStore:ee,relevanceRank:ge}=await xb(P,k,o,c,i,n,e.includeContainers===!0,s),W=q.map((B,G)=>Xt(B,o,k,G+1)),te=L.map((B,G)=>Xt(B,o,k,G+1)),Ee=Rr(T.decisions,k,o).map((B,G)=>Xt(B,o,k,G+1)),j=Rr(T.gates,k,o).map((B,G)=>Xt(B,o,k,G+1)),lt=Rr(w.containers,k,o).map((B,G)=>Xt(B,o,k,G+1)),ut=Eb({projectedReady:q,readyRows:W,statusRegistry:o,now:c,completedContainer:V,policyReason:Id(q,ge,o,s)}),Ie=Cb(Ee.length,A.held.length,W.length,d)??{};j.length>d&&(Ie.gate_needed_total=j.length),lt.length>d&&(Ie.containers_total=lt.length);let Qt={output_default:"toon",now:c,recommended:ut,ready:W.slice(1,d+1),decision_needed:Ee.slice(0,d),gate_needed:j.slice(0,d),containers:lt.slice(0,d),blocked:p?[]:te.slice(0,f),held_by_others:A.held.slice(0,d),summary:{recommended:ut!==null,ready:W.length,blocked:te.length,in_progress:wb(W,o),candidates:w.active_count,containers:w.container_count,decision_needed:Ee.length,gate_needed:j.length,held_by_others:A.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(Ie).length>0?Ie:void 0};return Rb({result:Qt,recommended:ut,blockedRows:te,gateCount:j.length,candidatesWarnings:h.warnings,corpusWarnings:y.warnings,readyRanking:$,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:l,featureStore:ee,tokenBudget:u,hasIntentBudget:typeof e.for=="string"})}function FR(e){let t=["# pm next","",...Db(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Yt(n,r.map(i=>`- ${Jt(i)}`),""));if(t.push(...Yt("Recommended",Ob(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Yt("Decision needed",(e.decision_needed??[]).map(n=>`- ${Jt(n)}`),"No human-gated decisions.")),t.push(...Yt("Ready",e.ready.map(n=>`- ${Jt(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Yt("Blocked",e.blocked.map(n=>`- ${Lb(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 Db(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 Ob(e){return e?[`- ${Jt(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Yt(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Lb(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Jt(e)} blocked_by:${t}`}function Jt(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 Nb}from"node:crypto";import{setTimeout as Mb}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 kl=1,El=/^[A-Za-z0-9_-]+$/,Fb=100,bl=1e3,$b=250,XR=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function se(e){if(e===void 0)return;let t=typeof e=="string"?[e]:e,n=[...new Set(t.flatMap(r=>r.split(",")).map(r=>r.trim()).filter(Boolean))].sort((r,i)=>r.localeCompare(i));return n.length===0?void 0:n}function Il(e){return Nb("sha256").update(E({type:se(e.type),author:se(e.author),item:se(e.item),harness:se(e.harness),agent_instance:se(e.agentInstance),provenance:se(e.provenanceFilter)})).digest("hex").slice(0,24)}function fo(e,t){let n={version:kl,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 Cl(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===kl,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 Sl(e,t){let n=e.trim();if(n.length===0||n.length>4096||!El.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(!Cl(r,t))throw new g("Mutation event cursor does not match this query.",_.USAGE,{code:"event_cursor_query_mismatch"});return r}function Rl(e){let t=e??Fb;if(!Number.isSafeInteger(t)||t<0||t>bl)throw new g(`Mutation event limit must be an integer from 0 to ${bl}.`,_.USAGE,{code:"invalid_event_limit"});return t}function Tl(e){return e instanceof Error&&e.name==="AbortError"}function xl(e,t){let n=e?.trim();if(!n)return{};if(El.test(n))return{cursor:Sl(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 Pb(e,t){if(t.verify)return wl(e,t);let n=await Lr(e,t),r=n.result;if(r===null&&n.repair_needed)try{await Bo(e,{lockWaitMs:0})&&(r=(await Lr(e,t)).result)}catch{}return r===null?wl(e,t):{...r,source:"derived_index"}}async function wl(e,t){try{return{...await Go(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:yo(n)})}}function jb(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 Ub(e={}){let t=N(e.cwd??process.cwd(),e.pmRoot);await Q(t);let n=Rl(e.limit),r=jb(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 F(t),o=i.agent_identity.identity_vocabulary,s=gr(i.agent_identity.harness_signals),a=qi({provenance:e.provenanceFilter},s),c=se(e.harness),d=Il(e),{cursor:l,sinceTimestamp:u}=xl(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:se(e.type),authors:se(e.author),harnesses:c,harness_alias_authors:c?Object.entries(o.aliases).filter(([,h])=>c.includes(h)).map(([h])=>h):void 0,agent_instances:se(e.agentInstance),provenance:[...a].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:se(e.item),limit:n},p=await Pb(t,f),m=p.events.map(h=>({...r==="row"?{cursor:fo(h,d)}:{},item_id:h.stream_id,version:h.stream_offset+1,ts:h.entry.ts,author:h.entry.author,type:h.entry.op,...h.entry.message===void 0?{}:{message:h.entry.message},patch_count:h.entry.patch.length,...e.full===!0?{entry:structuredClone(h.recorded_entry??h.entry)}:{},...e.provenance===!0?{provenance:_r(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:fo(p.events[p.events.length-1],d)},source:p.source,...e.provenanceSummary===!0?{provenance_summary:yr(p.events.map(h=>h.entry),o,s)}:{}}}async function*Hb(e={}){let t=e.intervalMs??$b;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 Ub({...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 Mb(t,void 0,{signal:e.signal})}catch(i){if(Tl(i))return;throw i}}}async function*YR(e={}){for await(let t of Hb({...e,cursorMode:"row"}))for(let n of t.events)yield n}var JR={decodeMutationEventCursor:Sl,encodeMutationEventCursor:fo,eventQueryFingerprint:Il,isAbortError:Tl,isMutationEventCursorEnvelope:Cl,parseMutationEventLimit:Rl,resolveMutationEventStart:xl};(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 ZR(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{An as a,xn as b,Fs as c,Kb as d,ie as e,Dn as f,$s as g,Kr as h,wt as i,Ps as j,js as k,Ys as l,Jr as m,Qs as n,Rw as o,Tw as p,ta as q,na as r,Aw as s,Hl as t,ow as u,Bl as v,sw as w,aw as x,cw as y,dw as z,ql as A,H as B,Gs as C,Ln as D,_w as E,qr as F,yw as G,It as H,nu as I,iu as J,Wr as K,ou as L,St as M,Cu as N,ua as O,sa as P,aa as Q,Au as R,Du as S,Ou as T,Ze as U,Mn as V,Zr as W,Fn as X,m0 as Y,At as Z,Ca as _,me as $,H0 as aa,Fa as ba,$a as ca,Pa as da,ja as ea,Ua as fa,Bn as ga,Ba as ha,tt as ia,Ga as ja,Va as ka,zn as la,Wa as ma,Xa as na,cp as oa,ac as pa,Wn as qa,li as ra,Xn as sa,cc as ta,lc as ua,ui as va,Lt as wa,fc as xa,mi as ya,pi as za,hi as Aa,mc as Ba,gi as Ca,hc as Da,gc as Ea,yc as Fa,Np as Ga,Wk as Ha,JI as Ia,md as Ja,ZR as Ka,Sc as La,Rc as Ma,eE as Na,ch as Oa,st as Pa,S as Qa,Re as Ra,_E as Sa,yE as Ta,Nc as Ua,mh as Va,vE as Wa,bE as Xa,TE as Ya,Bc as Za,nr as _a,cr as $a,QE as ab,dr as bb,tg as cb,Jc as db,ZE as eb,eI as fb,tI as gb,nI as hb,rg as ib,ed as jb,vg as kb,Tg as lb,EC as mb,IC as nb,wd as ob,AC as pb,DC as qb,OC as rb,LC as sb,kd as tb,jt as ub,VC as vb,WC as wb,XC as xb,Pd as yb,hr as zb,gr as Ab,qi as Bb,_r as Cb,eS as Db,Vi as Eb,yr as Fb,fS as Gb,Bd as Hb,Gd as Ib,Bt as Jb,Xi as Kb,br as Lb,ey as Mb,qd as Nb,oy as Ob,wr as Pb,sy as Qb,ay as Rb,uy as Sb,fy as Tb,ES as Ub,my as Vb,Vd as Wb,Yi as Xb,Ji as Yb,Ey as Zb,xy as _b,NS as $b,Qi as ac,Zi as bc,kr as cc,el as dc,FS as ec,Fy as fc,Uy as gc,rl as hc,Vy as ic,il as jc,Wy as kc,qS as lc,Xy as mc,nv as nc,zt as oc,pR as pc,ro as qc,ov as rc,sv as sc,oo as tc,$e as uc,ao as vc,co as wc,lo as xc,dt as yc,Wt as zc,Sr as Ac,hR as Bc,db as Cc,gR as Dc,pb as Ec,OR as Fc,LR as Gc,NR as Hc,MR as Ic,FR as Jc,XR as Kc,Ub as Lc,Hb as Mc,YR as Nc,JR as Oc};
20
+ //# sourceMappingURL=chunk-7RCI7AAA.js.map