@unbrained/pm-cli 2026.9.2 → 2026.9.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 (165) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +44 -0
  3. package/dist/cli/after-command-context-usage.js +16 -3
  4. package/dist/cli-bundle/bundle-manifest.json +151 -151
  5. package/dist/cli-bundle/chunks/chunk-6XSKPNCF.js +230 -0
  6. package/dist/cli-bundle/chunks/chunk-A24WAVE6.js +8 -0
  7. package/dist/cli-bundle/chunks/{chunk-TAG4VC22.js → chunk-HI6BHPCU.js} +27 -27
  8. package/dist/cli-bundle/chunks/{chunk-Y7VOMSZT.js → chunk-I2AS367G.js} +2 -2
  9. package/dist/cli-bundle/chunks/{chunk-X4RCGLTX.js → chunk-OGBVU67G.js} +5 -5
  10. package/dist/cli-bundle/chunks/{chunk-DTGWEL23.js → chunk-RI4XNOYS.js} +2 -2
  11. package/dist/cli-bundle/chunks/chunk-TXW6VL33.js +38 -0
  12. package/dist/cli-bundle/chunks/{chunk-FZ4Z2J4F.js → chunk-V72UV7QS.js} +76 -79
  13. package/dist/cli-bundle/chunks/chunk-VGLHECAP.js +9 -0
  14. package/dist/cli-bundle/chunks/{chunk-T6H5BZCP.js → chunk-X6CMGV6L.js} +2 -2
  15. package/dist/cli-bundle/chunks/{chunk-3WICXLVT.js → chunk-YW4QK2G7.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-list-query-XYNX4ASQ.js → register-list-query-Z5YYSJJG.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-mutation-WFQ7MJTX.js → register-mutation-ELSP6I4I.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-operations-JVTI7JPP.js → register-operations-OH7R3ZT4.js} +2 -2
  19. package/dist/cli-bundle/chunks/{register-setup-KVNC5KPL.js → register-setup-E2AE72QG.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/{chunk-MEASX544.js → chunk-25UJBH4M.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/{chunk-SVXJYD6G.js → chunk-3646BZ4W.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-4YRAVI43.js +12 -0
  23. package/dist/cli-bundle/focused-chunks/chunk-53IHPICX.js +3 -0
  24. package/dist/cli-bundle/focused-chunks/chunk-5P4HVOWG.js +176 -0
  25. package/dist/cli-bundle/focused-chunks/chunk-636VVQ7F.js +54 -0
  26. package/dist/cli-bundle/focused-chunks/{chunk-4O4CJAR6.js → chunk-6PWPQKDN.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/chunk-7N2TV7WZ.js +8 -0
  28. package/dist/cli-bundle/focused-chunks/chunk-AJR3OP2E.js +3 -0
  29. package/dist/cli-bundle/focused-chunks/chunk-B3A6MJYE.js +2 -0
  30. package/dist/cli-bundle/focused-chunks/chunk-BFDDJ2T2.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-BHUIRZWQ.js +9 -0
  32. package/dist/cli-bundle/focused-chunks/chunk-JADHHPY6.js +6 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-KB5OFSFD.js → chunk-MHKUIPJW.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/chunk-NBMJD6MK.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-NSKBLHVI.js +20 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-BEVHCEWG.js → chunk-P2GOAOQN.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-YARWJM2B.js +2 -0
  38. package/dist/cli-bundle/main.js +15 -15
  39. package/dist/cli-bundle/sdk-authoring.js +1 -1
  40. package/dist/cli-bundle/sdk-contracts.js +1 -1
  41. package/dist/cli-bundle/sdk-core.js +28 -31
  42. package/dist/cli-bundle/sdk-governance.js +1 -1
  43. package/dist/cli-bundle/sdk-graph.js +1 -1
  44. package/dist/cli-bundle/sdk-merge.js +43 -36
  45. package/dist/cli-bundle/sdk-query.js +1 -1
  46. package/dist/cli-bundle/sdk-runtime.js +1 -1
  47. package/dist/cli-bundle/sdk-testing.js +1 -1
  48. package/dist/cli-bundle/sdk.js +10 -10
  49. package/dist/core/diagnostics/remediation.js +4 -4
  50. package/dist/core/history/event-classification.d.ts +21 -0
  51. package/dist/core/history/event-classification.js +109 -0
  52. package/dist/core/history/event-index.d.ts +14 -3
  53. package/dist/core/history/event-index.js +543 -88
  54. package/dist/core/history/history.d.ts +37 -1
  55. package/dist/core/history/history.js +320 -71
  56. package/dist/core/history/replay.js +68 -34
  57. package/dist/core/history/workspace-history.js +7 -6
  58. package/dist/core/lock/lock.d.ts +32 -2
  59. package/dist/core/lock/lock.js +161 -20
  60. package/dist/core/output/output.js +31 -7
  61. package/dist/core/shared/author.d.ts +3 -1
  62. package/dist/core/shared/author.js +111 -23
  63. package/dist/core/shared/time.d.ts +2 -0
  64. package/dist/core/shared/time.js +8 -2
  65. package/dist/core/store/item-metadata-query-index.js +5 -5
  66. package/dist/sdk/context/recency.d.ts +9 -0
  67. package/dist/sdk/context/recency.js +34 -0
  68. package/dist/sdk/context/usage-egress.d.ts +9 -0
  69. package/dist/sdk/context/usage-egress.js +30 -0
  70. package/dist/sdk/context-intent-contracts.js +7 -3
  71. package/dist/sdk/context-relevance.d.ts +23 -0
  72. package/dist/sdk/context-relevance.js +94 -23
  73. package/dist/sdk/context-signal-store.d.ts +7 -3
  74. package/dist/sdk/context-signal-store.js +155 -42
  75. package/dist/sdk/context-usage.d.ts +54 -0
  76. package/dist/sdk/context-usage.js +245 -16
  77. package/dist/sdk/environment/agent-environment.d.ts +296 -0
  78. package/dist/sdk/environment/agent-environment.js +467 -0
  79. package/dist/sdk/environment/project-runtime-compatibility.d.ts +19 -1
  80. package/dist/sdk/environment/project-runtime-compatibility.js +118 -21
  81. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +14 -2
  82. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +14 -2
  83. package/dist/sdk/governance/health.js +13 -44
  84. package/dist/sdk/governance/merge-receipt-history.d.ts +62 -0
  85. package/dist/sdk/governance/merge-receipt-history.js +207 -0
  86. package/dist/sdk/governance/provenance-health.js +9 -3
  87. package/dist/sdk/history-compact.js +14 -5
  88. package/dist/sdk/history-redact.js +58 -23
  89. package/dist/sdk/history-repair.js +16 -6
  90. package/dist/sdk/index.d.ts +4 -0
  91. package/dist/sdk/index.js +6 -2
  92. package/dist/sdk/init.d.ts +2 -0
  93. package/dist/sdk/init.js +18 -9
  94. package/dist/sdk/merge/driver.d.ts +3 -1
  95. package/dist/sdk/merge/driver.js +9 -9
  96. package/dist/sdk/merge/index.d.ts +1 -1
  97. package/dist/sdk/merge/index.js +3 -3
  98. package/dist/sdk/merge/receipts.d.ts +17 -6
  99. package/dist/sdk/merge/receipts.js +246 -75
  100. package/dist/sdk/merge/reconcile.d.ts +9 -7
  101. package/dist/sdk/merge/reconcile.js +175 -12
  102. package/dist/sdk/merge/three-way.d.ts +22 -2
  103. package/dist/sdk/merge/three-way.js +92 -25
  104. package/dist/sdk/query/context.d.ts +3 -1
  105. package/dist/sdk/query/context.js +21 -9
  106. package/dist/sdk/query/next.js +18 -9
  107. package/dist/sdk/runtime-input.d.ts +2 -0
  108. package/dist/sdk/runtime-input.js +25 -2
  109. package/dist/sdk/runtime-primitives.d.ts +2 -2
  110. package/dist/sdk/runtime-primitives.js +4 -4
  111. package/dist/sdk/runtime.d.ts +1 -0
  112. package/dist/sdk/runtime.js +17 -26
  113. package/dist/types.d.ts +27 -0
  114. package/dist/types.js +2 -2
  115. package/docs/AGENT_ENVIRONMENTS.md +47 -0
  116. package/docs/AGENT_PROVENANCE_ADR.md +17 -2
  117. package/docs/CONTEXT_INTEGRITY_CONTRACTS.md +38 -1
  118. package/docs/CONTEXT_RELEVANCE.md +44 -1
  119. package/docs/MERGE_SAFETY.md +119 -23
  120. package/docs/PERFORMANCE.md +6 -3
  121. package/docs/README.md +1 -0
  122. package/docs/READ_OUTPUT_CONTRACTS.md +9 -1
  123. package/docs/SDK.md +11 -8
  124. package/docs/SDK_CONTEXT.md +7 -0
  125. package/docs/SDK_CONTEXT_EVIDENCE_CONTRACTS.md +24 -2
  126. package/docs/SDK_RUNTIME_BOUNDARIES.md +17 -1
  127. package/docs/examples/sdk-agent-environment/README.md +14 -0
  128. package/docs/examples/sdk-agent-environment/package.json +8 -0
  129. package/docs/examples/sdk-agent-environment/run-agent-environment.mjs +154 -0
  130. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +5 -3
  131. package/marketplace.json +2 -2
  132. package/package.json +5 -5
  133. package/packages/pm-beads/package.json +1 -1
  134. package/packages/pm-calendar/package.json +1 -1
  135. package/packages/pm-command-kit/package.json +1 -1
  136. package/packages/pm-digital-twin/package.json +1 -1
  137. package/packages/pm-governance-audit/package.json +1 -1
  138. package/packages/pm-guide-shell/package.json +1 -1
  139. package/packages/pm-kanban/package.json +1 -1
  140. package/packages/pm-lifecycle-hooks/package.json +1 -1
  141. package/packages/pm-linked-test-adapters/package.json +1 -1
  142. package/packages/pm-search-advanced/package.json +1 -1
  143. package/packages/pm-templates/package.json +1 -1
  144. package/packages/pm-todos/package.json +1 -1
  145. package/packages/pm-vcs/package.json +1 -1
  146. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  147. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  148. package/sdk/public-surface.json +773 -46
  149. package/dist/cli-bundle/chunks/chunk-GOACULJW.js +0 -13
  150. package/dist/cli-bundle/chunks/chunk-NOPL37X4.js +0 -205
  151. package/dist/cli-bundle/chunks/chunk-UDW64J2W.js +0 -8
  152. package/dist/cli-bundle/chunks/chunk-ZLJIFSOE.js +0 -35
  153. package/dist/cli-bundle/focused-chunks/chunk-242AXYB2.js +0 -2
  154. package/dist/cli-bundle/focused-chunks/chunk-2FEZ5SKM.js +0 -3
  155. package/dist/cli-bundle/focused-chunks/chunk-6GCRSLPG.js +0 -2
  156. package/dist/cli-bundle/focused-chunks/chunk-7VATS5QY.js +0 -16
  157. package/dist/cli-bundle/focused-chunks/chunk-JEFKLWMM.js +0 -2
  158. package/dist/cli-bundle/focused-chunks/chunk-MKHG3T76.js +0 -20
  159. package/dist/cli-bundle/focused-chunks/chunk-O67VDLOT.js +0 -51
  160. package/dist/cli-bundle/focused-chunks/chunk-PF3E6Q36.js +0 -8
  161. package/dist/cli-bundle/focused-chunks/chunk-QDFJIRKN.js +0 -4
  162. package/dist/cli-bundle/focused-chunks/chunk-RMRCQPWU.js +0 -2
  163. package/dist/cli-bundle/focused-chunks/chunk-S4U5CN5Q.js +0 -2
  164. package/dist/cli-bundle/focused-chunks/chunk-T2LXXSOD.js +0 -158
  165. package/dist/cli-bundle/focused-chunks/chunk-Z2USIBR2.js +0 -5
@@ -0,0 +1,9 @@
1
+ import{$a as Zr,$e as bt,$i as Uo,Ae as ge,B as Vr,Bc as A,Be as yt,Bh as Co,C as h,Ce,Ch as So,Ci as Mo,Da as Ee,Dd as K,Df as En,Dg as kt,Dh as To,E as y,Fd as ht,Fg as vt,Fi as R,Fm as Go,G as $,Gh as Do,He as mo,Ia as _n,Ie as go,Ig as Et,Ja as mt,Je as kn,Kc as wn,Ke as ho,Kh as Ro,Li as No,Mc as no,Mg as It,Nc as ro,Pa as N,Pi as Oo,Qa as gt,Qb as Ie,Qd as H,Qi as $o,R as B,Rd as C,Ri as De,Sc as oo,Sd as L,Si as Po,U as Yr,Ue as _t,V as I,W as Xr,We as yo,Wh as Ao,Wi as O,X as se,Xa as D,Xd as io,Xh as xt,Xi as fe,Yd as so,Yi as pe,Zg as In,Zi as jo,_e as vn,_i as ee,af as le,ag as wt,bb as bn,bf as Z,bh as Te,c as hn,ca as Jr,ce as ao,d as pt,de as co,e as Wr,ea as Qr,ee as lo,ef as _o,f as ie,fe as uo,ff as Se,fi as Lo,g as G,ge as fo,gi as Fo,h as qr,hc as to,ke as xe,kh as bo,ki as Cn,lh as wo,ml as Bo,nh as ko,ph as vo,qh as Eo,rh as Io,s as yn,te as po,th as Ge,ub as q,vh as ue,wi as Ct,xh as xn,xi as St,yh as xo,zb as eo}from"./chunk-6XSKPNCF.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]="47c087c2-124a-58b7-a5c9-09403235f4a2")}catch{}})();function Va(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new y(`History for this item contains invalid timestamp at entry ${o+1}.`,h.GENERIC_FAILURE);i<=t&&(n=o)}),n}function Ya(e){let t=e[0]?.ts??null,n=e.at(-1)?.ts??null,r={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:t,last_timestamp:n}};return n!==null&&(r.examples=["1",String(e.length),n],r.valid_range.first_version=1,r.valid_range.last_version=e.length),{guidance:r,lastTimestamp:n}}function Ko(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Ho(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=Ya(t);if(!r)throw new y(`Missing ${o} target. Use a timestamp or version number.`,h.USAGE,s);if(/^\d+$/.test(r)){let l=Number(r);if(!Number.isSafeInteger(l)||l<1||l>t.length)throw new y(`${i} version must be between 1 and ${t.length} for this item.`,h.USAGE,s);return{kind:"version",raw:r,historyIndex:l-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new y(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,h.USAGE,s);let d=Va(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new y(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,h.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function Ke(e,t,n,r){let o=Co(e,t);if(o.ok)return o.document;let i=Ko(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new y(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,h.GENERIC_FAILURE)}function zo(e,t){let n=structuredClone(Ge);for(let r=0;r<=t;r+=1){let o=e[r];if(!o)throw new y(`History target entry ${r+1} does not exist.`,h.USAGE);if(ue(n)!==o.before_hash)throw new y(`History hash mismatch before replay at entry ${r+1}.`,h.GENERIC_FAILURE);if(n=Ke(n,o.patch,r+1,o.op),ue(n)!==o.after_hash)throw new y(`History hash mismatch after replay at entry ${r+1}.`,h.GENERIC_FAILURE)}return n}function Wo(e,t){if(Object.keys(e.metadata).length>0)return e;throw new y(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,h.USAGE)}import Sn from"node:fs/promises";import Xa 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]="a2ec9f1a-aae2-59d5-8c9a-7acd8bf5a7a2")}catch{}})();function Ja(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Mo(e.settings);if(n.ownership_enforcement==="strict")throw new y(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,h.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function Qa(e){let t=await ie(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new y(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,h.CONFLICT);let n=await fe(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?await pe(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new y(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,h.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Qh(e){let t=e.writeHistoryRaw??G;try{await t(e.historyPath,e.nextHistoryRaw),await Te(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await Xa.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Te(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function qo(e){let t=[...Ja({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await yt(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 Qa({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(r),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(r)),t}finally{await n()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd1e86b0-6696-5fba-8dd4-b9636bf3ee60")}catch{}})();function Tn(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function Yo(e){let t=[];for(let n of e)t.includes(n)||t.push(n);return t.includes("g")||t.push("g"),t.join("")}function Xo(e){let t=e.trim();if(t.length===0)throw new y("history-redact --regex requires a non-empty pattern.",h.USAGE);let n=t,r="g";if(t.startsWith("/")&&t.length>1){let o=t.lastIndexOf("/");o>0&&(n=t.slice(1,o),r=Yo(t.slice(o+1)))}if(n.length===0)throw new y("history-redact --regex cannot use an empty pattern.",h.USAGE);try{new RegExp(n,r)}catch{throw new y("Invalid --regex value; provide a valid JavaScript regular expression.",h.USAGE)}return{kind:"regex",source:n,flags:r}}function Jo(e,t){let n=[...new Set(Tn(e).map(i=>i.trim()))].filter(i=>i.length>0).map(i=>({kind:"literal",value:i})),r=[...new Set(Tn(t).map(i=>i.trim()))].filter(i=>i.length>0).map(Xo),o=[...n,...r];if(o.length===0)throw new y("history-redact requires at least one matcher via --literal or --regex.",h.USAGE,{code:"missing_required_argument",required:"Provide --literal <value> and/or --regex <pattern>.",examples:['pm history-redact pm-a1b2 --literal "[redacted_path_prefix]/private"','pm history-redact pm-a1b2 --regex "/192\\\\.168\\\\.[0-9.]+/g" --replacement "[scrubbed_ip]"']});return o}function Qo(e,t,n){if(t.length===0)return{value:e,replacements:0};let r=0,o=0;for(;r<=e.length;){let i=e.indexOf(t,r);if(i===-1)break;o+=1,r=i+Math.max(1,t.length)}return o===0?{value:e,replacements:0}:{value:e.split(t).join(n),replacements:o}}function Zo(e,t,n){let r=new RegExp(t.source,t.flags),o=[...e.matchAll(r)];return o.length===0?{value:e,replacements:0}:{value:e.replace(r,n),replacements:o.length}}function Dn(e,t,n){let r=e,o=0;for(let i of t){let s=i.kind==="literal"?Qo(r,i.value,n):Zo(r,i,n);r=s.value,o+=s.replacements}return{value:r,replacements:o}}function He(e,t,n){if(typeof e=="string")return Dn(e,t,n);if(Array.isArray(e)){let r=0;return{value:e.map(i=>{let s=He(i,t,n);return r+=s.replacements,s.value}),replacements:r}}if(typeof e=="object"&&e!==null){let r=0,o={};for(let[i,s]of Object.entries(e)){let a=He(s,t,n);r+=a.replacements,o[i]=a.value}return{value:o,replacements:r}}return{value:e,replacements:0}}function Vo(e,t,n){let r=0;return{patch:e.map(i=>{if(!Object.prototype.hasOwnProperty.call(i,"value"))return i;let s=He(i.value,t,n);return r+=s.replacements,s.replacements>0?{...i,value:s.value}:i}),replacements:r}}function Za(e){let t=structuredClone(Ge),n=0,r=0;for(let o=0;o<e.length;o+=1){let i=e[o];ue(t)!==i.before_hash&&(n+=1),t=Ke(t,i.patch,o+1,i.op),ue(t)!==i.after_hash&&(r+=1)}return{hashMismatchesBefore:n,hashMismatchesAfter:r,finalDocument:t}}function ec(e,t,n){let r=0,o=!1,i=!1,s=e.message;if(typeof e.message=="string"){let d=Dn(e.message,t,n);s=d.value,r+=d.replacements,d.replacements>0&&(o=!0)}let a=Vo(e.patch,t,n);r+=a.replacements,o||=a.replacements>0;let c=e.reanchor_evidence?.map(d=>{let l=d.patch?Vo(d.patch,t,n):{patch:void 0,replacements:0},u=d.record?He(d.record,t,n):{value:void 0,replacements:0};r+=l.replacements,r+=u.replacements;let f=l.replacements>0||u.replacements>0;if(o||=f,!f)return d;i=!0;let{patch:m,record:p,record_hash:g,record_hash_version:k,...b}=d;return l.replacements>0?b:{...b,patch:d.patch}});return{entry:{...e,message:s,patch:a.patch,...c?{reanchor_evidence:c}:{}},replacements:r,changed:o,reanchorEvidenceRedacted:i}}function tc(e,t,n){let r=structuredClone(Ge),o=0,i=0,s=[];for(let a=0;a<e.length;a+=1){let c=e[a],d=bo(c);if(!d.ok)throw new y(`history-redact refuses invalid immutable record ${a+1} (${d.error}).`,h.GENERIC_FAILURE);let l=ec(c,t,n);i+=l.replacements,l.changed&&(o+=1);let u=ue(r);r=Ke(r,l.entry.patch,a+1,l.entry.op);let f=ue(r);s.push(wo(c,{...l.entry,before_hash:u,after_hash:f},{retainPriorRecord:l.changed,retainPriorRecordHash:!l.changed}))}return{entries:s,finalDocument:r,entriesChanged:o,replacements:i}}function ei(e){return Object.keys(e.metadata).length>0}async function nc(e,t){let n=e.located?.itemPath??null;if(!e.located)return{raw:null,path:n,document:null};let r=await pe(e.located,{schema:t.schema});return{raw:r.raw,path:n,document:r.document}}function rc(e){if(!ei(e.finalDocument))return{raw:null,path:null,document:null};let t=so(xn(e.finalDocument),{schema:e.settings.schema});if(t.metadata.id!==e.subject.id)throw new y("history-redact would change the item id; narrow your patterns.",h.USAGE);return{document:t,path:Zr(e.pmRoot,t.metadata.type,e.subject.id,"toon",e.typeToFolder),raw:io(t,{format:"toon",schema:e.settings.schema})}}function oc(e,t){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-redact replaced ${t.replacements} match(es) across ${t.entriesChanged} entr${t.entriesChanged===1?"y":"ies"}.`}function ic(e){let t=[...e.rewritten.entries];if(e.dryRun||!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.nextItemDocument??xn(e.rewritten.finalDocument);return t.push(Io({nowIso:B(),author:e.author,op:"history_redact",before:n,after:n,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}async function sc(e){let t=[];return qo({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItem.raw,operation:"history-redact",author:e.author,force:e.force,itemDocument:e.currentItem.document,applyRewrite:async({historyRawUnderLock:n})=>{let r=await $o(e.pmRoot,e.author),o=new Set;e.currentItem.path&&o.add(e.currentItem.path),e.nextItem.path&&o.add(e.nextItem.path);let i=new Map;e.currentItem.path&&e.currentItem.raw!==null&&i.set(e.currentItem.path,e.currentItem.raw);let s=()=>{};try{try{e.nextItem.path&&e.nextItem.raw!==null&&e.nextItem.raw!==e.currentItem.raw&&await G(e.nextItem.path,e.nextItem.raw),e.currentItem.path&&(!e.nextItem.path||e.nextItem.path!==e.currentItem.path)&&await Sn.rm(e.currentItem.path,{force:!0}),await G(e.subject.historyPath,Do(e.rewrittenEntries))}catch(c){try{await ac(e.subject.historyPath,n,o,i)}finally{await Te(e.subject.historyPath)}throw c}await Te(e.subject.historyPath);let a=e.nextItem.path??e.currentItem.path;a&&(t=await Po({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:e.typeRegistry.type_to_folder,schema:e.settings.schema,itemPath:a,...e.currentItem.path?{previousItemPath:e.currentItem.path}:{},document:e.nextItem.document}))}finally{await r().catch(a=>{s=()=>{throw a}})}s()},applyPostRewrite:async()=>[...t,...await cc(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]})}async function ac(e,t,n,r){t===null?await Sn.rm(e,{force:!0}):await G(e,t);for(let o of n){let i=r.get(o);i===void 0?await Sn.rm(o,{force:!0}):await G(o,i)}}async function cc(e,t){let n=[],r=new Set(t.filter(o=>o!==null));for(let o of r)n.push(...await wn({path:o,scope:"project",op:"history_redact"}));return n.push(...await wn({path:e,scope:"project",op:"history_redact:history"})),n}async function Rn(e,t,n,r){let o=await fe(e,t,n.id_prefix,n.item_format,r);if(o)return{id:o.id,historyPath:bn(e,o.id),located:o};let i=xt(t,n.id_prefix),s=Ao(t),a=i===s?[i]:[i,s];for(let c of a){let d=bn(e,c);if(await hn(d))return{id:c,historyPath:d,located:null}}throw new y(`Item ${t} not found`,h.NOT_FOUND)}async function ky(e,t,n){let r=D(process.cwd(),n.path);await O(r);let o=await R(r),i=N(o,A()),s=t.replacement??"",a=s.length===0,c=a?"[redacted]":s,d=Jo(t.literal,t.regex),l=await Rn(r,e,o,i.type_to_folder);if(!await hn(l.historyPath))throw new y(`No history stream exists for ${l.id}.`,h.NOT_FOUND);let u=await ie(l.historyPath),f=await Ce(l.historyPath,l.id);if(f.length===0)throw new y(`No history entries exist for ${l.id}; nothing to redact.`,h.USAGE);let m=Za(f),p=tc(f,d,c),g=m.hashMismatchesBefore+m.hashMismatchesAfter,k=!!t.dryRun,b=p.replacements>0,_=[];g>0&&_.push(`history_redact_preexisting_hash_mismatches:${g}`),b||_.push("history_redact_no_matches");let w=await nc(l,o),E=rc({pmRoot:r,subject:l,settings:o,typeToFolder:i.type_to_folder,finalDocument:p.finalDocument}),x=(w.path??null)!==(E.path??null)||(w.raw??null)!==(E.raw??null),F=ge(t.author,o.author_default),T=oc(t,p),{rewrittenEntries:j,auditEntryAdded:de}=ic({rewritten:p,dryRun:k,changed:b,nextItemDocument:E.document,author:F,message:T}),U=To(j);if(!U.ok)throw new y(`history-redact produced an invalid rewritten chain (${U.errors.join(", ")}).`,h.GENERIC_FAILURE);return!k&&b&&_.push(...await sc({pmRoot:r,subject:l,settings:o,typeRegistry:i,historyRawBeforeLock:u,currentItem:w,nextItem:E,author:F,force:t.force,rewrittenEntries:j})),{id:l.id,dry_run:k,changed:b,patterns:{literal_count:d.filter(M=>M.kind==="literal").length,regex_count:d.filter(M=>M.kind==="regex").length,total_count:d.length,replacement_is_default:a},history:{path:l.historyPath,entries_scanned:f.length,entries_changed:p.entriesChanged,replacements:p.replacements,hash_mismatches_before:m.hashMismatchesBefore,hash_mismatches_after:m.hashMismatchesAfter,preexisting_hash_mismatches:g,audit_entry_added:de,verify_ok:U.ok,verify_errors:U.errors},item:{existed_before:w.path!==null,exists_after:E.path!==null,path_before:w.path,path_after:E.path,changed:x},warnings:[...new Set(_)].sort((M,W)=>M.localeCompare(W)),generated_at:B()}}var vy={applyLiteralRule:Qo,applyRegexRule:Zo,buildRedactionRules:Jo,hasItemMetadata:ei,normalizeRegexFlags:Yo,normalizeStringArrayInput:Tn,parseRegexRule:Xo,redactStringValue:Dn,redactUnknownValue:He};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f1ea4209-59d4-53f0-a8ea-2e060e385d14")}catch{}})();function Oy(e,t){let n=So(e),r=e.length>0?e[e.length-1].after_hash:Eo(),o=t===void 0||n.item_hash_version===void 0?void 0:vo(t,n.item_hash_version),i=t===void 0?void 0:o===void 0?ko(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function $y(e,t,n={}){let r=D(n.cwd??process.cwd(),n.pmRoot);await O(r);let o=await R(r),i=N(o,A()),s=await Rn(r,e,o,i.type_to_folder),a=await Ce(s.historyPath,s.id);if(a.length===0)throw new y(`No history exists for ${s.id}; point-in-time reads are unavailable.`,h.NOT_FOUND);let c=Ho(t,a),d=Wo(zo(a,c.historyIndex),c),l=xo(d,{schema:o.schema});if(l.metadata.id!==s.id)throw new y(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,h.GENERIC_FAILURE);let u=a[c.historyIndex];return{document:l,reconstructed:!0,as_of_version:c.historyIndex+1,as_of_timestamp:u.ts,target:c,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3167c288-0bcc-5a66-8aa0-ca5876ed7d36")}catch{}})();function dc(e,t,n,r,o,i){if(e.seen.has(t))return"skip";if(e.cursorFound&&e.affected.length>=i)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:hc(r,t,e.parents)}),"continue"):(e.cursorFound=t===o,"skip")}function ni(e,t,n,r){let o=le("graph impact",{root:e,direction:n,kinds:[...t.kinds??[]].sort(),max_depth:Number.isFinite(r)?r:"unbounded"});return{fingerprint:o,after:t.after===void 0?void 0:_o(t.after,o)}}function Re(e,t,n){e.get(t).add(n)}function ze(e){return new Map(e.map(t=>[t,new Set]))}function ri(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function Tt(e){if(Array.isArray(e))return e.map(n=>Tt(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?Tt(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,Tt(r)]))}function ti(e){return JSON.stringify(Tt(e))}function lc(e,t,n,r){let o=[{id:e,expanded:!1}];for(;o.length>0;){let i=o.pop();if(i.expanded){r.push(i.id);continue}if(n.has(i.id))continue;n.add(i.id),o.push({id:i.id,expanded:!0});let s=[...t.get(i.id)].sort().reverse();for(let a of s)n.has(a)||o.push({id:a,expanded:!1})}}function uc(e,t){let n=new Set,r=[];for(let o of e)n.has(o)||lc(o,t,n,r);return r}function fc(e,t){let n=new Set,r=[];for(let o of[...e].reverse()){if(n.has(o))continue;let i=[],s=[o];for(n.add(o);s.length>0;){let a=s.pop();i.push(a);for(let c of t.get(a))n.has(c)||(n.add(c),s.push(c))}r.push(i)}return ri(r)}function oi(e,t){let n=ze(e);for(let[r,o]of t)for(let i of o)Re(n,i,r);return fc(uc(e,t),n)}function pc(e,t){let n=ze(e.nodes());for(let r of e.edges()){let o=t.require(r.kind);if(!o.ordering)continue;let i=(o.precedence??"source_before_target")==="source_before_target";Re(n,i?r.source:r.target,i?r.target:r.source)}return n}function mc(e,t){let n=new Map(e.map(i=>[i,0]));for(let i of t.values())for(let s of i)n.set(s,n.get(s)+1);let r=e.filter(i=>n.get(i)===0).sort(),o=[];for(;r.length>0;){o.push(r);let i=[];for(let s of r)for(let a of t.get(s)){let c=n.get(a)-1;n.set(a,c),c===0&&i.push(a)}r=i.sort()}return o}function gc(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 o=[...e].sort((s,a)=>n.get(a)-n.get(s)||s.localeCompare(a))[0],i=o===void 0?[]:[o];for(;i[0]!==void 0&&r.has(i[0]);)i.unshift(r.get(i[0]));return{depth:Object.fromEntries(n),path:i}}function hc(e,t,n){let r=[t],o=t;for(;o!==e;)o=n.get(o),r.push(o);return r.reverse()}function Rt(e,t={}){let n=t.registry??q(),r=[...e.nodes()],o=pc(e,n),i=mc(r,o),s=i.flat(),a=s.length===r.length,c=a?[]:oi(r,o).filter(l=>l.length>1||o.get(l[0]).has(l[0])),d=gc(s,o);return{exact:!0,acyclic:a,order:s,layers:i,frontier:i[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 yc(e,t,n){let r=ze(e.nodes()),o=n===void 0?void 0:new Set(n.map(s=>e.registry().require(s).kind)),i=e.edges();for(let s of i){let a=e.registry().require(s.kind);o!==void 0&&!o.has(s.kind)&&(a.inverse===void 0||!o.has(a.inverse))||Re(r,t==="incoming"?s.target:s.source,t==="incoming"?s.source:s.target)}return{adjacency:r,inspectedEdges:i.length}}function _c(e,t,n,r,o,i){let s=Dt(e,t,{...n,after:void 0,direction:"incoming",limit:void 0}),a=Dt(e,t,{...n,after:void 0,direction:"outgoing",limit:void 0}),c=new Map,d=[...s.affected,...a.affected].sort((p,g)=>p.distance-g.distance||p.id.localeCompare(g.id)||p.path.join("\0").localeCompare(g.path.join("\0")));for(let p of d)c.has(p.id)||c.set(p.id,p);let l=[...c.values()].sort((p,g)=>p.distance-g.distance||p.id.localeCompare(g.id)),u=r===void 0||r===t?-1:l.findIndex(p=>p.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+o),m=u+1+f.length<l.length;return{root:t,affected:f,exact:!0,truncated:s.truncated||a.truncated||m,...m?{nextCursor:Z(i,f.at(-1)?.id??t)}:{},cost:{visitedNodes:s.cost.visitedNodes+a.cost.visitedNodes,inspectedEdges:s.cost.inspectedEdges+a.cost.inspectedEdges}}}function bc(e,t,n){let r=n.direction,o=n.maxDepth??Number.POSITIVE_INFINITY,i=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ni(t,n,r,o),{adjacency:c,inspectedEdges:d}=yc(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,m=!1;e:for(let p=0;p<l.queue.length;p+=1){n.signal?.throwIfAborted();let g=l.queue[p];u+=1;let k=[...c.get(g.id)].sort();if(g.depth>=o){k.some(b=>!l.seen.has(b))&&(f=!0);continue}for(let b of k)if(dc(l,b,g,t,a,i)==="truncate"){f=!0,m=!0;break e}}if(!l.cursorFound)throw new TypeError(`Unknown impact cursor item: ${a}`);return{root:t,affected:l.affected,exact:!0,truncated:f,...m?{nextCursor:Z(s,l.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:u,inspectedEdges:d}}}function Dt(e,t,n={}){let r=n.direction??"outgoing";if(r!=="both")return bc(e,t,{...n,direction:r});let o=n.maxDepth??Number.POSITIVE_INFINITY,i=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=ni(t,n,r,o);return _c(e,t,n,a,i,s)}function ii(e){let t=[...e.nodes()],n=ze(t),r=ze(t);for(let c of e.edges())Re(n,c.source,c.target),Re(n,c.target,c.source),Re(r,c.source,c.target);let o=[],i=new Set;for(let c of t){if(i.has(c))continue;let d=[],l=[c];for(i.add(c);l.length>0;){let u=l.pop();d.push(u);for(let f of n.get(u))i.has(f)||(i.add(f),l.push(f))}o.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:ri(o),stronglyConnected:oi(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 By(e,t){let n=new Map(e.edges.map(o=>[ti(o),o])),r=new Map(t.edges.map(o=>[ti(o),o]));return{fromVersion:e.version,toVersion:t.version,added:[...r].filter(([o])=>!n.has(o)).map(([,o])=>o),removed:[...n].filter(([o])=>!r.has(o)).map(([,o])=>o),unchangedCount:[...n.keys()].filter(o=>r.has(o)).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]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function V(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 y(`${t} must be a non-negative integer`,h.USAGE);return r}function At(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 y(`${t} filter must be 0..4`,h.USAGE);return r}function si(e,t,n="--type"){if(e===void 0)return;let r=gt(e,t);if(!r)throw new y(`${n} filter must be one of ${t.types.join("|")}`,h.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]="8b010e79-a73a-5760-ac05-8dc88484cd69")}catch{}})();var Lt={version:1,aliases:{}};function Ft(e=[]){let t=new Set(xe),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function ai(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function An(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 Ln(e,t=xe){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new y(`Provenance predicate must use dimension=value; received "${i.trim()}".`,h.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),c=i.slice(s+1).trim();if(!n.has(a))throw new y(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,h.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new y(`Provenance predicate must use dimension=value; received "${i.trim()}".`,h.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function Mt(e,t=Lt,n={}){let r=An(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 Jy(e,t,n=Lt,r=xe){return Fn(t,n,r)(e)}function Fn(e,t=Lt,n=xe){let r=ai(e.harness),o=ai(e.agentInstance),i=Ln(e,n);return s=>{let c=An(s,t).agent_harness;if(r&&(!c||!r.has(c))||o&&!o.has(s.agent_instance??""))return!1;for(let[d,l]of i){let u=s.agent_provenance?.[d];if(!u||!l.has(u.value))return!1}return!0}}function Nt(e,t=Lt,n=xe){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let c of Object.keys(s.agent_provenance??{}))r.add(c);An(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].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 wc from"node:fs/promises";import li 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]="7005305a-5fd4-56b8-a0a0-5612e8bf48cc")}catch{}})();var kc=20,vc=5,Ec=15,Ic="-24h";function c_(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 xc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Mn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new y(`${t} must not be empty`,h.USAGE);return n}function ci(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new y("Activity time bounds must not be empty",h.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return se(o,new Date(t),n)}function Cc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&I(e.ts,t)<0||n&&I(e.ts,n)>=0)}function di(e,t){return t===void 0?e:e.slice(0,t)}function We(e,t=""){return typeof e=="string"?e:t}function Sc(e,t){return{...t,id:e,ts:We(t.ts),author:We(t.author,"unknown"),op:We(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:We(t.before_hash),after_hash:We(t.after_hash)}}function Tc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function Dc(e){try{return(await wc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Wr(t))return[];throw t}}function Rc(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 Ac(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Ec:n==="compact"?kc:vc}function Lc(e,t){let n=B(),r=t==="digest",o=ci(e.to??(r?n:void 0),n,"--to"),i=ci(e.from??(r?Ic:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&I(i,o)>=0)throw new y("Activity --from must be before --to",h.USAGE);let s=Cn(e.limit);if(e.unbounded===!0&&s!==void 0)throw new y("Activity --unbounded cannot be combined with --limit",h.USAGE);return{id:Mn(e.id,"Activity --id"),op:Mn(e.op,"Activity --op"),author:Mn(e.author,"Activity --author"),from:i,to:o,limit:Ac(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Fc(e){let t=D(process.cwd(),e.path);return await O(t),{pmRoot:t,settings:await R(t)}}async function Mc(e){let t=N(e.settings,A()),n=await ee(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Ro({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=li.join(e.pmRoot,"history");return await no({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function Nc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Cc(t,n.from,n.to)}async function Oc(e,t){let n=[];for(let r of await Dc(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await Ce(li.join(e,r),o);for(let s of i){let a=Sc(o,s);Nc(s,a,t)&&n.push(a)}}return n}function $c(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Pc(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function jc(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,I(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),I(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:Pc(o.operations)}}).sort((r,o)=>I(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function Uc(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function Bc(e,t,n,r,o){if(e==="digest"){let s=jc(t,r),a=di(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=di(t,n);return e==="compact"?{rows:{compact_activity:$c(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function ui(e,t){let n=await Fc(t),r=Rc(e),o=Lc(e,r),i=await Mc(n),s=Ft(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,c=Fn({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),d=Tc(await Oc(i.historyDir,o)).filter(c),l=Bc(r,d,o.limit,i.itemsById,f=>Mt(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:xc[r]},omission_receipt:yo("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:d.length,item_count:l.totalRows,author_count:new Set(d.map(f=>f.author)).size,operation_counts:Uc(d)}}:{},...e.provenanceSummary===!0?{provenance_summary:Nt(d,a,s)}:{},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]="971d929f-12be-5648-93c9-8a9878b40dde")}catch{}})();function ae(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function te(e){let t=e?.trim().toLowerCase();return t==="global"||t==="external"}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f3f3beb2-1d60-52fe-88ce-1ab3cb9dba0d")}catch{}})();var Gc="global",p_="external",Kc=["open","closed","unknown"],qe=new Map,Hc=240,zc=2048;function fi(e,t,n){return(e?.trim()||t).slice(0,n)}function Wc(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 m_(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(qe.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 qe.set(t,n),()=>{qe.get(t)===n&&qe.delete(t)}}async function g_(e,t={}){let n=e.trim();if(!ae(n))return null;let r=[...qe.values()].filter(i=>{try{return i.supports(n)}catch{return!1}}),o=await Promise.allSettled(r.map(i=>Promise.resolve().then(()=>i.resolve(n))));for(let[i,s]of o.entries()){if(s.status!=="fulfilled"||!Wc(s.value))continue;let a=r[i],c=s.value,d=Kc.includes(c.status)?c.status:"unknown",l=fi(c.title,"",Hc),u=fi(c.source,n,zc),f=Date.parse(c.checkedAt?.trim()??""),m=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:m,resolver:a.name}}return null}function h_(e){let t=e?.trim();if(t)return te(t)?Gc:t}function y_(e,t,n){let r=e.trim();return te(n)?r:xt(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]="d49d73c9-f988-5c3c-a22d-0580ee5526f6")}catch{}})();function P(){let e=q();for(let t of A()?.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]="924f7718-0527-5967-8ab0-53e8228bd665")}catch{}})();function Ve(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Ot(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function qc(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function Vc(e,t){let n=[...e].sort(),r=qc(n,t),o=new Set,i=Yc(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=Xc(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function Yc(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function Xc(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function pi(e){let t=new Map;for(let n of e){let r=Ve(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Jc(e,t,n){let r=Ve(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 Qc(e,t,n,r){let o=Ve(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function mi(e,t){let n=new Map;for(let[r,o]of e){let i=Jc(r,o,e);i&&n.set(Ot(i),i);for(let s of o.dependencies??[]){let a=Qc(r,s,e,t);a&&n.set(Ot(a),a)}}return[...n.values()].sort((r,o)=>Ot(r).localeCompare(Ot(o)))}function gi(e,t=P()){return mi(pi(e),t)}function Zc(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function ed(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=Ve(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function $t(e,t=r=>r==="closed"||r==="canceled",n=P()){let r=pi(e),o=mi(r,n),i=On(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Vc([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:Zc(o,i.parents_by_child,s),divergences:ed(r,o,s)}}function C_(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 On(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function Nn(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function S_(e,t,n,r,o){let i=Ve(n);if(!i)return;let s=$t(e,r,o),a=$t(t,r,o),c=a.divergences.find(u=>!s.divergences.some(f=>f.child_id===u.child_id&&f.scalar_parent_id===u.scalar_parent_id&&Nn(u.dependency_parent_ids,f.dependency_parent_ids)));if(c){let u=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new y(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${u.join(", ")}.`,h.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:u})}let d=a.cardinality_violations.find(u=>(u.child_id===i||u.parent_ids.includes(i))&&!s.cardinality_violations.some(f=>f.child_id===u.child_id&&Nn(u.parent_ids,f.parent_ids)));if(d)throw new y(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,h.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(u=>u.item_ids.includes(i)&&!s.cycles.some(f=>Nn(u.item_ids,f.item_ids)));if(l)throw new y(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,h.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e04a91fa-4625-50fd-9bfd-c712126baf0d")}catch{}})();function Le(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Ye(e){let t=Le(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Xe(e,t,n=!0){let r=Le(e);return n&&(te(t)||r!==void 0&&ae(r))}function $n(e,t){return Xe(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function hi(e,t,n,r){return Xe(e,t)?r.get(e):n.get(e.toLowerCase())}function Ae(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function td(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=Le(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${$n(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function nd(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of td(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=Ae(r.holder_id,o.holder_id);if(i!==0)return i;let s=Ae(r.target_id,o.target_id);return s!==0?s:Ae(r.kind,o.kind)})}function rd(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=Le(n.id);if(!i||$n(i,n.source_kind)!==$n(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function od(e,t=r=>r==="closed"||r==="canceled",n=P()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=Le(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=rd(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=Ae(o.holder_id,i.holder_id);if(s!==0)return s;let a=Ae(o.target_id,i.target_id);return a!==0?a:Ae(o.dependency_kind,i.dependency_kind)})}function Pn(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,l,u,f)=>{let m=Le(d);if(!m||r.has(m.toLowerCase())||Xe(m,void 0,f))return;let p={holder_id:c.id.trim(),target_id:m,kind:l,source:u,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};o.set(`${p.holder_id}::${p.target_id}::${p.kind}::${p.source}`,p)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;te(l.source_kind)||i(c,l.id,typeof l.kind=="string"?l.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function id(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function sd(e){let t=new Map;for(let n of e){let r=Ye(n.blocked_by);r&&Xe(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Xe(o.id,o.source_kind))continue;let i=Ye(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var yi=new WeakMap;function Pt(e){return e.hierarchyIntegrity??yi.get(e)}function ad(e,t=P()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function Fe(e,t,n){let r=n??P(),o=e.filter(p=>typeof p?.id=="string"&&p.id.trim().length>0),i=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),s=Pn(o,t),a=id(s);for(let p of a)i.set(p.toLowerCase(),p);let c=sd(o),d=new Set(i.keys()),l=new Map;for(let p of c){let g=p;for(;d.has(g.toLowerCase());)g=`external:${g}`;l.set(p,g),d.add(g.toLowerCase())}let u=o.map(p=>{let g=Ye(p.parent),k=Ye(p.blocked_by),b=(p.dependencies??[]).flatMap(_=>{if(typeof _!="object"||_===null)return[];let w=_,E=Ye(w.id);return E?[{id:hi(E,w.source_kind,i,l),kind:typeof w.kind=="string"?w.kind:"related"}]:[]});return{id:p.id.trim(),...g?{parent:i.get(g.toLowerCase())}:{},...k?{blocked_by:hi(k,void 0,i,l)}:{},dependencies:b}}),f=$t(o,t,r),m={graph:eo.fromItems([...u,...a.map(p=>({id:p})),...c.map(p=>({id:l.get(p)}))],r),details:[...o.map(p=>({id:p.id.trim(),title:p.title,status:p.status,...typeof p.type=="string"&&p.type.trim().length>0?{type:p.type.trim()}:{}})),...a.map(p=>({id:p,title:`[missing] ${p}`,status:"missing"})),...c.map(p=>({id:l.get(p),title:`[external] ${p}`,status:"external"}))],missingIdSet:new Set(a.map(p=>p.toLowerCase())),dangling:s,duplicateRows:nd(o,t),orderingContradictions:od(o,t,r),legacyAliasCounts:ad(o,r),hierarchyIntegrity:f};return yi.set(m,f),m}import{createHash as cd}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]="dea35fb9-9f9f-56ce-afc0-f4dc993012c3")}catch{}})();var dd=64,ld=8;function ud(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function jt(e,t=r=>r==="closed"||r==="canceled",n=q()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>ud(i,t)).sort(),o=n.list().map(i=>Ie(i)).sort();return cd("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function _i(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var jn=class{#e=new Map;#t;#n;constructor(t={}){this.#t=_i("maxResultsPerWorkspace",t.maxResultsPerWorkspace,dd),this.#n=_i("maxWorkspaces",t.maxWorkspaces,ld)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let 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()}},bi=new jn;function Ut(){return bi}function P_(){bi.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]="afdba960-ae43-52be-b21d-282dac1f22ff")}catch{}})();var fd=["prerequisite","dependent","ancestor","descendant","provenance","related"],pd=new TextEncoder;function Un(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 Bt(e){return Math.max(1,Math.ceil(pd.encode(JSON.stringify(e)).byteLength/4))}function Bn(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 md(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Bn(i,n,r));return[...new Set(o)].sort()}function gd(e){return fd.find(t=>e.includes(t))}function hd(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let u=0;u<a.length;u+=1){r.signal?.throwIfAborted();let f=a[u];if(f.distance>=i&&l)continue;let m=e.neighborEdges(f.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=m.meta.inspectedEdges,f.distance>=i){m.value.some(p=>!s.has(p.id))&&(l=!0);continue}for(let{id:p,edge:g}of m.value){if(s.has(p))continue;s.add(p);let k={id:p,distance:f.distance+1,via:f.id,role:Bn(g,p,n)};c.push(k),a.push(k)}}return c.sort((u,f)=>u.distance-f.distance||u.id.localeCompare(f.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function yd(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Bn(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function _d(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?md(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?gd(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=Bt(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function bd(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=Bt(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function wi(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Un(r.nodeLimit,20,"nodeLimit"),i=Un(r.edgeLimit,40,"edgeLimit"),s=Un(r.tokenBudget,1200,"tokenBudget"),a=r.registry??q(),c=new Map(n.map(Q=>[Q.id,Q])),d=c.get(t)??{id:t},{evidence:l=[],...u}=d,f=[...l],m=hd(e,t,a,r),{rootEdges:p,...g}=yd(e,t,a,r),k=le("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),b=Se(m.rows,r.cursor,k,({id:Q})=>Q),_=m.rows.slice(b),w=Bt(u)+Bt(f);if(w>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=_d({candidates:_,details:c,rootEdges:p,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:w}),{nodes:x}=E,F=new Set([t,...x.map(({id:Q})=>Q)]),T=bd({graph:e,included:F,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:E.usedTokens}),{edges:j,usedTokens:de}=T,U=b+x.length,M=U<m.rows.length,W=x.at(-1),X=T.candidateCount-j.length,J=m.depthTruncated||M||X>0,ke={rootId:t,...u.status===void 0?{}:{rootStatus:u.status},...g,discoveredNodes:m.rows.length,returnedNodes:x.length,returnedEdges:j.length,omittedNodes:m.rows.length-U,omittedEdges:X,evidenceCount:f.length,hasMore:M};return{root:u,summary:ke,nodes:x,edges:j,evidence:f,meta:{exact:!0,truncated:J,completeness:J?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:de,visitedNodes:m.visitedNodes,inspectedEdges:m.inspectedEdges,omittedNodes:m.rows.length-U,omittedEdges:X,...M&&W?{nextCursor:Z(k,W.id,U-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]="74a825f3-1301-5dc5-a887-c6ff68f6d7ec")}catch{}})();var wd=["tree","graph","context"],kd=["none","repeated"],vd=["outgoing","incoming","both"],Ed=32,Id=200,xd=400,Cd=16e3;function Sd(e){let t=e?.trim().toLowerCase()??"tree";if(wd.includes(t))return t;throw new y(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,h.USAGE)}function ne(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new y(`Invalid --${t} value "${e}". Use a positive integer.`,h.USAGE);return n}function Gt(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new y(`Invalid --max-depth value "${e}". Use a non-negative integer.`,h.USAGE);return t}function Td(e){let t=e?.trim().toLowerCase()??"none";if(kd.includes(t))return t;throw new y(`Invalid --collapse value "${e}". Use "none" or "repeated".`,h.USAGE)}function Kn(e){let t=e?.trim().toLowerCase()??"both";if(vd.includes(t))return t;throw new y(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,h.USAGE)}function Hn(e,t=q()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new y(`Invalid --kind value "${o}". Registered kinds: ${s}.`,h.USAGE)}r.add(i.kind)}return[...r].sort()}function Dd(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function Rd(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Dd(e.dependencies)}}function Ad(e){return wt(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Ld(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(vi(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Fd(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function vi(e,t,n,r,o,i,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+=Ad(u),Fd(u,l,d,r,o,i,s,a))return u;o==="repeated"&&i.add(d);let f=new Set(n);return f.add(d),Ld(u,l,t,f,r,o,i,s,a),u}function ki(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 Md(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,ki(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,ki(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Ei(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let u=t.get(l);if(!u){i.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let f of u.dependencies)o.add(`${l}::${f.id.trim().toLowerCase()}::${f.kind}`),a.push({id:f.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Nd(e,t=q()){let n=Gt(e.maxDepth),r=ne(e.nodeLimit,"node-limit"),o=ne(e.edgeLimit,"edge-limit"),i=ne(e.tokenBudget,"token-budget"),s=Hn(e.kind,t);return{direction:Kn(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Od(e,t,n,r){return wi(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function Gn(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function $d(e,t,n,r){let o=await fe(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await pe(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,f])=>f===0))return[];let u=[`linked:${l.map(([f,m])=>`${f}=${m}`).join(",")}`];return Gn(u,"file",a.map(f=>f.path),3),Gn(u,"test",c.map(f=>f.command??f.path),2),Gn(u,"doc",d.map(f=>f.path),2),u}function Pd(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function jd(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Ii(e,t,n){let r;for(;;){let o=wt(new TextEncoder().encode(In(vn("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Ud(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Bd(e){try{return Od(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Ud(t))return e.smallestResult;throw t}}function Gd(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,l=r.edgeLimit??40,u=r.tokenBudget,f,m;for(;;){let p=Bd({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:u,rootEvidence:o,smallestResult:m});if("format"in p)return p;let g=p;f??=g.meta.tokenBudget,u??=f;let k=Pd({canonicalId:n,context:g,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:i});if(m=k,i||(g.meta.tokenBudget=f,g.meta.usedTokens=Ii(Me(k,!1),s,w=>{g.meta.usedTokens=w}),g.meta.usedTokens<=f))return k;if(l>0){l-=1;continue}let b=u,_=b*f/g.meta.usedTokens;u=Math.min(b-1,Math.max(1,Math.floor(_*.9)))}}function Kd(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Nd(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(g=>t.missingIdSet.has(g.toLowerCase())),l=new Set(d.map(g=>g.toLowerCase())),u=t.graph.registry(),f=a.kinds?new Set(a.kinds.map(g=>u.require(g).kind)):void 0,m=new Set([n,...c.value]),p=[...t.dangling.active,...t.dangling.legacy_terminal].filter(g=>jd({row:g,missingReachableSet:l,packetIds:m,filteredKinds:f,registry:u}));return Gd({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:p})}function Hd(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 zd(e,t,n,r,o,i,s){let a=o??Ed,c=ne(n.nodeLimit,"node-limit")??Id,d=ne(n.edgeLimit,"edge-limit")??xd,l=ne(n.tokenBudget,"token-budget")??Cd,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=vi(e,r,new Set,a,t==="graph"?"repeated":i,new Set,u),m=Ei(e,r,void 0),p;for(;;){let g=Md(f),k=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:m.node_count,total_edge_count:m.edge_count,omitted_node_count:Math.max(0,m.node_count-g.nodes.length),omitted_edge_count:Math.max(0,m.edge_count-g.edges.length)},b={id:e,format:t,node_count:g.nodes.length,edge_count:g.edges.length,edge_basis:"deduplicated_directed",missing_count:g.missing_ids.length,...k?{truncation:k}:{}};if(p=t==="tree"?{...b,tree:f}:{...b,graph:g},(p.truncation===void 0?wt(new TextEncoder().encode(In(vn("deps",Me(p,!1)),s)).byteLength):Ii(Me(p,!1),s,w=>{p.truncation.estimated_tokens=w}))<=l)return p;if(!Hd(f))return u.reasons.add("token_budget"),p;u.reasons.add("token_budget")}}function Me(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function sb(e,t,n){let r=D(process.cwd(),n.path);await O(r);let o=Sd(t.format),i=Gt(t.maxDepth),s=Td(t.collapse);_t(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await R(r),d=N(c,A()),l=await ee(r,c.item_format,d.type_to_folder,void 0,c.schema),u=K(c.schema),f=new Map(l.map(p=>[p.id.trim().toLowerCase(),Rd(p)])),m=Pn(l,p=>L(p,u));for(let p of[...m.active,...m.legacy_terminal]){let g=f.get(p.holder_id.trim().toLowerCase()),k=p.kind.trim().toLowerCase();g&&!g.dependencies.some(b=>b.id.trim().toLowerCase()===p.target_id.trim().toLowerCase()&&b.kind===k)&&g.dependencies.push({id:p.target_id,kind:k})}if(!f.has(e.trim().toLowerCase()))throw new y(`Item ${e} not found`,h.NOT_FOUND);if(o==="context"){let p=f.get(e.trim().toLowerCase()).id,g=a?[]:await $d(r,p,c,d.type_to_folder),k=w=>L(w,u),b=P(),_=Ut().lookup(r,jt(l,k,b),()=>Fe(l,k,b));return Me(Kd({assembly:_.assembly,canonicalId:p,options:t,rootEvidence:g,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,_.assembly.legacyAliasCounts)}return a?Me({id:e,format:o,...Ei(e,f,i)},!0,Object.fromEntries(Object.entries(Fe(l,p=>L(p,u)).legacyAliasCounts))):Me(zd(e,o,t,f,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(Fe(l,p=>L(p,u)).legacyAliasCounts)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ac2b3cd9-5a98-5fea-888c-e96de8cd593d")}catch{}})();var Wd=5,qd=1e4,Vd=8;function zn(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function Kt(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function Je(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function Ht(e,t){let n=Je(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function Yd(e,t,n){if(t===void 0)return;let r=e.registry(),o=new Set;for(let i of t){let s=r.require(i),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}`)}o.add(s.kind)}return o}function Xd(e,t,n,r,o){let i=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=i.require(d.edge.kind);n===void 0&&!l[r]||o(d,l,t)&&(c.has(d.id)||(c.add(d.id),a.push(d.id)))}return{neighbors:a,inspectedEdges:s.meta.inspectedEdges}}function Jd(e,t,n,r,o,i){if(t>=n)return e.neighbors.some(s=>!i.seen.has(s))&&(i.truncated=!0),!1;for(let s of e.neighbors)if(!i.seen.has(s)){if(i.seen.add(s),i.queue.push({id:s,depth:t+1}),!i.resumed){s===o&&(i.resumed=!0);continue}if(i.value.length>=r)return i.truncated=!0,!0;i.value.push(s)}return!1}function zt(e,t,n,r,o){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let i=Yd(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 m=d.queue[f];l+=1;let p=Xd(e,m.id,i,r,o);if(u+=p.inspectedEdges,Jd(p,m.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 xi(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Ci(e,t,n,r,o){let i=e.neighborEdges(t.nodes.at(-1),{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});return o.inspectedEdges+=i.meta.inspectedEdges,i.value.filter(s=>!t.nodeSet.has(s.id))}function Qd(e,t,n,r,o,i,s){for(let a of Ci(e,t,r,o,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>=i)return!0}else s.queue.push({nodes:c,nodeSet:d,edges:l})}return!1}function Si(e,t,n={}){return zt(e,t,n,"hierarchy",(r,o)=>Kt(r.edge,o)===r.id)}function Ti(e,t,n={}){return zt(e,t,n,"hierarchy",(r,o,i)=>Kt(r.edge,o)===i)}function Di(e,t,n={}){return zt(e,t,n,"ordering",(r,o)=>Je(r.edge,o)===r.id)}function Ri(e,t,n={}){return zt(e,t,n,"ordering",(r,o,i)=>Je(r.edge,o)===i)}function Zd(e,t,n,r,o,i,s,a){let c={value:[],queue:[{nodes:[t],nodeSet:new Set([t]),edges:[]}],inspectedEdges:0},d=0,l=!1,u=o+1;for(let f=0;f<c.queue.length;f+=1){if(r.signal?.throwIfAborted(),c.value.length>=u||d>=i){l=!0;break}let m=c.queue[f];if(d+=1,m.edges.length>=s){Ci(e,m,r,a,c).length>0&&(l=!0);continue}if(Qd(e,m,n,r,a,u,c)){l=!0;break}}return{value:c.value.slice(0,o),meta:{visitedNodes:d,inspectedEdges:c.inspectedEdges,truncated:l}}}function Ai(e,t,n,r={}){xi(e,t),xi(e,n);let o=r.maxPaths??Wd,i=r.maxVisitedPaths??qd,s=r.maxDepth??Vd;zn("maxPaths",o),zn("maxVisitedPaths",i),zn("maxDepth",s);let a=r.direction??"outgoing";r.signal?.throwIfAborted();for(let c of r.kinds??[])e.registry().require(c);return t===n?o===0?{value:[],meta:{visitedNodes:1,inspectedEdges:0,truncated:!0}}:{value:[{nodes:[t],edges:[],length:0}],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}}:Zd(e,t,n,r,o,i,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]="24898402-1568-5b05-9072-f89dd91f25a6")}catch{}})();var el=16,tl=2,nl=8;function Wt(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function qt(e,t,n){let r=e.registry(),o=t===void 0?void 0:new Set(t.map(i=>r.require(i).kind));for(let i of e.edges()){if(i.source===i.target)continue;let s=r.require(i.kind);o!==void 0&&!(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))||n(i,s)}}function rl(e,t){let n=new Map;qt(e,t,r=>{Li(n,r.source,r.target),Li(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Li(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function ol(e,t){let n=new Map;for(let i of e){let s=t.get(i);n.set(s,(n.get(s)??0)+1)}let r,o=0;for(let[i,s]of n)(s>o||s===o&&i<r)&&(r=i,o=s);return r}function il(e,t){let n=new Map;for(let[o,i]of e){let s=n.get(i);s===void 0?n.set(i,[o]):s.push(o)}let r=[];for(let o of n.values())o.length<t||(o.sort(),r.push({representative:o[0],size:o.length,members:o}));return r.sort((o,i)=>i.size-o.size||o.representative.localeCompare(i.representative))}function Fi(e,t={}){let n=t.maxIterations??el,r=t.minSize??tl;Wt("maxIterations",n),Wt("minSize",r);let o=rl(e,t.kinds),i=e.nodes(),s=new Map(i.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 i){d+=1;let f=o.get(u);if(f===void 0)continue;l+=f.length;let m=ol(f,s);m!==s.get(u)&&(s.set(u,m),c=!1)}}return{value:{communities:il(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:l,truncated:!c}}}function Vt(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Yt(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function Wn(e,t){return(t.hierarchy?Kt(e,t):e.source===Je(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function sl(e,t){if(t===void 0)return;let n=e.registry(),r=new Set;for(let o of t){let i=n.require(o);if(!Vt(i))throw new TypeError(`Relationship kind ${i.kind} is not a directed ordering or hierarchy kind`);r.add(Yt(i))}return r}function al(e,t){let n=e.registry(),r=new Map;for(let o of e.edges()){let i=n.require(o.kind);if(!Vt(i))continue;let s=Yt(i);if(t!==void 0&&!t.has(s))continue;let a=Wn(o,i);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:o})}return r}function cl(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function dl(e,t,n,r){let o=[r];for(let i=n;i!==t;i=e.get(i))o.push(i);return o.push(t),o.reverse()}function ll(e,t,n,r,o,i){for(let s of e.get(n.id)??[])if(i.inspectedEdges+=1,!(n.depth===0&&s===t.to)&&!r.has(s)){if(r.set(s,n.id),s===t.to)return dl(r,t.from,n.id,s);o.push({id:s,depth:n.depth+1})}}function ul(e,t,n,r){let o=new Map([[t.from,t.from]]),i=[{id:t.from,depth:0}];for(let s=0;s<i.length;s+=1){let a=i[s];if(r.visitedNodes+=1,a.depth>=n)continue;let c=ll(e,t,a,o,i,r);if(c!==void 0)return c}}function Ne(e,t={}){let n=t.maxDepth??nl;Wt("maxDepth",n),t.limit!==void 0&&Wt("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,o=sl(e,t.kinds),i=al(e,o),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...i.keys()].sort()){let l=i.get(d),u=cl(l);for(let f of l.records){t.signal?.throwIfAborted();let m=ul(u,f,n,a);if(m!==void 0){if(s.length>=r){c=!0;break e}s.push({edge:f.edge,witness:m})}}}return{value:s,meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:c}}}function fl(e,t,n,r,o){let i=new Set,s=[];for(let a of n){if(a.id===e||i.has(a.id))continue;if(!o.seen.has(a.id)){if(t>=r){o.truncated=!0;continue}o.seen.add(a.id),o.queue.push({id:a.id,depth:t+1})}i.add(a.id),s.push(a.id);let c=o.predecessors.get(a.id);c===void 0&&(c=new Set,o.predecessors.set(a.id,c)),c.add(e)}return s}function pl(e,t,n){let r=n.direction??"outgoing",o=n.maxDepth??Number.POSITIVE_INFINITY,i=[],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];i.push(l);let f=e.neighborEdges(l,{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});c+=f.meta.inspectedEdges,s.set(l,fl(l,u,f.value,o,a))}return{order:i,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function ml(e,t){let n=[],r=new Set([t]),o=[{id:t,index:0}];for(;o.length>0;){let i=o.at(-1),s=e.successors.get(i.id);if(i.index<s.length){let a=s[i.index];i.index+=1,r.has(a)||(r.add(a),o.push({id:a,index:0}))}else n.push(i.id),o.pop()}return n.reverse()}function gl(e,t,n,r){let o=e,i=t;for(;o!==i;){for(;r.get(o)>r.get(i);)o=n.get(o);for(;r.get(i)>r.get(o);)i=n.get(i)}return o}function hl(e,t,n){let r;for(let o of[...e].sort())t.has(o)&&(r=r===void 0?o:gl(r,o,t,n));return r}function yl(e,t,n,r,o){let i=new Map([[t,t]]),s=!0;for(;s;){s=!1;for(let a of n){if(o?.throwIfAborted(),a===t)continue;let c=hl(e.predecessors.get(a),i,r);c!==void 0&&i.get(a)!==c&&(i.set(a,c),s=!0)}}return i}function Mi(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=pl(e,t,n),o=ml(r,t),i=new Map(o.map((d,l)=>[d,l])),s=yl(r,t,o,i,n.signal),a=new Map(o.map(d=>[d,1]));for(let d=o.length-1;d>=0;d-=1){let l=o[d];if(l===t)continue;let u=s.get(l);a.set(u,a.get(u)+a.get(l))}let c=o.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]="348c9246-2fb9-529e-b627-f60c901a6cf2")}catch{}})();function Ni(e){return Math.round(e*1e6)/1e6}function Oi(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function $i(e,t){let n=new Map(e.nodes().map(o=>[o,new Set]));qt(e,t,o=>{n.get(o.source).add(o.target),n.get(o.target).add(o.source)});let r=new Map;for(let[o,i]of n)r.set(o,[...i].sort());return r}function _l(e,t){let n=new Map,r=new Map;return qt(e,t,(o,i)=>{if(!i.ordering)return;let{predecessor:s,successor:a}=Ht(o,i);Oi(r,s,a),Oi(n,a,s)}),{incoming:n,outgoing:r}}function bl(e,t,n){let r=new Map([[e,0]]),o=new Map([[e,1]]),i=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 m of t.get(u))if(n.inspectedEdges+=1,r.has(m)||(r.set(m,f+1),a.push(m)),r.get(m)===f+1){o.set(m,(o.get(m)??0)+o.get(u));let p=i.get(m);p===void 0?i.set(m,[u]):p.push(u)}}return{stack:s,sigma:o,predecessors:i,reachableCount:c,distanceSum:d}}function wl(e,t,n){let r=new Map;for(let o=e.stack.length-1;o>=0;o-=1){let i=e.stack[o],s=(1+(r.get(i)??0))/e.sigma.get(i);for(let a of e.predecessors.get(i)??[])r.set(a,(r.get(a)??0)+e.sigma.get(a)*s);i!==t&&n.set(i,(n.get(i)??0)+(r.get(i)??0))}}function kl(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function vl(e,t,n,r,o){return{id:e,degree:t.get(e).length,inDegree:n.incoming.get(e)?.size??0,outDegree:n.outgoing.get(e)?.size??0,betweenness:Ni((r.get(e)??0)/2),closeness:Ni(o.get(e))}}function Pi(e,t={}){let n=$i(e,t.kinds),r=_l(e,t.kinds),o=e.nodes(),i=new Map,s=new Map,a={visitedNodes:0,inspectedEdges:0};for(let l of o){t.signal?.throwIfAborted();let u=bl(l,n,a);s.set(l,kl(u,o.length)),wl(u,l,i)}let c=0;for(let l of n.values())c+=l.length;let d=o.map(l=>vl(l,n,r,i,s)).sort((l,u)=>u.betweenness-l.betweenness||u.degree-l.degree||l.id.localeCompare(u.id));return{value:{nodeCount:o.length,edgeCount:c/2,rows:d},meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:!1}}}function El(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function Il(e,t,n){let o=t.get(e.node)[e.neighborIndex];if(e.neighborIndex+=1,n.inspectedEdges+=1,o!==e.parent){if(n.discovery.has(o)){n.low.set(e.node,Math.min(n.low.get(e.node),n.discovery.get(o)));return}return e.children+=1,n.discovery.set(o,n.timer),n.low.set(o,n.timer),n.timer+=1,{node:o,parent:e.node,neighborIndex:0,children:0}}}function xl(e,t,n){if(e.parent===null){e.children>1&&n.articulation.add(e.node);return}let r=e.parent,o=n.low.get(e.node);n.low.set(r,Math.min(n.low.get(r),o)),r!==t&&o>=n.discovery.get(r)&&n.articulation.add(r),o>n.discovery.get(r)&&n.bridges.push(El(r,e.node))}function Cl(e,t,n,r){n.discovery.set(e,n.timer),n.low.set(e,n.timer),n.timer+=1;let o=[{node:e,parent:null,neighborIndex:0,children:0}];for(;o.length>0;){r?.throwIfAborted();let i=o.at(-1);if(i.neighborIndex<t.get(i.node).length){let s=Il(i,t,n);s!==void 0&&o.push(s)}else xl(i,e,n),o.pop()}}function Xt(e,t={}){let n=$i(e,t.kinds),r={discovery:new Map,low:new Map,timer:0,articulation:new Set,bridges:[],inspectedEdges:0};for(let o of e.nodes())r.discovery.has(o)||Cl(o,n,r,t.signal);return{value:{articulationPoints:[...r.articulation].sort(),bridges:r.bridges.sort((o,i)=>o.source.localeCompare(i.source)||o.target.localeCompare(i.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]="f155ac72-64eb-5316-b016-954abd48c0e7")}catch{}})();function Sl(e){let t=e.registry(),n=new Map,r=new Set;for(let o of e.edges()){let i=t.require(o.kind);if(!i.ordering)continue;let{predecessor:s,successor:a}=Ht(o,i);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 Tl(e,t,n,r){if(e===void 0)return r;let o=r;for(let i of e)t.has(i)&&(o=Math.min(o,n.get(i)));return o}function Dl(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 Rl(e,t,n,r,o){let i=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=Tl(t.forward.get(a),r,i,o);i.set(a,c-1)}return e.map(s=>Dl(s,n[s],i.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function ji(e,t={}){t.signal?.throwIfAborted();let n=Rt(e,{registry:e.registry()}),r=Sl(e),o=new Set(n.order),i=n.order.filter(d=>r.participants.has(d)),s=i.reduce((d,l)=>Math.max(d,n.depth[l]+1),0),a=Rl(i,r,n.depth,o,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]="a8bc0ebd-e5e4-57f3-8e6c-417f9809eb72")}catch{}})();var Oe=["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]="27de9c62-434c-566d-a000-54eddb9a16a9")}catch{}})();var Al=25,Ll="milestone",Fl="outcome milestone:",Ml=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Xn(e){return Ml.has(e)}var Ui={error:0,warning:1,info:2};function Bi(e){return new Set((e??[]).filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()))}function $e(e,t,n,r,o,i,s,a){let c=[...o].sort((d,l)=>d.localeCompare(l));return{code:e,severity:t,policy:n,message:r(c.length),count:c.length,sample:c.slice(0,i),sample_truncated:c.length>i,remediation:s,...a===void 0?{}:{evidence:[...a].sort((d,l)=>d.localeCompare(l)).slice(0,i)}}}function Nl(e,t){return e.cycles.map(n=>$e(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 Gi(e,t,n){let r=e.cardinality_violations.filter(o=>o.legacy_terminal===n);return r.length===0?[]:[$e(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.",o=>`${o} child item${o===1?"":"s"} resolve to multiple hierarchy parents.`,r.map(o=>o.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(o=>`${o.child_id} <- ${o.parent_ids.join(", ")}`))]}function Ki(e,t,n){let r=e.divergences.filter(o=>o.legacy_terminal===n);return r.length===0?[]:[$e(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.",o=>`${o} child item${o===1?"":"s"} have divergent hierarchy storage surfaces.`,r.map(o=>o.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(o=>`${o.child_id}: scalar=${o.scalar_parent_id} dependencies=${o.dependency_parent_ids.join(",")}`))]}function Ol(e,t){let n=Pt(e);return n?[...Nl(n,t),...Gi(n,t,!1),...Gi(n,t,!0),...Ki(n,t,!1),...Ki(n,t,!0)]:[]}function $l(e){let t=e.graph.registry(),n=new Map;for(let r of e.graph.edges()){let o=t.require(r.kind);if(!o.ordering)continue;let[i,s]=(o.precedence??"source_before_target")==="target_before_source"?[r.target,r.source]:[r.source,r.target],a=n.get(i);a?a.push(s):n.set(i,[s])}for(let r of n.values())r.sort((o,i)=>o.localeCompare(i));return n}function zi(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 Pl(e,t,n,r){let o=n.get(e.node)??[];if(e.neighborIndex>=o.length)return!1;let i=o[e.neighborIndex];return e.neighborIndex+=1,r.indexes.has(i)?r.onStack.has(i)&&r.lowLinks.set(e.node,Math.min(r.lowLinks.get(e.node),r.indexes.get(i))):(zi(i,r),t.push({node:i,neighborIndex:0})),!0}function jl(e,t,n,r){t.pop();let o=t.at(-1);if(o&&r.lowLinks.set(o.node,Math.min(r.lowLinks.get(o.node),r.lowLinks.get(e.node))),r.lowLinks.get(e.node)!==r.indexes.get(e.node))return;let i=[];for(;;){let s=r.stack.pop();if(r.onStack.delete(s),i.push(s),s===e.node)break}(i.length>1||i.length===1&&n.get(i[0])?.includes(i[0]))&&r.components.push(i.sort((s,a)=>s.localeCompare(a)))}function Ul(e){let t={indexes:new Map,lowLinks:new Map,onStack:new Set,stack:[],components:[],nextIndex:0},n=[...e.keys()].sort((r,o)=>r.localeCompare(o));for(let r of n){if(t.indexes.has(r))continue;let o=[{node:r,neighborIndex:0}];for(zi(r,t);o.length>0;){let i=o.at(-1);Pl(i,o,e,t)||jl(i,o,e,t)}}return t.components.sort((r,o)=>r[0].localeCompare(o[0]))}function qn(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function z(e,t,n,r,o,i,s,a){t.length!==0&&e.push($e(r,o,i,s,t,n,a))}function Bl(e,t,n){let r=[],o=[...e.dangling.active,...e.dangling.legacy_terminal].filter(i=>!i.no_active_blocker_sentinel);return z(r,o.filter(i=>!t(i.holder_status)).map(qn),n,"missing_reference_active","error","Active items must not reference absent targets; missing prerequisites distort scheduling.",i=>`${i} active dangling reference(s) to absent items`,"Restore or re-create the referenced item, or remove/retype the reference on the holder."),z(r,o.filter(i=>t(i.holder_status)).map(qn),n,"missing_reference_terminal","info","Terminal items may retain historical references, but absent targets remain unexplainable context.",i=>`${i} 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(qn),n,"legacy_no_blocker_sentinel","info","The pre-structured-dependency no-active-blocker sentinel is retired; real edges carry blocker state.",i=>`${i} legacy no-active-blocker sentinel reference(s)`,"Delete the sentinel reference; blocker state is derived from blocked_by edges."),r}function Yn(e,t){let n=t.get(e);return n?!n.terminal:!0}function Wi(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function Gl(e,t){let n=[],r=[];for(let i of e.orderingContradictions??[])(i.legacy_terminal?r:n).push(Wi(i));let o=[];return z(o,n,t,"ordering_storage_contradiction","error","A scalar blocker and same-target structured ordering row must not assert opposite precedence.",i=>`${i} 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(o,r,t,"legacy_ordering_storage_contradiction","info","Terminal scalar-versus-structured ordering contradictions are exact historical storage defects with no live scheduling effect.",i=>`${i} 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."),o}function Kl(e,t,n,r){let o=[],i=$l(e);for(let c of Ul(i)){let d=c.some(f=>Yn(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(Wi);o.push(d?$e("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):$e("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 i)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(o,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.'),o}function Jt(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function Jn(e){let t=e.graph.registry(),n=new Map;for(let o of e.graph.edges()){let i=t.require(o.kind);if(!Vt(i))continue;let s=Wn(o,i);if(s.from===s.to)continue;let a=`${Yt(i)}::${s.from}::${s.to}`,c=n.get(a);c?c.edges.push(o):n.set(a,{...s,edges:[o]})}let r=[...n.values()].filter(o=>o.edges.length>=2);for(let o of r)o.edges.sort((i,s)=>i.kind.localeCompare(s.kind));return r.sort((o,i)=>o.from.localeCompare(i.from)||o.to.localeCompare(i.to))}function Hl(e,t,n){let r=[],o=[];for(let s of Jn(e))(Yn(s.from,t)||Yn(s.to,t)?r:o).push(Jt(s));let i=[];return z(i,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(i,o,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."),i}function zl(e,t){let n=[],r=[];for(let i of e.duplicateRows??[])(i.legacy_terminal?r:n).push(`${i.holder_id} -> ${i.target_id} (${i.kind} x${i.occurrences})`);let o=[];return z(o,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.",i=>`${i} 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(o,r,t,"legacy_duplicate_dependency_row","info","Identical repeated dependency rows on terminal holders are historical storage noise with no scheduling effect.",i=>`${i} 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."),o}function Wl(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 o={source_to_target:r.source_to_target.join(","),target_to_source:r.target_to_source.join(","),both:r.both.join(",")},i=(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")&&i(s.source,s.target),(a.outcomeTraversal==="target_to_source"||a.outcomeTraversal==="both")&&i(s.target,s.source)}return{basis:o,reverse:n}}function ql(e,t,n){let r=new Set(e),o=[...e].sort();for(let i=0;i<o.length;i+=1){n?.throwIfAborted();for(let s of[...t.get(o[i])??[]].sort())r.has(s)||(r.add(s),o.push(s))}return r}function Vl(e,t,n,r){let o=0,i=0,s=0,a=0;for(let m of e.values())if(r?.throwIfAborted(),!t.has(m.id)&&!(m.missing||m.status==="external")){if(m.terminal){s+=1,n.has(m.id)&&(a+=1);continue}n.has(m.id)?o+=1:i+=1}let c=o+i,d=s-a,l=o+a,u=i+d,f=l+u;return{active_outcome_reachable_nodes:o,active_outcome_unreachable_nodes:i,active_outcome_reachability_basis_points:c===0?0:Math.floor(o*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 Yl(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===Ll&&a.title.trim().toLowerCase().startsWith(Fl)).map(a=>a.id)),{basis:o,reverse:i}=Wl(e,n),s=ql(r,i,n);return{outcome_nodes:r.size,outcome_reachability_basis:o,...Vl(t,r,s,n)}}function Xl(e,t,n,r,o){e.active+=1;let i=t.type??"(untyped)",s=e.byType.get(i);s||(s={active:0,isolated:0,degree_leq_one:0},e.byType.set(i,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())||o.has(i.toLowerCase()))&&(n===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function Jl(e,t,n,r,o,i,s){let a={active:0,missing:0,isolated:0,degreeLeqOne:0,isolates:[],sparse:[],byType:new Map};for(let _ of e.graph.nodes()){s?.throwIfAborted();let w=t.get(_);if(w){if(w.missing){a.missing+=1;continue}w.terminal||Xl(a,w,e.graph.incidentEdges(_).length,n,r)}}let{isolates:c,sparse:d}=a,l=[];z(l,c,o,"isolated_active_node","warning","Active work should be reachable from the graph unless explicitly declared a valid isolate.",_=>`${_} 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,o,"sparse_active_node","info","Active items with a single edge often miss an honest semantic partner; sparse is not automatically defective.",_=>`${_} 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=Ne(e.graph,{signal:s}).value,m=new Set(f.map(({edge:_})=>`${_.source.toLowerCase()}\0${_.target.toLowerCase()}\0${_.kind}`));for(let _ of e.orderingContradictions??[])m.add(`${_.holder_id.toLowerCase()}\0${_.target_id.toLowerCase()}\0${_.dependency_kind}`);let p=Object.fromEntries(Object.entries(i).sort(([_],[w])=>_.localeCompare(w))),g=Object.entries(p).reduce((_,[w,E])=>_+(Xn(w)?E:0),0),k=Xt(e.graph,{signal:s}).value,b=Yl(e,t,s);return{findings:l,profile:{nodes:e.graph.nodes().length,recorded_nodes:e.details.filter(_=>_.status!=="missing"&&_.status!=="external").length,edges:u,informative_edges:u-m.size,redundant_edges:f.length,ordering_contradiction_edges:e.orderingContradictions?.length??0,edge_basis:"deduplicated_directed",edges_by_kind:p,edge_share_by_kind:Object.fromEntries(Object.entries(p).map(([_,w])=>[_,w/u])),semantic_edges:g,semantic_edge_share:u===0?0:g/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(([_],[w])=>_<w?-1:1)),articulation_points:k.articulationPoints.length,bridge_edges:k.bridges.length,...b,finding_subjects_by_code:Object.fromEntries(Oe.map(_=>[_,0]))}}}function Qt(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),o=t.maxSampleSize??Al;if(!Number.isInteger(o)||o<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let i=Bi(t.exemptIsolates),s=Bi(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=Bl(e,n,o);d.push(...Ol(e,o)),t.signal?.throwIfAborted(),d.push(...Gl(e,o)),t.signal?.throwIfAborted(),d.push(...Kl(e,a,r,o)),t.signal?.throwIfAborted(),d.push(...Hl(e,a,o),...zl(e,o)),t.signal?.throwIfAborted();let l=Jl(e,a,i,s,o,c,t.signal);d.push(...l.findings),d.sort((f,m)=>Ui[f.severity]-Ui[m.severity]||f.code.localeCompare(m.code)||f.sample[0].localeCompare(m.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,finding_subjects_by_code:u}}}function Vn(e,t){let n=[...new Set([...Object.keys(e),...Object.keys(t)])].sort(),r={};for(let o of n){let i=(t[o]??0)-(e[o]??0);i!==0&&(r[o]=i)}return r}function Hi(e){return e.profile.coverage_by_type??{}}function Ql(e,t){let n={},r=Hi(e),o=Hi(t),i=[...new Set([...Object.keys(r),...Object.keys(o)])].sort();for(let s of i){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},o[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 qi(e,t){let n=Ql(e,t),{edge_share_by_kind:r={},semantic_edges:o=0,semantic_edge_share:i=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,m=e.profile.redundant_edges??0,p=t.profile.redundant_edges??0,g=e.profile.ordering_contradiction_edges??0,k=t.profile.ordering_contradiction_edges??0;return{baseline_saved_at:e.saved_at,same_snapshot:e.fingerprint===t.fingerprint,affected_subjects_by_code:Vn(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:p-m,ordering_contradiction_edges:k-g,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:Vn(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:Vn(r,s),semantic_edges:a-o,semantic_edge_share:c-i,coverage_by_type:n}}}import Vi 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]="9e4aa41d-fca4-5e55-ab2b-d99f06d90ae2")}catch{}})();var Yi=1,Qn=500,Zl=64,eu="graph-durable-cache";function Xi(e){return yt(e,eu,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Ze(e){return Vi.join(e,"runtime","graph-cache.json")}function Ji(e){return Vi.join(e,"runtime","graph-audit-baseline.json")}function Zn(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==Yi||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 er(e,t){let n=await ie(Ze(e)),r=Zn(n),o=r?.fingerprint===t;return{exists:n!==null,fresh:o,results:o?r.results:{}}}async function tr(e,t,n,r,o){let i=await Xi(e);try{let s=Zn(await ie(Ze(e))),a=s?.fingerprint===t?s.results:{};delete a[r],a[r]=o;let c=Object.keys(a);for(let d of c.slice(0,Math.max(0,c.length-Zl)))delete a[d];await G(Ze(e),JSON.stringify({version:Yi,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await i()}}async function nr(e){let t=await Xi(e);try{await qr(Ze(e))}finally{await t()}}async function Qi(e,t){let n=Ze(e),r=await ie(n),o=Zn(r);return o===void 0?{exists:r!==null,fresh:!1,entry_count:0}:{exists:!0,fresh:o.fingerprint===t,entry_count:Object.keys(o.results).length,fingerprint:o.fingerprint.slice(0,12),saved_at:o.saved_at,bytes:Buffer.byteLength(r,"utf8")}}function rr(e,t){return t||e>=Qn}function Zt(e){return Pe(e)&&Object.values(e).every(he)}function Pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function he(e){return Number.isInteger(e)&&Number(e)>=0}function Zi(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Qe(e,t){return e===void 0||t(e)}function tu(e){return Pe(e)&&Object.values(e).every(Zi)}function nu(e){return Pe(e)?Object.values(e).every(t=>Pe(t)&&[t.active,t.isolated,t.degree_leq_one].every(he)):!1}function ru(e,t,n){let r=["recorded_nodes","informative_edges","redundant_edges","ordering_contradiction_edges"],o=r.filter(s=>e[s]!==void 0).length;if(o!==0&&o!==r.length||!r.every(s=>Qe(e[s],he)))return;let i={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 i.recorded_nodes<=t&&i.informative_edges<=n&&i.redundant_edges<=n&&i.ordering_contradiction_edges<=n?i:void 0}function ou(e,t,n){let r=[...t,...n,"finding_subjects_by_code"],o=r.filter(i=>e[i]!==void 0).length;return o!==0&&o!==r.length?!1:t.every(i=>Qe(e[i],he))&&n.every(i=>Qe(e[i],he)&&(e[i]===void 0||Number(e[i])<=1e4))&&Qe(e.finding_subjects_by_code,Zt)}function iu(e,t,n,r){let o=ru(e,n,r);if(o===void 0)return;let i=["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(!ou(e,i,s)||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed")return;let a=Zt(e.finding_subjects_by_code)?e.finding_subjects_by_code:{};return{edge_basis:"deduplicated_directed",...o,...Object.fromEntries(i.map(c=>[c,e[c]??0])),...Object.fromEntries(s.map(c=>[c,e[c]??0])),finding_subjects_by_code:Object.fromEntries(Oe.map(c=>[c,a[c]??t[c]??0]))}}function su(e,t,n,r,o){let i=[n,r,o],s=i.filter(d=>d!==void 0).length;if(s===0)return{edge_share_by_kind:{},semantic_edges:0,semantic_edge_share:0};if(s!==i.length||!tu(n)||!he(r)||!Zi(o))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+(Xn(l)?u:0),0);if(!(r!==c||o!==(e===0?0:c/e)))return{edge_share_by_kind:n,semantic_edges:r,semantic_edge_share:o}}function au(e){if(e!==null)try{let t=JSON.parse(e);if(!Pe(t))return;let n=t,r=n.profile;if(typeof n.saved_at!="string"||typeof n.fingerprint!="string")return;let o=n.affected_subjects_by_code;if(!Zt(o)||!Pe(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(he)||!Zt(r.edges_by_kind)||!Qe(r.coverage_by_type,nu))return;let i=su(r.edges,r.edges_by_kind,r.edge_share_by_kind,r.semantic_edges,r.semantic_edge_share);if(i===void 0)return;let s=iu(r,o,r.nodes,r.edges);if(s===void 0)return;let{coverage_by_type:a={}}=r;return{...n,profile:{...r,...i,...s,coverage_by_type:a}}}catch{return}}async function es(e){return au(await ie(Ji(e)))}async function ts(e,t){await G(Ji(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]="7054952e-444a-5be2-b0c1-fcc3b72afde5")}catch{}})();var cu={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 ns(e){return`${e.source} -${e.kind}-> ${e.target}`}function du(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:ns(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: ${ns(t)}`,`group: ${Jt(e)}`],confidence:"high"}))}function lu(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>du(t.get(r)));let n=cu[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 rs(e,t={}){let{redundancyLimit:n,...r}=t,o=Qt(e,r),i=new Map(Jn(e).map(d=>[Jt(d),d])),s=o.findings.flatMap(d=>lu(d,i)),a=o.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=Ne(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:o,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]="8797dddf-3643-554b-ba7f-4c513535c154")}catch{}})();var as=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]),me=10;function os(e,t,n){return{...e,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 is(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function uu(e,t,n){let r=e.trim().toLowerCase();if(!En.includes(r))throw Qr({command_path:"graph",token:r||"<empty>",allowed:En});let o=r;if(as.has(o)&&!t?.trim())throw new y(`graph ${o} requires an item id.`,h.USAGE);if(o==="paths"&&!n?.trim())throw new y("graph paths requires a source and a target item id.",h.USAGE);return o}function or(e){throw e instanceof TypeError?new y(e.message,h.USAGE):e}function ir(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function ss(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 y(`Item ${t} not found`,h.NOT_FOUND)}function fu(e,t,n){let r={ancestors:Si,descendants:Ti,predecessors:Di,successors:Ri}[e],o;try{o=r(n.assembly.graph,t,{...n.kinds===void 0?{}:{kinds:n.kinds},...n.maxDepth===void 0?{}:{maxDepth:n.maxDepth},...n.limit===void 0?{}:{limit:n.limit},...n.after===void 0?{}:{after:n.after}})}catch(s){or(s)}let i=ir(o.meta);return{subcommand:e,root:t,count:o.value.length,...i,...o.meta.nextCursor===void 0?{}:{next_cursor:o.meta.nextCursor},...n.summary?{}:{ids:o.value}}}function pu(e,t,n){let r=Ai(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,...ir(r.meta),...n.summary?{}:{paths:r.value.map(o=>({nodes:o.nodes,kinds:o.edges.map(i=>i.kind),length:o.length}))}}}function mu(e,t){let n;try{n=Dt(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??me},...t.after===void 0?{}:{after:t.after}})}catch(r){or(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 gu(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 hu(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 yu(e,t,n){let r=0,o=0,i=0;for(let s of e.cycles)r+=Number(s.legacy_terminal);for(let s of e.cardinality_violations)o+=Number(s.legacy_terminal);for(let s of e.divergences)i+=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-o,legacy_cardinality_violation_count:o,parent_divergence_count:e.divergences.length,active_parent_divergence_count:e.divergences.length-i,legacy_parent_divergence_count:i,...t?{}:{cycles:e.cycles.slice(0,n).map(s=>s.item_ids)}}}function _u(e){let t=e.assembly.graph,n=e.limit??me,r=Rt(t,{registry:t.registry()}),o=ii(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:gu(r,e.summary,n),knowledge:hu(o,e.summary,n),hierarchy:yu(Pt(e.assembly),e.summary,n)}}function bu(e,t){let n=Qt(e.assembly,{isTerminal:t,...e.sample===void 0?{}:{maxSampleSize:e.sample},...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),r={},o={},i={},s={};for(let d of n.findings)r[d.severity]=(r[d.severity]??0)+1,o[d.code]=(o[d.code]??0)+1,i[d.severity]=(i[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",finding_count:n.findings.length,findings_by_severity:r,findings_by_code:o,affected_subjects_by_severity:i,affected_subjects_by_code:s,profile:e.summary?c:n.profile,legacy_alias_counts:e.assembly.legacyAliasCounts,...e.summary?{}:{findings:n.findings}}}function wu(e){let t=e.limit??me,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Fi(e.assembly.graph,n),o=r.value;return{subcommand:"communities",community_count:o.communities.length,largest_community_size:o.communities[0]?.size??0,iterations:o.iterations,converged:o.converged,truncated:!o.converged||o.communities.length>t,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...e.summary?{}:{communities:o.communities.slice(0,t).map(i=>({representative:i.representative,size:i.size,members:i.members.slice(0,t)}))}}}function ku(e){let t;try{t=Ne(e.assembly.graph,{...e.kinds===void 0?{}:{kinds:e.kinds},...e.maxDepth===void 0?{}:{maxDepth:e.maxDepth},...e.limit===void 0?{}:{limit:e.limit}})}catch(n){or(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...ir(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 vu(e,t){let n=t.limit??me,r=Mi(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth}}),o=r.value.rows.filter(i=>i.dominatedCount>0);return{subcommand:"dominators",root:e,direction:t.direction,reachable_count:r.value.reachableCount,bottleneck_count:o.length,truncated:r.meta.truncated||o.length>n,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...t.summary?{}:{bottlenecks:o.slice(0,n).map(i=>({id:i.id,idom:i.idom,dominated_count:i.dominatedCount}))}}}function Eu(e){let t=e.limit??me,n=ji(e.assembly.graph),r=n.rows.filter(o=>o.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,rows:n.rows.slice(0,t).map(o=>({id:o.id,earliest_start:o.earliestStart,latest_start:o.latestStart,slack:o.slack,critical:o.critical}))}}}function Iu(e){let t=e.limit??me,n=Pi(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(o=>({id:o.id,degree:o.degree,in_degree:o.inDegree,out_degree:o.outDegree,betweenness:o.betweenness,closeness:o.closeness}))}}}function xu(e){let t=e.limit??me,n=Xt(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),{articulationPoints:r,bridges:o}=n.value;return{subcommand:"articulation",articulation_count:r.length,bridge_count:o.length,truncated:r.length>t||o.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{articulation_points:r.slice(0,t),bridges:o.slice(0,t)}}}function Cu(e,t){let n=e.limit??me,r=rs(e.assembly,{isTerminal:t,redundancyLimit:n,...e.sample===void 0?{}:{maxSampleSize:e.sample},...e.exemptIsolates.length===0?{}:{exemptIsolates:e.exemptIsolates},...e.exemptIsolateTypes.length===0?{}:{isolateExemptTypes:e.exemptIsolateTypes}}),o={},i={};for(let s of r.steps)o[s.op]=(o[s.op]??0)+1,i[s.code]=(i[s.code]??0)+1;return{subcommand:"plan",step_count:r.steps.length,steps_by_op:o,steps_by_code:i,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 cs(e,t,n,r){return JSON.stringify({subcommand:e,root:t??null,target:n??null,kinds:r.kinds??null,maxDepth:r.maxDepth??null,limit:r.limit??null,after:r.after??null,direction:r.direction,maxPaths:r.maxPaths??null,sample:r.sample??null,exemptIsolates:[...new Set(r.exemptIsolates.map(o=>o.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(r.exemptIsolateTypes.map(o=>o.toLowerCase()))].sort(),summary:r.summary,unbounded:r.unbounded})}function ds(e,t,n,r,o){return e==="analyze"?_u(r):e==="audit"?bu(r,o):e==="plan"?Cu(r,o):e==="communities"?wu(r):e==="redundancy"?ku(r):e==="dominators"?vu(t,r):e==="slack"?Eu(r):e==="centrality"?Iu(r):e==="articulation"?xu(r):e==="paths"?pu(t,n,r):e==="impact"?mu(t,r):fu(e,t,r)}function Su(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new y("--rebuild and --clear apply only to graph index.",h.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new y("--save-baseline applies only to graph audit.",h.USAGE);if(e==="slack"&&t.kind!==void 0)throw new y("graph slack analyzes every ordering kind; --kind is not supported.",h.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new y("graph index accepts either --rebuild or --clear, not both.",h.USAGE);if(e==="impact"&&t.full===!0&&t.limit!==void 0)throw new y("graph impact accepts either --full or --limit, not both.",h.USAGE)}async function Tu(e,t,n,r,o,i){let s="status";if(i.clear===!0&&(await nr(e),s="cleared"),i.rebuild===!0){await nr(e);let c=await er(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,unbounded:!1};for(let l of["analyze","audit"])await tr(e,t,c,cs(l,void 0,void 0,d),ds(l,void 0,void 0,d,o));s="rebuilt"}let a=await Qi(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:Qn,persist_enabled:rr(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 Du(e,t,n,r){let o={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(Oe.map(s=>[s,n.affected_subjects_by_code[s]??0]))}},i=await es(e);return r&&await ts(e,o),i===void 0?n:{...n,baseline:qi(i,o)}}async function Ru(e,t,n,r,o){try{await tr(e,t,n,r,o)}catch{}}async function rw(e,t,n,r,o){let i=uu(e,t,n);_t(r.summary===!0,r.full===!0,"--summary");let s=D(process.cwd(),o.path);await O(s);let a=await R(s),c=N(a,A()),d=await ee(s,a.item_format,c.type_to_folder,void 0,a.schema),l=K(a.schema),u=j=>L(j,l);Su(i,r);let f=P(),m=Hn(r.kind,f),p=Ut().lookup(s,jt(d,u,f),()=>Fe(d,u,f)),g={assembly:p.assembly,...m===void 0?{}:{kinds:m},maxDepth:Gt(r.maxDepth),limit:ne(r.limit,"limit"),after:r.after?.trim()||void 0,direction:Kn(r.direction),maxPaths:ne(r.maxPaths,"max-paths"),sample:ne(r.sample,"sample"),exemptIsolates:is(r.exemptIsolate),exemptIsolateTypes:is(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0};if(i==="index")return os(await Tu(s,p.fingerprint,g,d.length,u,r),!1);let k=as.has(i)?ss(g.assembly,t):void 0,b=i==="paths"?ss(g.assembly,n):void 0,_=cs(i,k,b,g),w=await er(s,p.fingerprint),E=w.results[_],x=p.memoize(_,()=>E!==void 0?structuredClone(E):ds(i,k,b,g,u)),F=rr(d.length,w.exists);!x.reused&&E===void 0&&F&&await Ru(s,p.fingerprint,w,_,x.value);let T=x.value.subcommand==="audit"?await Du(s,p.fingerprint,x.value,g.saveBaseline):x.value;return T.cache={fingerprint:p.fingerprint.slice(0,12),assembly:p.assemblyReused?"hit":"miss",result:x.reused?"hit":"miss",durable:E!==void 0?"hit":F?"miss":"off"},os(T,g.summary,"result_rows")}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0605f770-d868-5fe9-a186-45f00d2e93b4")}catch{}})();var ar="blocked_by",ls="blocks",Au=Object.freeze([ar,ls]),sr="no-active-blocker";function S(e){return e.trim().toLowerCase()}function en(e,t){return t?`external:${e}`:`local:${S(e)}`}function ye(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&S(n)!==sr){let r=ae(n);t.set(en(n,r),r?n:S(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===ar&&o.length>0&&S(o)!==sr){let i=ae(o)||te(r.source_kind);t.set(en(o,i),i?o:S(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function tn(e){let t=new Map;for(let n of e){let r=S(n.id);r.length!==0&&t.set(r,new Set(ye(n)))}for(let n of e){let r=S(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===ls&&typeof o.id=="string"?S(o.id):"";if(i.length===0||i===sr)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function us(e,t){let n=S(e.id);return n.length>0?tn(t).get(n)??ye(e):ye(e)}function cr(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(S(o.id))??us(o,[...t.values()]):ye(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===ar&&te(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>en(a.id.trim(),!0)));return i.map(a=>{if(ae(a)||s.has(en(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(S(a));return c?{id:a,title:c.title,status:c.status,resolved:L(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function nn(e,t,n){return cr(e,t,n)}function et(e,t){let n=new Map(e.map(s=>[S(s.id),s])),r=tn(e),o=new Set([...fs(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=C(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||cr(s,n,t,r).some(d=>!d.resolved))&&i.add(S(s.id))}return i}function fs(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Lu(e,t,n){let r=[S(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!L(s.status,n))return!0;r.push(S(s.id))}}}return!1}function Fu(e){let t=new Map,n=new Map,r=new Map,o=tn(e);for(let i of e){t.set(S(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=S(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(S(i.id))){let c=S(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function dr(e,t,n){let{itemsById:r,childrenByParent:o,blockedByReverse:i,blockerIdsByItem:s}=Fu(t),a=new Set([...fs(n),...n.blocked_statuses]),c=new Set(t.filter(m=>!L(m.status,n)).map(m=>S(m.id))),d=[],l=[],u=0,f=0;for(let m of e){if(!a.has(C(m.status,n)))continue;if(u+=1,Lu(m.id,o,n)){f+=1;continue}let p=cr(m,r,n,s).filter(_=>!_.resolved),g=(i.get(S(m.id))??[]).filter(_=>c.has(S(_))).sort((_,w)=>_.localeCompare(w)),k={item:m,open_blockers:p,unblocks:g},b=n.blocked_statuses.has(C(m.status,n));p.length===0&&!b?d.push(k):l.push(k)}return{ready:d,blocked:l,active_count:u,container_count:f}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cc271a73-9767-54bb-a142-d4d4569e3c6a")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1035bd62-b012-5249-bd53-31b39f21b2d3")}catch{}})();function lr(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 o=n.map(s=>s.trim());if(o.some(s=>s.length===0))throw new y(`${t.label} requires at least one non-empty value`,h.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function tt(e,t){let n=lr(e,t);return n===void 0?void 0:new Set(n)}function ps(e,t,n="--type"){let r=lr(e,{label:n});if(r===void 0)return;let o=r.map(i=>{let s=gt(i,t);if(!s)throw new y(`${n} filter token "${i}" must be one of ${t.types.join("|")}`,h.USAGE);return s});return new Set(o)}function ms(e,t="--priority"){let n=lr(e,{label:t});if(n!==void 0)return new Set(n.map(r=>At(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]="5bb71ec1-7eb1-558e-a965-acd779570c2e")}catch{}})();var ur=["id","title","status","type","priority","parent","updated_at"],fr=["id","status","type","title"],Mu={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"full","list-canceled":"full"},Nu=["tree_depth","tree_parent","tree_children","tree_title"];function pr(e=[]){return[...new Set([...yn,"body",...Nu,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var hw=["brief","standard","deep"],Ou=["body","linked","claim_state","children","schedule"],$u=["linked.files","linked.tests","linked.docs"],Pu=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],ju=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function yw(e=[]){return[...[...new Set([...yn,...e,"notes_count","tests_count","collection_counts"])].flatMap(n=>[n,`item.${n}`]),...Ou,...$u,...Pu,...ju].sort()}var _w=["id","title","status","type","priority","updated_at","score","matched_fields"],Uu=["score","matched_fields","highlights"],gs=["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"];function bw(e=[]){let t=[...new Set(e)];return[...Uu,...gs,...gs.map(n=>`item.${n}`),...t,...t.map(n=>`item.${n}`)].sort()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function hs(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function ws(e){return{isTerminal(t){return e.terminal_statuses.has(hs(t,e))},classify(t){let n=hs(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 mr(e){return $(e.acceptance_criteria)===void 0}function gr(e){return!Number.isFinite(e.estimated_minutes)}function ks(e,t){return t.isTerminal(e.status)?$(e.resolution)===void 0:!1}function Bu(e){return $(e.reviewer)===void 0}function Gu(e){return $(e.risk)===void 0}function Ku(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):$(e.confidence)===void 0}function Hu(e){return $(e.sprint)===void 0}function zu(e){return $(e.release)===void 0}function hr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Wu(e,t,n){return[[t.acMissing,mr(e)],[t.estimatesMissing,gr(e)],[t.resolutionMissing,ks(e,n)],[t.reviewerMissing,Bu(e)],[t.riskMissing,Gu(e)],[t.confidenceMissing,Ku(e)],[t.sprintMissing,Hu(e)],[t.releaseMissing,zu(e)]].every(([o,i])=>o!==!0||i)}function qu(e,t){return mr(e)||gr(e)||ks(e,t)}function vs(e,t,n){return hr(t)?!(!Wu(e,t,n)||t.metadataMissing&&!qu(e,n)):!0}var yr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Vu(e,t){switch(t){case"acceptance_criteria":return!mr(e);case"estimated_minutes":return!gr(e);case"resolution":return $(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return $(e.parent)!==void 0}}function Yu(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Xu(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ys(){let e={};for(let t of yr)e[t]={present:0,applicable:0,percent:100};return e}function _s(e,t,n){for(let r of yr){if(!Yu(t,r,n))continue;let o=e[r];o.applicable+=1,Vu(t,r)&&(o.present+=1)}}function bs(e){for(let t of yr){let n=e[t];n.percent=Xu(n.present,n.applicable)}}function vw(e,t){let n=ys(),r={};for(let o of e){_s(n,o,t);let i=r[o.type]??(r[o.type]=ys());_s(i,o,t)}bs(n);for(let o of Object.values(r))bs(o);return{overall:n,by_type:r}}var Ju={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Qu(e){return Ju[e]}function Zu(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function ef(e,t,n){switch(t){case"assignee":return[$(e.assignee)??null];case"parent":return[$(e.parent)??null];case"type":return[$(e.type)??null];case"status":return[$(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(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return i.length>0?i:[null]}}}function Ew(e,t,n,r={}){let o=new Map,i=0;for(let a of e){i+=1;let c=n.classify(a.status);for(let d of ef(a,t,r)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Qu(t),key:d,buckets:Zu(),total:0},o.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...o.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: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]="03824e4b-562b-5e12-a89a-9dd091ae7fd3")}catch{}})();var je=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function _e(e){return Array.isArray(e)&&e.length>0}function tf(e){return typeof e=="string"&&e.trim().length>0}function nf(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 Is(e,t){switch(t){case"notes":return _e(e.notes);case"learnings":return _e(e.learnings);case"files":return _e(e.files);case"docs":return _e(e.docs);case"tests":return _e(e.tests);case"comments":return _e(e.comments);case"deps":return _e(e.dependencies);case"body":return tf(e.body);case"linked_command":return nf(e.tests)}}function xs(e){return je.some(t=>e[t]!==void 0)}function Cs(e,t){for(let n of je){let r=t[n];if(r===void 0)continue;let o=Is(e,n);if(r==="present"&&!o||r==="absent"&&o)return!1}return!0}function Ss(e){return je.some(t=>t!=="body"&&e[t]!==void 0)}function Ts(e){return e.body!==void 0}function Es(e,t){return t===0?100:Math.round(e/t*1e3)/10}function rf(){let e={};for(let t of je)e[t]={present:0,total:0,percent:100};return e}function xw(e){let t=rf(),n=e.length;for(let s of e)for(let a of je)Is(s,a)&&(t[a].present+=1);for(let s of je)t[s].total=n,t[s].percent=Es(t[s].present,n);let r=t.body,o=n-r.present,i={present:o,total:n,percent:Es(o,n)};return{total_items:n,fields:t,body_populated:r,empty_body: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]="ccdb7d16-4f38-58d4-a19d-4ab1516cb1d7")}catch{}})();var of=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}),Ds=[{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"}],Ns=e=>{let t=Ds.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new y(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,h.USAGE);return Object.fromEntries(Ds.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Rs=["priority","deadline","updated_at","created_at","title","parent"],As=["asc","desc"],Os=new Set(Oo);function sf(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,o=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,i={status:t?"unchecked":r+o>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:o};if(n&&i.status==="partial")throw new y(`List source is incomplete: ${r} item document(s) and ${o} item directory/directories could not be read.`,h.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 i}function af(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var cf=[{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"}],df=[{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 $s(e,t){for(let n of cf)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Ps(e,t){for(let n of df)t[n.key]===!0&&(e[n.summaryKey]=!0)}function lf(e,t,n){for(let r of n){let o=t[r.optionKey];o!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(o):o)}}function uf(e){let t={};return $s(t,e),t}function ff(e){let t={};return Ps(t,e),t}var pf=[{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"}],mf=[{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"}],gf=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],hf="-7d";function yf(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:o,sortField:i,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),lf(c,n,pf),Us(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),Ps(c,n),$s(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,o!==void 0&&(c.tree_depth=o)),i!==void 0&&(c.sort=i,c.order=s),af(a)&&(c.runtime_filters=a),c}function js(e,t,n){let r=L(e.status,n),o=L(t.status,n);if(r!==o)return r?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=I(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function _f(e,t){return[...e].sort((n,r)=>js(n,r,t))}function Ls(e,t){if(e!==void 0)return se(e,new Date,t)}function nt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return se(n,new Date,t)}function bf(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new y("Choose only one updated_at window: --today, --recent, or --updated-after.",h.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?nt(hf,"recent"):nt(e.updatedAfter,"updated-after")}function Us(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function wf(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new y("--ids requires at least one non-empty item ID",h.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new y("--ids requires at least one non-empty item ID",h.USAGE);return new Set(n)}function Bs(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 y("Offset filter must be a non-negative integer",h.USAGE);return n}function kf(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 y("List --fields requires a comma-separated list of field names",h.USAGE);return[...new Set(t)]}function vf(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,o=e.full===!0,i=kf(e.fields);if(Number(n)+Number(r)+Number(o)+ +(i!==void 0)>1)throw new y("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",h.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...fr]}:n?{mode:"compact",fields:[...ur]}:i?{mode:"fields",fields:[...new Set(i.map(a=>be(a)))]}:{mode:"full",fields:[]}}function be(e){return e.startsWith("item.")?e.slice(5):e}function Ef(e,t,n){if(e.mode!=="fields")return;let r=pr(t),o=new Set(r.map(s=>be(s))),i=e.fields.filter(s=>!o.has(be(s)));if(i.length>0)throw new y(`Unknown list --fields value(s): ${i.join(", ")}`,h.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:`pm ${n} --fields id,title,status --limit 10`,suggested_retry_args:[n,"--fields","id,title,status","--limit","10"]}})}var If=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function xf(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=If.get(t);if(n)return n;if(!Rs.includes(t))throw new y(`Sort field must be one of ${Rs.join("|")} (aliases: updated->updated_at, created->created_at)`,h.USAGE);return t}function Cf(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!As.includes(t))throw new y(`Sort order must be one of ${As.join("|")}`,h.USAGE);return t}function Sf(e){return V(e,"--tree-depth")}function Tf(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new y("Assignee filter must be one of assigned|unassigned",h.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new y(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,h.USAGE);return t}function Fs(e,t){return Fo(e,t,{strict:!0})}function Gs(e){return tt(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Df(e,t,n){let r=Gs(t);if(r===void 0)return;let o=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),i=[...r].filter(s=>!o.has(s));i.length>0&&n.push(`unknown_tags:${i.join(",")}`)}function Rf(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new y('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',h.USAGE);if(e!==void 0&&t==="unassigned")throw new y("Cannot combine --assignee with --assignee-filter unassigned",h.USAGE)}function Af(e,t,n,r){let o=tt(t.assignee,{label:"--assignee"}),i=Tf(t.assigneeFilter);Rf(o,i);let s=of(t),a=Ns(t);return{idsFilter:wf(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:ps(t.type,n),tagFilters:Gs(t.tag),priorityFilter:ms(t.priority),deadlineBefore:Ls(t.deadlineBefore,"deadline-before"),deadlineAfter:Ls(t.deadlineAfter,"deadline-after"),updatedAfter:bf(t),updatedBefore:nt(t.updatedBefore,"updated-before"),createdAfter:nt(t.createdAfter,"created-after"),createdBefore:nt(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:tt(t.sprint,{label:"--sprint"}),releaseFilter:tt(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:hr(s),lifecycleClassifier:ws(r),contentFieldFilters:a,contentFiltersActive:xs(a)}}function Lf(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&L(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(o=>o.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Ff(e,t){return Xr(e,t)}function Mf(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 Nf(e,t,n){let r=e.parent?.trim().toLowerCase(),o=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!o.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 Of(e,t,n,r,o){return!(!Lf(e,t,n)||!Ff(e,t)||!Mf(e,t)||!Nf(e,t,o)||t.missingMetadataActive&&!vs(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Cs(e,t.contentFieldFilters)||!St(e,r))}function $f(e,t,n,r,o,i,s){let a=Af(t,n,r,o);return e.filter(c=>Of(c,a,o,i,s))}function rt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ms(e,t,n,r){let o=e,i=typeof o.title=="string"?o.title:"",s=r??rt(typeof o.parent=="string"?o.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${i}`}}function Pf(e,t){let n=new Map,r=new Map;for(let o of e){let i=o.id.trim().toLowerCase();n.set(i,o);let s=t?t.parents_by_child.get(i)??[]:[rt(o.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=r.get(a)??[];c.push(o),r.set(a,c)}}return{byId:n,childrenByParent:r}}function jf(e,t,n,r,o){return t?[...r.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[rt(i.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function Uf(e,t,n,r,o=e){let{byId:i,childrenByParent:s}=Pf(e,r),a=jf(e,t,i,s,r),c=[],d=new Set,l=new Map(o.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:m,parentId:p}=u.pop(),g=f.id.trim().toLowerCase();if(d.has(g))continue;d.add(g);let k=s.get(g)??[];if(c.push(Ms(f,m,k.length,p)),!(n!==void 0&&m>=n))for(let b of[...k].reverse())u.push({node:b,depth:m+1,parentId:l.get(g)})}if(t===void 0&&n===void 0)for(let f of e){let m=f.id.trim().toLowerCase();d.has(m)||(d.add(m),c.push(Ms(f,0,s.get(m)?.length??0)))}return c}function Bf(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Gf(e,t){return e===t?0:e===null?1:t===null?-1:I(e,t)}function Kf(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return Gf(e.deadline??null,t.deadline??null);case"updated_at":return I(e.updated_at,t.updated_at);case"created_at":return I(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return Bf(e.parent??null,t.parent??null);default:return 0}}function Hf(e,t,n,r){return t?[...e].sort((o,i)=>{let s=Kf(o,i,t);if(s!==0)return n==="desc"?-s:s;let a=js(o,i,r);return n==="desc"?-a:a}):_f(e,r)}function zf(e,t,n=!1){let r=be(t.trim());if(r.length===0)return null;let o=e;return n&&r==="title"&&typeof o.tree_title=="string"?o.tree_title:Object.prototype.hasOwnProperty.call(o,r)?o[r]??null:null}function Ks(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let o={};for(let i of t.fields)o[i]=zf(r,i,n);return o})}function Wf(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function qf(e,t){if(e.noTruncate!==!0)return V(e.limit)??(t>=1e4?20:void 0)}function Vf(e,t,n){return t.after===void 0?Bs(t.offset)??0:Se(e,t.after,n,r=>r.id)}function Hs(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function Yf(e,t){let n=D(process.cwd(),t.path);await O(n);let r=await R(n),o=K(r.schema),i=ht(r.schema),s=e.projectionCommand??"list",a=vf(e,s);return Ef(a,Wf(i.definitions),s),{pmRoot:n,settings:r,statusRegistry:o,runtimeFieldFilters:Ct(e,i,"list"),typeRegistry:N(r,A()),projection:a}}async function Xf(e,t,n){let r=t.projection.fields.some(c=>be(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Os.has(be(c))),i=Ns(e),s=Ss(i),a=Ts(i);return e.includeBody||r||a?await Uo(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):o||s?await jo(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await ee(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function Jf(e){let t=xf(e.sort),n=Cf(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new y("List --tree-depth requires --tree",h.USAGE);if(!t&&e.order!==void 0)throw new y("List --order requires --sort",h.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Sf(e.treeDepth):void 0,parentRoot:r?rt(e.parent):void 0}}function Qf(e,t,n){let r=Fs(t.status,n),o;t.lifecycleBucket==="in_progress"?o=[n.in_progress_status]:t.lifecycleBucket==="open"&&(o=[...n.active_statuses].filter(d=>d!==n.in_progress_status).sort((d,l)=>d.localeCompare(l)));let i=r??o??Fs(e,n),s=Lo(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:i!==void 0?c=i.length===1?i[0]:i:a.excludeTerminal===!0&&(c=null),{resolvedStatus:i,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:c}}function Zf(e,t,n,r,o){if(t.after!==void 0&&t.offset!==void 0)throw new y("List --after cannot be combined with --offset.",h.USAGE);let i=qf(t,e.length),s=Vf(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=Ks(a,n,r),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?Z(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Hs(i,l,u)}}function zs(e,t,n){return le("list",{status:e,options:bt(t,Bo),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function ep(e){let{options:t,runtime:n,statusSelection:r,ordering:o}=e,i=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 g=be(p);return g==="body"||Os.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,ro(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([p,g])=>g!==void 0&&!i.has(p))].includes(!0))return null;let c=await De(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!c)return null;let d=V(t.limit),l=Bs(t.offset)??0,u=await No({pmRoot:n.pmRoot,expectedSourceCursor:c.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:d,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,m=f?Z(zs(r.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:Ks(u.items,n.projection,!1),totalMatched:u.total,pageExtras:Hs(d,f,m)}}function tp(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:o,treeDepth:i,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 mf){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of gf)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,ff(n),uf(n)),Us(d,n),r&&(d.no_truncate=!0),n.strictRead===!0&&(d.strict_read=!0),o&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function ot(e,t,n){let r=await Yf(t,n),o=[],i=Jf(t),s=Qf(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await ep({options:t,runtime:r,statusSelection:s,ordering:i}),d=c;if(!d){let g=await Xf(t,r,o),b=i.treeEnabled||rt(t.parent)!==void 0?On(gi(g,P())):void 0;Df(g,t.tag,o);let _=$f(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,b?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let F=et(g,r.statusRegistry);return _.filter(T=>F.has(T.id.trim().toLowerCase()))})():_,E=Hf(w,i.sortField,i.sortOrder,r.statusRegistry),x=i.treeEnabled?Uf(E,i.parentRoot,i.treeDepth,b,g):E;d=Zf(x,t,r.projection,i.treeEnabled,zs(s.filtersStatus,t,i))}let l=B(),u=[...new Set(o)].sort((g,k)=>g.localeCompare(k)),f=sf(u,c!==null,t.strictRead===!0),m=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=yf({filtersStatus:s.filtersStatus,options:t,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:g,projection:{mode:"compact",fields:m},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:tp({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:m},sorting:{sort:i.sortField??"default",order:i.sortField?i.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}import{encode as np}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47de55f1-589f-5743-bcb8-3b7a6302dfbb")}catch{}})();var _r=["agenda","day","week","month"],br=["markdown","toon","json"],rp=["sun","mon","tue","wed","thu","fri","sat"],op=365,ip=365,Vs=28,sp=1e3;function wr(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new y(`${t} must be a non-negative integer`,h.USAGE);return n}function ap(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(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new y("Calendar include filter must not be empty",h.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new y("Calendar include filter must be deadlines|reminders|events|scheduled|all",h.USAGE)}return r}function Ys(e,t){let n;for(let r of t){let o=Jr(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function cp(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_r.includes(t)){let n=Ys(t,_r);throw new y(`Calendar view must be one of ${_r.join("|")}${n?`. Did you mean "${n}"?`:"."}`,h.USAGE)}return t}function dp(e){if(!e)return;let t=e.trim().toLowerCase();if(!br.includes(t)){let n=Ys(t,br);throw new y(`Calendar format must be one of ${br.join("|")}${n?`. Did you mean "${n}"?`:"."}`,h.USAGE)}return t}function ak(e,t){let n=dp(e.format);if(t.json&&n&&n!=="json")throw new y("Cannot combine --json with --format markdown|toon",h.USAGE);return t.json?"json":n??"markdown"}function lp(e,t){if(e===void 0)return;let n=H(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new y(`Calendar status filter must be one of ${r.join("|")}`,h.USAGE)}return n}function up(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new y("Calendar assignee filter must be one of assigned|unassigned",h.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new y(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,h.USAGE);return t}function rn(e){return new Date(e).toISOString().slice(0,10)}function Xs(e,t){if(!t||t==="UTC")return rn(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,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return rn(e)}function Ir(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function ce(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Js(e){let t=new Date(Ir(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return ce(t.toISOString(),r)}function fp(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function pp(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function mp(e,t){return I(e,t)>=0?e:t}function Ws(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function qs(e,t){e.set(t,(e.get(t)??0)+1)}function gp(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,o)=>Ee(r)-Ee(o));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,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Qs(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function Zs(e){return rp[new Date(e).getUTCDay()]}function hp(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function yp(e){let t=new Set;for(let n of e??[]){let r=hp(n);r&&t.add(r)}return t}function _p(e,t,n,r,o){let i=e??ce(n,-(r??ip)),s=t??ce(e??n,o??op);return{start:i,end:I(s,i)>0?s:ce(i,1)}}function bp(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[Zs(e)],i=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??sp,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:yp(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(o)].sort((s,a)=>Ee(s)-Ee(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function on(e,t){return I(t,e.startAt)<0?"continue":e.until&&I(t,e.until)>0||I(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,I(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function sn(e,t){let n=Zs(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function wp(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(sn(e,t)&&on(e,t)==="stop");n+=1)t=ce(t,e.interval);return e.occurrences}function kp(e,t,n){let r=Ee(n),o=ce(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function vp(e){let t=Js(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=ce(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=kp(e,r,o);if(sn(e,i)&&on(e,i)==="stop")return e.occurrences}}return e.occurrences}function Ep(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=Qs(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!sn(e,s))&&on(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ip(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=Qs(o,n,i,e.startDate);if(!(!s||!sn(e,s))&&on(e,s)==="stop")return e.occurrences}}return e.occurrences}function xp(e,t,n,r){let o=bp(e,t,n,r);return t.freq==="daily"?wp(o):t.freq==="weekly"?vp(o):t.freq==="monthly"?Ep(o):Ip(o)}function ea(e){return[...e].sort((t,n)=>{let r=I(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;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 xr(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 Cp(e){return e.deadline?{at:e.deadline,date:rn(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,...xr(e),item_deadline:e.deadline}:null}function Sp(e){return(e.reminders??[]).map(t=>({at:t.at,date:rn(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,...xr(e)}))}function Tp(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Dp(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Rp(e,t,n,r){let o=gp(t.recurrence),i=Tp(t.start_at,t.end_at);return(t.recurrence?xp(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Xs(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Dp(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...xr(e)}))}function Ap(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?Cp(i):null;s&&o.push(s),n.has("reminders")&&o.push(...Sp(i));for(let a of n.has("events")?i.events??[]:[])o.push(...Rp(i,a,t,r))}return ea(o)}function Lp(e,t,n,r,o){let i=si(t.type,n),s=t.tag?.trim().toLowerCase(),a=At(t.priority),c=lp(t.status,r),d=t.assignee?.trim(),l=up(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new y('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',h.USAGE);if(d!==void 0&&l==="unassigned")throw new y("Cannot combine --assignee with --assignee-filter unassigned",h.USAGE);return e.filter(m=>Fp(m,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function Fp(e,t){return Mp(e,t)&&Np(e,t)&&St(e,t.runtimeFieldFilters)}function Mp(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 Np(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 Op(e,t,n){return!(t&&I(e.at,t)<0||n&&I(e.at,n)>=0)}function kr(e,t,n){return e.trim().toLowerCase()==="today"?Ir(t):se(e,new Date(t),n)}function $p(e,t,n){let r=t.date?kr(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?kr(t.from,n,"--from"):void 0,a=t.to?kr(t.to,n,"--to"):void 0;if(s&&a&&I(s,a)>=0)throw new y("Calendar --from must be before --to",h.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new y("--from and --to are only supported for --view agenda",h.USAGE);if(e==="agenda")return Pp(r,t,n,o,i,s,a);if(e==="day"){let d=Ir(r);return vr(r,n,o,i,d,ce(d,1))}if(e==="week"){let d=Js(r);return vr(r,n,o,i,d,ce(d,7))}let c=fp(r);return vr(r,n,o,i,c,pp(r))}function Pp(e,t,n,r,o,i,s){if(o)throw new y("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",h.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function vr(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:mp(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function jp(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:ea(r)}))}function Up(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let c of e)t.add(c.item_id),qs(n,c.item_type),qs(r,c.item_status),c.kind==="deadline"?o+=1:c.kind==="reminder"?i+=1:(s+=1,c.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:Ws(n),by_status:Ws(r),recurring_events:a}}function Bp(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function ta(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(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Er(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Gp(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Xs(e.event_end,e.event_timezone)?ta(e.event_end,e.event_timezone):e.event_end:null}function Kp(e){let t=`${ta(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=Gp(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 ck(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Bp(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${Er(e.summary.by_kind)}`),t.push(`- by-type: ${Er(e.summary.by_type)}`),t.push(`- by-status: ${Er(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
2
+ `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${Kp(r)}`);t.push("")}if(e.warnings&&e.warnings.length>0){t.push("### warnings");for(let n of e.warnings)t.push(`- ${n}`);t.push("")}return Hp(t.join(`
3
+ `))}function dk(e){return np(e)}function Hp(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function zp(e){let t=B(),n=cp(e.view),r=$p(n,e,t),o=V(e.limit),i=ap(e.include),s=wr(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=wr(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=wr(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new y("Calendar occurrence limit must be >= 1",h.USAGE);let d=i.has("events")&&!i.has("deadlines")&&!i.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:o,includeSources:i,occurrenceLimit:c,recurrenceLookaheadDays:u?Vs:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Wp(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Vs}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function qp(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 Vp(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 na(e,t){let n=D(process.cwd(),t.path);await O(n);let r=zp(e),o=await R(n),i=K(o.schema),s=ht(o.schema),a=Ct(e,s,"calendar"),c=N(o,A()),d=[];Wp(d,r.eventsOnlyCapApplied);let l=await ee(n,o.item_format,c.type_to_folder,d,o.schema),u=Lp(l,e,c,i,a),f=_p(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=Ap(u,f,r.includeSources,r.occurrenceLimit).filter(_=>Op(_,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?p:p.slice(0,r.limit),k=jp(g),b=[...new Set(d)].sort((_,w)=>_.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Vp(e,r.rangeBounds),filters:qp(e,a),summary:Up(g),events:g,days:k,...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]="377499d7-13b3-55f0-9d44-425bfcaf7964")}catch{}})();var ra="1970-01-01T00:00:00.000Z";function it(e){if(typeof e!="string")return null;let t=e.trim();if(!Yr(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return se(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]="80a03884-711e-5170-a3c1-f05ccb065702")}catch{}})();var Cr=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Yp=Symbol("no-context-author"),Xp=Symbol("no-item-assignee");function oa(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Jp(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]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function Qp(e){let t=Jp(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:it(e.created_at)??ra}}function Zp(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=it(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 em(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 tm(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 nm(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 an(e,t,n){return e?.[t]??n}function cn(e,t){let n=new Map(e.map(d=>{let l=t.recencyEvidence?.[d.id];return[d.id,l===void 0?Qp(d):Zp(l)]})),r=[...e].sort((d,l)=>{let u=n.get(d.id).coordinate,f=n.get(l.id).coordinate;return I(f,u)||d.id.localeCompare(l.id)}),o=new Map(r.map((d,l)=>[d.id,l])),i=Math.max(e.length-1,1),s=oa(t.author,Yp),a=H("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=oa(d.assignee,Xp)===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-o.get(d.id)/i,activity_density:t.activityDensity?.[d.id],graph_proximity:an(t.graphProximity,d.id,d.parent?.3:0),claim_focus:an(t.claimFocus,d.id,C(d.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:em(d.priority,4),risk_pressure:nm(d.risk),deadline_pressure:tm(d.deadline,c),knowledge_density:an(t.knowledgeDensity,d.id,Math.min(u/5,1)),author_affinity:an(t.authorAffinity,d.id,l?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var rm="context_relevance",om={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},im=new TextEncoder;function sm(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,o]of Object.entries(n.signals??{})){if(r==="structural"||!Cr.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function am(e){let t={...om};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Cr.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 sa(e,t={}){sm(e);let n=am(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[c,d]of Object.entries(a.signals??{}))d!==void 0&&o.add(c);let i=Cr.filter(a=>o.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 m of i){let p=d[m];if(p===void 0)continue;let g=p*n[m];l[m]=g,u+=g,f+=n[m]}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:i,ranked:s}}async function cm(e,t={}){let n=sa(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function dn(e,t,n={}){let r=sa(t,n),o=await oo(rm,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await cm(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var dm=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function ia(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function lm(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),o=d=>d.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(d=>d>0),a=new Set(e.ranked_ids),c=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:ia(e.required_ids??[],a),continuity_coverage:ia(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function um(e){return Math.ceil(im.encode(JSON.stringify(e)).byteLength/4)}function fm(e){return Math.round(e*1e4)/1e4}function pm(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function mm(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:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:o}=pm(n,e.surface),i={...n,ranking:void 0},s=um(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:lm({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:o}}function gm(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=dm;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,fm(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function yk(e,t,n){let r=[];for(let o of e)r.push(await mm(o,t));return gm(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]="b5c90a16-c075-5dc6-a326-ad2da7a6ef6d")}catch{}})();var hm={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},ym=["identity","summary","full"];function _m(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=ym.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 bm(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=hm[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<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:o,profile:t}}function wm(e){let t=new Set;for(let n of e){if(_m(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 km(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let c=e[a];if(c.token_costs.identity>t)continue;s+=1;let d=i<0?void 0:e[i],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))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function vm(e){let t=new Set,n=[],r=e.tokenBudget,o=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)},i=d=>{let l=d.token_costs.identity;n.push({...d,projection:"identity",tokens:l,marginal_value:o(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&&i(d);let s=e.ordered.filter(d=>!d.required),a=!0,c=0;for(;s.length>0;){let d=km(s,r,o,e.deadline,e.readClock);if(c+=d.evaluated,d.timedOut&&(a=!1),d.index<0||d.timedOut)break;i(s.splice(d.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:c}}function Em(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let c=s.token_costs[r]-s.token_costs[o],d=a.token_costs[r]-a.token_costs[o];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 i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function aa(e,t){let n=bm(t),r=wm(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=vm({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,c=Em(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 st from"node:fs/promises";import at from"node:path";import{createHash as ca,randomUUID as Im}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]="9b112b71-e0b8-5502-89f6-b4da6eb85f6b")}catch{}})();var Sr=3,Tr=2,da=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],xm=new Set(["substantive_history","release_cohort","created_at"]),Cm={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 Ue(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function la(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Sm(e){let t={};for(let n of da){let r=e[n];if(r!==void 0){if(!la(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Tm(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function Dm(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function ua(e,t){return{...t,activityDensity:t.activityDensity??Tm(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??Dm(e)}}function Ar(e){let t=ca("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function Rm(e){if(!Ue(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",Ue(e.signals),Ue(t)].every(Boolean))return null;let n=t.recency;if(!Ue(n))return null;let r=it(n.coordinate);if(r===null)return null;let o=new Set(da),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&la(a))||![typeof n.source=="string"&&xm.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(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function Am(e,t){let n=Array.from(e,Rm);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==Ar(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function Lm(e){if(!Ue(e)||e.format_version!==Sr||e.signal_set_version!==Tr||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=Am(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:Sr,signal_set_version:Tr,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function fa(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 pa(e,t,n=Ar(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:Sm(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:Sr,signal_set_version:Tr,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function Tk(e,t){return fa(t),pa(cn(e,ua(e,t)),t)}var Dr=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=at.resolve(t)}async read(){try{return JSON.parse(await st.readFile(this.filePath,"utf8"))}catch(t){if(Ue(t)&&pt(t))return null;throw t}}async write(t){let n=at.dirname(this.filePath);await st.mkdir(n,{recursive:!0});let r=at.join(n,`.${at.basename(this.filePath)}.${Im()}.tmp`);try{await st.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await st.rename(r,this.filePath)}finally{try{await st.rm(r,{force:!0})}catch{}}}},Rr=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){fa(n);let r=[],o=null;try{let f=await this.adapter.read();o=Lm(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,m)=>f.localeCompare(m)),s=o?.items.map(f=>f.id)??[],a=cn(t,ua(t,n)),c=Ar(a),d=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===c&&o.source===n.source&&s.length===i.length&&s.every((f,m)=>f===i[m]),l;if(d&&o!==null)l=o;else{o!==null&&r.push("context_signal_store_stale"),l=pa(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=>Cm[f])}}};function Fm(e){let t=ca("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.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 ln(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 o=n?null:await De(t.pmRoot),i=t.sourceCursor??o?.source_cursor??Fm(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new Rr(new Dr(at.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),c=t.recencyEvidence??Object.fromEntries(Object.entries(await ho(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:i,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]="a19662f9-f8b3-5988-bc04-1b5a5edaaaa5")}catch{}})();function Mm(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 Nm(e,t,n){let r,o;for(let i of t){let s=Mm(i);if(s===void 0)continue;let a=n.has(s)&&(r!==void 0&&!n.has(r)||r===void 0&&i.op==="create");r=s,a&&Number.isFinite(Date.parse(i.ts))&&(o={id:e,completed_at:i.ts,history_op:i.op})}return o}function ma(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 Rk(e,t,n){let r=[];for(let o of e){if(o.completed_at!==void 0||!n.has(o.status.trim().toLowerCase()))continue;let i=Nm(o.id,t.get(o.id)??[],n);i!==void 0&&r.push(i)}return r.sort((o,i)=>o.id.localeCompare(i.id))}import Om from"node:path";import{createHash as $m}from"node:crypto";import Pm 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]="ad77a79d-54da-55f1-8ac8-935366880d90")}catch{}})();var ga=1,jm=1e4,ha=12;function Um(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Bm(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function Gm(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.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:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function Km(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(i=>t.statusRegistry.terminal_done_statuses.has(C(i.status,t.statusRegistry))).map(i=>{let s=ma(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,c=Um(a.timestamp),d=`epoch:${c}`,l=o.get(d)??{kind:"epoch",key:c,label:c,items:[]};l.items.push(i),o.set(d,l);let u=Bm(s,r);if(u){let f=`epic:${u.id}`,m=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};m.items.push(i),o.set(f,m)}}return{format_version:ga,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(Gm).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function Hm(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 zm(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));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(Hm)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Wm(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ga||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(zm)?t:null}function qm(e){return`scan:${$m("sha256").update(Ie(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Vm(e,t,n){return n!==void 0?n:(await De(t))?.source_cursor??qm(e)}async function Ym(e){try{let t=Wm(JSON.parse(await Pm.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&pt(t))}}}async function ya(e,t){let n=Math.max(1,Math.floor(t.minimumItems??jm));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Vm(e,t.pmRoot,t.sourceCursor),o=Om.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await Ym(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let c=Km(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await G(o,`${JSON.stringify(c)}
6
+ `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:i}}function Xm(e,t,n=ha){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function _a(e,t,n=ha){if(e.snapshot===null)return;let r=Xm(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 Jm(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(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function Uk(e,t,n=5){let r=Jm(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]="97c1e310-3cd9-5846-a54c-d019b0351541")}catch{}})();var ba=16;async function wa(e,t,n){let r=N(t,A()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<ba;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let c=await fe(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await pe(c,{schema:t.schema});o.push(d.document.metadata.id),s=d.document.metadata.parent}return o}async function Wk(e){await lo({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await wa(e.pmRoot,e.settings,e.itemId)})}async function qk(e){await uo(e)}async function Vk(e){await fo({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await wa(e.pmRoot,e.settings,e.itemId)}:{}})}var Yk={lineage_depth:ba,active_items:64,evidence_rows:32};function ka(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]="56205e5f-fc26-59ab-abdf-45bdcaf1c263")}catch{}})();var Qm=["markdown","toon","json","ndjson"],dt=new Set(["Epic","Feature"]),Ca=10,Sa=1e4,Ta=["hierarchy","activity","progress","recently_created","unparented","workload"],Zm=[...Ta,"blockers","files","staleness","tests"],eg=/^(\d{4})-(\d{2})-(\d{2})/,tg=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,ng=/^(\d{4})(\d{2})(\d{2})$/,rg=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function og(e){if(!e)return;let t=e.trim().toLowerCase();if(!Qm.includes(t))throw new y("Context format must be one of markdown|toon|json|ndjson",h.USAGE);return t}var va=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 ig(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!va.has(r))throw new y(`Context --fields value not projectable: ${r} (valid: ${[...va].join(", ")})`,h.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new y("Context --fields requires at least one field name",h.USAGE);return t}function ct(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function mv(e,t){let n=og(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new y("Cannot combine --json with --format markdown|toon",h.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function sg(e,t){return V(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ca)}function Mr(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new y("--token-budget must be a positive integer",h.USAGE);return n}function ag(e,t){return t>=Sa&&e===Number.MAX_SAFE_INTEGER?Ca:e}function cg(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!_n.includes(n))throw new y(`Context --depth must be one of ${_n.join("|")}`,h.USAGE);return n}function dg(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!mt.includes(s))throw new y(`Context --section must be one of ${mt.join("|")}`,h.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...mt]:(t==="deep"?Zm:Ta).filter(o=>n.sections[o])}function lg(e,t){return e?V(e,"--activity-limit")??t.activity_limit:t.activity_limit}function ug(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new y("--stale-threshold must be a number of days (e.g. 7 or 7d)",h.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new y("--stale-threshold must be positive",h.USAGE);return o}function Ea(e,t){let n=C(e,t),r=H("blocked",t),o=H("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function lt(e,t){let n=H("closed",t);return C(e,t)===n}function Nr(e,t){return C(e,t)===t.in_progress_status}function Da(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function fg(e,t){return t.blocked_statuses.has(C(e,t))}var pg=["compact","brief","fields","includeBody","include_body","parent"];function mg(e){let t={...e};for(let n of pg)delete t[n];return t}function Or(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=Be(e),i=ut(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function gg(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new y("Context --parent requires an item id",h.USAGE);return t}function hg(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function yg(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:I(n,r)}function _g(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function bg(e){let t=eg.exec(e)??tg.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=_g(n,r-1)}function wg(e){let t=ng.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=rg.exec(e);if(n){let[,r,o,i,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}-${o}-${i}T${s}:${a}${l}${u}`}return e}function Ra(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!bg(t))return Number.NaN;let n=Date.parse(wg(t));return Number.isFinite(n)?n:Number.NaN}function Fr(e){let t=Ra(e);return Number.isFinite(t)?new Date(t).toISOString():""}function kg(e){let t=Ra(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function $r(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function we(e,t,n){let r=Ea(e.status,n)-Ea(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=hg(e.order,t.order);if(i!==0)return i;let s=yg(e.deadline,t.deadline);if(s!==0)return s;let a=I(Fr(t.updated_at),Fr(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function Lr(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Pr(e,t,n=new Set,r="context"){return aa(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:Lr({id:o.id,title:o.item.title}),summary:Lr({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:Lr(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function jr(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Ur(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.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 Aa(e,t){return t>0?Math.round(e/t*100):0}function Be(e){let t=new Map;for(let n of e){let r=$r(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function ft(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:$r(e.parent)};if(t&&n){let o=ut(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>lt(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Aa(s,i)}}return r}function vg(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function un(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Eg(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function Ig(e,t,n,r){let o=new Map;for(let c of e)o.set(c.id,c);let i=Be(e),s=new Set(t.filter(c=>dt.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=o.get(c);if(!d)continue;let l=ut(c,i),u=i.get(c)??[],f=0,m=0,p=0,g=0;for(let b of l)lt(b.status,n)?f++:Nr(b.status,n)?p++:fg(b.status,n)?g++:Da(b.status,n)&&m++;let k=u.sort((b,_)=>we(b,_,n)).slice(0,r).map(b=>{let _=ut(b.id,i),w=_.filter(E=>lt(E.status,n)).length;return{id:b.id,title:b.title,type:b.type,status:b.status,children_total:_.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:m,children_in_progress:p,children_blocked:g,children:k})}return a.sort((c,d)=>{let l=o.get(c.id),u=o.get(d.id);return we(l,u,n)}).slice(0,r)}function ut(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function xg(e,t){return(await ui({compact:!0,limit:String(e)},t)).compact_activity??[]}function Cg(e,t,n,r,o){let i=new Map;for(let c of e){if(!c.parent)continue;let d=i.get(c.parent)??[];d.push(c),i.set(c.parent,d)}let s=t.filter(c=>dt.has(c.type)),a=[];for(let c of s){let d=ut(c.id,i),l=d.length;if(l===0)continue;let u=0,f=0,m=0,p=0;for(let g of d)lt(g.status,r)?u++:n.has(g.id.trim().toLowerCase())?p++:Nr(g.status,r)?m++:Da(g.status,r)&&f++;a.push({id:c.id,title:c.title,type:c.type,total:l,closed:u,open:f,in_progress:m,blocked:p,completion_pct:Aa(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,o)}function Sg(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=nn(i,o,n),a=s.find(d=>!d.resolved)?.id??s[0]?.id??null,c=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:c?.title??null,blocked_by_status:c?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function Tg(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function Dg(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>Nr(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function Rg(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function Ag(e,t,n,r){return e.map(o=>({item:o,sortKey:Fr(o.created_at)})).sort((o,i)=>{let s=I(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...ft(o,t,n),created_at:o.created_at}))}function Lg(e,t,n,r){return e.filter(o=>!$r(o.parent)&&!dt.has(o.type)).sort((o,i)=>we(o,i,t)).slice(0,r).map(o=>ft(o,t,n))}function Fg(e){let t=0,n=0,r=0,o=0,i=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,o+=l.failed??0,i+=l.skipped??0,(l.failed??0)>0&&(d=!0);d&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function Ia(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function La(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=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}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function Mg(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function Ng(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`${Ia(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Ia(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 xa(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function Og(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 $g(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(`- ${Ng(n)}`);e.push("")}function Pg(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function jg(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 Ug(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${kg(o.created_at)} ${La(o)}`);e.push("")}}function Bg(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 Gg(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 Kg(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:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function Hg(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 zg(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 Wg(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 qg(e,t){t.tests&&(e.push("## Test health"),e.push(`- items_with_tests: ${t.tests.items_with_tests}`),e.push(`- items_with_recent_runs: ${t.tests.items_with_recent_runs}`),e.push(`- passed: ${t.tests.recent_runs.passed}, failed: ${t.tests.recent_runs.failed}, skipped: ${t.tests.recent_runs.skipped}`),t.tests.items_failing.length>0&&e.push(`- items_failing: [${t.tests.items_failing.join(",")}]`),e.push(""))}function Vg(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 gv(e){let t=[],n=e.focus_fields,r=i=>n?Mg(i,n):La(i);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 i=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${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),xa(t,"High-level focus",e.high_level,"No high-level active items.",r),xa(t,"Low-level focus",e.low_level,"No low-level active items.",r),Og(t,e,r),$g(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return Pg(t,e),jg(t,e),Ug(t,e,n,r),Bg(t,e,r),Gg(t,e),Kg(t,e),Hg(t,e),zg(t,e),Wg(t,e),qg(t,e),Vg(t,e),t.join(`
7
+ `)}async function Yg(e,t){let n=D(process.cwd(),t.path),r=await R(n),o=r.context??Vr.context,i=K(r.schema),s=cg(e.depth,o),a=sg(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:dg(e.section,s,o),activityLimit:lg(e.activityLimit,o),staleThresholdDays:ug(e.staleThreshold,o),parentScope:gg(e.parent),focusFields:ig(e.fields),baseListOptions:mg(e)}}function Br(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Xg(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Jg(e,t){let n=Br(t.sectionsIncluded),r=await ot(void 0,Xg(t.baseListOptions,{excludeTerminal:!1}),e),o=r.items,i=o.filter(c=>!L(c.status,t.statusRegistry)),s=n||t.parentScope!==void 0?o:i,a=Qg(t.parentScope,o);return a&&(i=i.filter(c=>a.has(c.id.trim().toLowerCase())),s=s.filter(c=>a.has(c.id.trim().toLowerCase()))),{listed:r,listedItemMetadata:i,allItems:s,fullCorpus:o,subtreeIds:a}}function Qg(e,t){if(e===void 0)return;let n=Or(t,e);if(!n.found)throw new y(`Context --parent item not found: ${e}`,h.NOT_FOUND);return n.ids}async function Zg(e,t,n,r,o,i,s,a,c,d,l,u,f,m,p){let g=[...e].sort((v,ve)=>we(v,ve,o)),k=await It({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),b=await ln(g,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:c,usageAffinity:k.affinity,claimFocus:p}),_=await dn("context",b.candidates),w=_.ranked.map(v=>v.item),E=o.active_statuses,x=w.filter(v=>E.has(C(v.status,o))),F=u?Se(x,d,l,v=>v.id):0,T=u?x.slice(F,F+s):x,j=u&&T.length>0&&F+T.length<x.length,de=j&&T.length>0?Z(l,T[T.length-1].id,F+T.length-1):void 0,U=w.filter(v=>r.has(v.id.trim().toLowerCase())),M=new Set([...T.map(v=>v.id),...U.slice(0,s).map(v=>v.id)]),W=Pr({..._,ranked:_.ranked.filter(v=>M.has(v.id))},m,new Set(Object.entries(p??{}).filter(([,v])=>v>=1).map(([v])=>v))),X=W.included.map(v=>v.item),J=X.filter(v=>E.has(C(v.status,o))),ke=X.filter(v=>r.has(v.id.trim().toLowerCase())),Q=Be(t),re=Br(i)?Q:void 0,oe=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),mn=v=>{let ve=ft(v,o,re);return r.has(v.id.trim().toLowerCase())&&(ve.blocked=!0,ve.blocker_ids=nn(v,oe,o).filter(gn=>!gn.resolved).map(gn=>gn.id)),ve},Wa=J.filter(v=>dt.has(v.type)).slice(0,u?T.length:s).map(mn),qa=J.filter(v=>!dt.has(v.type)).slice(0,u?T.length:s).map(mn),zr=x.length===0;return{activeItems:J,blockedItems:ke,highLevel:Wa,lowLevel:qa,blockedFallback:zr?ke.slice(0,s).map(mn):[],blockedFallbackUsed:zr,ranking:_,packing:W,featureStore:b,pageExtras:{...u?{applied_limit:s}:{},...j?{has_more:!0,truncated:!0}:{},...de?{next_cursor:de}:{}}}}function eh(e){return le("context",bt(e,Go))}function th(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Sa}async function nh(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await na(o,e),s=n===void 0?i.events:i.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=Eg(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:i,agendaEvents:c,agendaSummary:vg(a)}}function rh(e,t,n){let r=String(t);return e.filter(o=>C(o.status,n)===r).length}async function oh(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,c=Be(n),d=n.filter(u=>!L(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Ig(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await xg(t.activityLimit,a):void 0,progress:l("progress")?Cg(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Sg(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?Ag(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?Lg(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?Tg(i.activeItems,t.limit):void 0,workload:l("workload")?Dg(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Rg(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Fg(i.activeItems):void 0}}function ih(e,t,n){if(!e)return{};let r=H("canceled",n);return{total_items:t.length,closed:t.filter(o=>lt(o.status,n)).length,canceled:t.filter(o=>C(o.status,n)===r).length}}function sh(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 ah(e,t){t&&(e.focus_fields=t,e.high_level=ct(e.high_level,t),e.low_level=ct(e.low_level,t),e.blocked_fallback=ct(e.blocked_fallback,t),e.recently_created&&(e.recently_created=ct(e.recently_created,t)),e.unparented&&(e.unparented=ct(e.unparented,t)))}function ch(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function dh(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 lh(e,t,n,r){try{let o=new Set(t.packing.included.map(c=>c.id)),i=t.ranking.ranked.map(c=>({id:c.id,rank:c.rank,included:o.has(c.id)})),s=new Set(i.map(c=>c.id));for(let c of vt(e,"context"))s.has(c)||(i.push({id:c,rank:i.length+1,included:!1}),s.add(c));let a=await Et({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});kt(e,a)}catch{e.warnings=un(e.warnings,["context_usage_feedback_write_failed"])}}async function uh(e,t,n){if(e)return{};let o=(await to({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function fh(e,t){let n=po(),r=await ao(e),o=n.instance||co(t);return ka(r.semantic_attribution?.[o])}async function hv(e,t){let n=D(process.cwd(),t.path),r=await Yg(e,t),o=await Jg(t,r),i=ag(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:Mr(e.tokenBudget,Math.max(256,i*160))},a=ge(void 0,s.settings.author_default),c=await fh(n,a),d=uh(e.noExtensionHealth===!0,n,s.settings),l=et(o.fullCorpus,s.statusRegistry),u=await Zg(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,B(),a,e.after,eh(e),th(e,o.fullCorpus.length),n,s.tokenBudget,c),f=await nh(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),m=await ya(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),p=un(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],m.warnings),g=rh(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),k=u.activeItems.length-g,b=await oh({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),_=ih(Br(s.sectionsIncluded),o.allItems,s.statusRegistry),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:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{active_items:u.activeItems.length,in_progress:g,open:k,blocked:u.blockedItems.length,blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,..._},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=_a(m,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),sh(w,b,u.featureStore.warning_details),ch(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=Ur(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),w.packing=jr(u.packing)),ah(w,s.focusFields),p.length>0&&(w.warnings=p),dh(w,u.activeItems,u.blockedItems),await lh(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]="b0f3d72c-ff0b-59bb-a6bc-8476eb9fb6c1")}catch{}})();var ph=["markdown","toon","json"],mh=5,gh=1440*60*1e3;function hh(e){if(!e)return;let t=e.trim().toLowerCase();if(!ph.includes(t))throw new y("Next format must be one of markdown|toon|json",h.USAGE);return t}function Sv(e,t){let n=hh(e.format);if(t.json&&n&&n!=="json")throw new y("Cannot combine --json with --format markdown|toon",h.USAGE);return t.json?"json":n??"toon"}function Fa(e,t,n){let r=V(e,t);return r===void 0||r<=0?n:r}function Gr(e,t,n,r){return{...ft(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function yh(e,t,n,r){let o=e.item,i=[],s=H("in_progress",t);return i.push(C(o.status,t)===s?"in progress \u2014 resume to finish":"open and ready to start"),r&&i.push("completed container \u2014 governance closeout"),i.push(`priority p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(bh(o.deadline,n)),i.push(ye(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s): ${e.unblocks.join(", ")}`),i}function Na(e,t,n){let r=ge(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var Tv={partitionCallerOwnedReady:Na,resolveNextCallerAuthor:(e,t)=>Oa(e,t)};function _h(e,t){let n=e.filter(r=>r.item.type.trim().toLowerCase()==="decision");return{agent:t?e:e.filter(r=>r.item.type.trim().toLowerCase()!=="decision"),decisions:t?[]:n}}function bh(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/gh);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function wh(e,t){let n=H("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function Kr(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function kh(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 Ma(e,t,n){return[...e].sort((r,o)=>{let i=Kr(r.item,t),s=Kr(o.item,t);return i!==s?Number(i)-Number(s):we(r.item,o.item,n)})}function vh(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:yh(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Eh(e,t){if(e===null){if(t.length>0){let n=t.find(r=>r.blockers.length>0);return[n?`${t.length} item(s) are blocked; unblock the top one by closing ${n.blockers.map(r=>r.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['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 Ih(e,t,n){let r={};return e>n&&(r.decision_needed_total=e),t>n&&(r.held_by_others_total=t),Object.keys(r).length>0?r:void 0}async function xh(e){try{let t=new Set(e.packing.included.map(i=>i.id)),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of vt(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Et({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});kt(e.result,o)}catch{e.result.warnings=un(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Ch(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.explainRanking&&(e.result.ranking=Ur(e.readyRanking,e.featureStore),e.result.packing=jr(e.packing)),e.result.suggestions=Eh(e.recommended,e.blockedRows),await xh({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Sh(e,t,n){if(!n)return e;let r=Or(t,n);if(!r.found)throw new y(`Next --parent item not found: ${n}`,h.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function Th(e,t,n,r,o,i,s){let a=e.filter(g=>!Kr(g.item,t)),c=a.length>0?a:e,d=await It({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await ln(c.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:d.affinity}),u=await dn("next",l.candidates),f=Pr(u,s,new Set,"next"),m=new Map(c.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>m.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0,packing:f,featureStore:l}}function Oa(e,t){let n=e.assignee?.trim();return ge(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Dv(e,t){let n=D(process.cwd(),t.path),r=await R(n),o=Oa(e,r.author_default),i=K(r.schema),s=B(),a=Fa(e.limit,"--limit",mh),c=Mr(e.tokenBudget,Math.max(192,a*128)),d=Fa(e.blockedLimit,"--blocked-limit",a),l=e.readyOnly===!0,u=typeof e.parent=="string"?e.parent.trim():"",f=await ot(void 0,kh(e,{excludeTerminal:!0}),t),m=await ot(void 0,{excludeTerminal:!1,noTruncate:!0},t),p=Sh(f.items,m.items,u),g=m.items,k=dr(p,g,i),b=Be(g),_=_h(k.ready,e.includeDecisions===!0),w=Na(_.agent,r.author_default,o),E=Ma(w.available,b,i),x=[...k.blocked].sort((re,oe)=>we(re.item,oe.item,i)),{projectedReady:F,ranking:T,completedContainer:j,packing:de,featureStore:U}=await Th(E,b,i,s,o,n,c),M=F.map((re,oe)=>Gr(re,i,b,oe+1)),W=x.map((re,oe)=>Gr(re,i,b,oe+1)),X=Ma(_.decisions,b,i).map((re,oe)=>Gr(re,i,b,oe+1)),J=vh({projectedReady:F,readyRows:M,statusRegistry:i,now:s,completedContainer:j}),ke=Ih(X.length,w.held.length,a),Q={output_default:"toon",now:s,recommended:J,ready:M.slice(1,a+1),decision_needed:X.slice(0,a),blocked:l?[]:W.slice(0,d),held_by_others:w.held.slice(0,a),summary:{recommended:J!==null,ready:M.length,blocked:W.length,in_progress:wh(M,i),candidates:k.active_count,containers:k.container_count,decision_needed:X.length,held_by_others:w.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:u.length>0?u:null,limit:a,blocked_limit:d,ready_only:l,include_decisions:e.includeDecisions===!0,token_budget:c},truncation:ke};return Ch({result:Q,recommended:J,blockedRows:W,candidatesWarnings:f.warnings,corpusWarnings:m.warnings,readyRanking:T,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packing:de,featureStore:U})}function Rv(e){let t=["# pm next","",...Dh(e)];if(t.push(...fn("Recommended",Rh(e.recommended),"No ready work.")),t.push(...fn("Decision needed",(e.decision_needed??[]).map(n=>`- ${pn(n)}`),"No human-gated decisions.")),t.push(...fn("Ready",e.ready.map(n=>`- ${pn(n)}`),"No ready items.")),e.filters.ready_only||t.push(...fn("Blocked",e.blocked.map(n=>`- ${Ah(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(`
8
+ `).trimEnd()}function Dh(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 Rh(e){return e?[`- ${pn(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function fn(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Ah(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${pn(e)} blocked_by:${t}`}function pn(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 Lh}from"node:crypto";import{setTimeout as Fh}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]="01043e67-99d4-5b68-a1b2-33f35f5cef5f")}catch{}})();var Pa=1,ja=/^[A-Za-z0-9_-]+$/,Mh=100,$a=1e3,Nh=250,Gv=Object.freeze({batch_to_row_ratio:.6,fixture_events:200});function Y(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,o)=>r.localeCompare(o));return n.length===0?void 0:n}function Ua(e){return Lh("sha256").update(Ie({type:Y(e.type),author:Y(e.author),item:Y(e.item),harness:Y(e.harness),agent_instance:Y(e.agentInstance),provenance:Y(e.provenanceFilter)})).digest("hex").slice(0,24)}function Hr(e,t){let n={version:Pa,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 Ba(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Pa,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 Ga(e,t){let n=e.trim();if(n.length===0||n.length>4096||!ja.test(n))throw new y("Invalid mutation event cursor.",h.USAGE,{code:"invalid_event_cursor"});let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw new y("Invalid mutation event cursor.",h.USAGE,{code:"invalid_event_cursor"})}if(!Ba(r,t))throw new y("Mutation event cursor does not match this query.",h.USAGE,{code:"event_cursor_query_mismatch"});return r}function Ka(e){let t=e??Mh;if(!Number.isSafeInteger(t)||t<0||t>$a)throw new y(`Mutation event limit must be an integer from 0 to ${$a}.`,h.USAGE,{code:"invalid_event_limit"});return t}function Ha(e){return e instanceof Error&&e.name==="AbortError"}function za(e,t){let n=e?.trim();if(!n)return{};if(ja.test(n))return{cursor:Ga(n,t)};let r=Date.parse(n);if(!Number.isFinite(r))throw new y("Mutation event --since must be an event cursor or ISO timestamp.",h.USAGE,{code:"invalid_event_since"});return{sinceTimestamp:new Date(r).toISOString()}}async function Oh(e,t){let n=await kn(e,t);if(n===null){if(!await mo(e))return{...await go(e,t),source:"authoritative_history"};n=await kn(e,t)}if(n===null)throw new y("Mutation event index could not be opened after rebuild.",h.GENERIC_FAILURE,{code:"event_index_unavailable"});return{...n,source:"derived_index"}}function $h(e){let t=e??"batch";if(t!=="batch"&&t!=="row")throw new y("Mutation event cursor mode must be batch or row.",h.USAGE,{code:"invalid_event_cursor_mode"});return t}async function Ph(e={}){let t=D(e.cwd??process.cwd(),e.pmRoot);await O(t);let n=Ka(e.limit),r=$h(e.cursorMode);if(e.full===!0&&e.provenance===!0)throw new y("Mutation event projections are mutually exclusive. Use --provenance or --full.",h.USAGE);let o=await R(t),i=o.agent_identity.identity_vocabulary,s=Ft(o.agent_identity.harness_signals),a=Ln({provenance:e.provenanceFilter},s),c=Y(e.harness),d=Ua(e),{cursor:l,sinceTimestamp:u}=za(e.since,d),f={...l?{after_ts:l.ts,after_stream_id:l.stream_id,after_stream_offset:l.stream_offset}:u?{since_ts:u}:{},ops:Y(e.type),authors:Y(e.author),harnesses:c,harness_alias_authors:c?Object.entries(i.aliases).filter(([,g])=>c.includes(g)).map(([g])=>g):void 0,agent_instances:Y(e.agentInstance),provenance:[...a].map(([g,k])=>({dimension:g,values:[...k]})),stream_ids:Y(e.item),limit:n},m=await Oh(t,f),p=m.events.map(g=>({...r==="row"?{cursor:Hr(g,d)}:{},item_id:g.stream_id,version:g.stream_offset+1,ts:g.entry.ts,author:g.entry.author,type:g.entry.op,...g.entry.message===void 0?{}:{message:g.entry.message},patch_count:g.entry.patch.length,...e.full===!0?{entry:g.entry}:{},...e.provenance===!0?{provenance:Mt(g.entry,i,{itemId:g.stream_id,version:g.stream_offset+1})}:{}}));return{events:p,count:p.length,has_more:m.has_more,cursor_mode:r,...m.events.length===0?{}:{next_cursor:Hr(m.events[m.events.length-1],d)},source:m.source,...e.provenanceSummary===!0?{provenance_summary:Nt(m.events.map(g=>g.entry),i,s)}:{}}}async function*jh(e={}){let t=e.intervalMs??Nh;if(!Number.isSafeInteger(t)||t<10)throw new y("Mutation event follow interval must be an integer of at least 10ms.",h.USAGE,{code:"invalid_event_follow_interval"});let n=e.since;for(;e.signal?.aborted!==!0;){let r=await Ph({...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 Fh(t,void 0,{signal:e.signal})}catch(i){if(Ha(i))return;throw i}}}async function*Kv(e={}){for await(let t of jh({...e,cursorMode:"row"}))for(let n of t.events)yield n}var Hv={decodeMutationEventCursor:Ga,encodeMutationEventCursor:Hr,eventQueryFingerprint:Ua,isAbortError:Ha,isMutationEventCursorEnvelope:Ba,parseMutationEventLimit:Ka,resolveMutationEventStart:za};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="412fc2d2-daee-5d87-82ab-5411a1503087")}catch{}})();function Wv(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,o)=>r.localeCompare(o))}export{Ko as a,Ho as b,Ke as c,zo as d,Wo as e,Qh as f,qo as g,Rn as h,ky as i,vy as j,Oy as k,$y as l,Rt as m,Dt as n,ii as o,By as p,V as q,At as r,si as s,Lt as t,Ft as u,Ln as v,Mt as w,Jy as x,Fn as y,Nt as z,c_ as A,ui as B,ae as C,te as D,Gc as E,p_ as F,Kc as G,m_ as H,g_ as I,h_ as J,y_ as K,P as L,gi as M,$t as N,C_ as O,On as P,S_ as Q,Ye as R,nd as S,od as T,Pn as U,id as V,Fe as W,jt as X,jn as Y,Ut as Z,P_ as _,wi as $,sb as aa,Si as ba,Ti as ca,Di as da,Ri as ea,Ai as fa,qt as ga,Fi as ha,Ne as ia,Mi as ja,Pi as ka,Xt as la,ji as ma,Ul as na,Wi as oa,Jt as pa,Jn as qa,Qt as ra,qi as sa,Yi as ta,Qn as ua,Ze as va,Ji as wa,er as xa,tr as ya,nr as za,Qi as Aa,rr as Ba,es as Ca,ts as Da,rs as Ea,uu as Fa,rw as Ga,Wv as Ha,Au as Ia,ye as Ja,tn as Ka,us as La,nn as Ma,et as Na,dr as Oa,lr as Pa,tt as Qa,ps as Ra,ms as Sa,ws as Ta,hr as Ua,vs as Va,vw as Wa,Ew as Xa,xs as Ya,Cs as Za,xw as _a,ur as $a,fr as ab,Mu as bb,pr as cb,hw as db,yw as eb,_w as fb,bw as gb,of as hb,Ns as ib,Rs as jb,As as kb,lf as lb,uf as mb,ff as nb,ot as ob,ak as pb,ck as qb,dk as rb,na as sb,ra as tb,it as ub,Cr as vb,cn as wb,rm as xb,sa as yb,cm as zb,dn as Ab,dm as Bb,lm as Cb,mm as Db,gm as Eb,yk as Fb,hm as Gb,aa as Hb,Sr as Ib,Tr as Jb,Cm as Kb,Lm as Lb,Tk as Mb,Dr as Nb,Rr as Ob,ln as Pb,ma as Qb,Rk as Rb,jm as Sb,Km as Tb,ya as Ub,Xm as Vb,_a as Wb,Jm as Xb,Uk as Yb,wa as Zb,Wk as _b,qk as $b,Vk as ac,Yk as bc,ka as cc,Qm as dc,ig as ec,ct as fc,mv as gc,Mr as hc,cg as ic,dg as jc,Or as kc,we as lc,Pr as mc,jr as nc,Ur as oc,Be as pc,ft as qc,un as rc,gv as sc,ch as tc,hv as uc,ph as vc,Sv as wc,Tv as xc,_h as yc,Dv as zc,Rv as Ac,Gv as Bc,Ph as Cc,jh as Dc,Kv as Ec,Hv as Fc};
9
+ //# sourceMappingURL=chunk-VGLHECAP.js.map