@unbrained/pm-cli 2026.9.2 → 2026.9.3

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 (123) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +17 -0
  3. package/dist/cli/after-command-context-usage.js +16 -3
  4. package/dist/cli-bundle/bundle-manifest.json +154 -154
  5. package/dist/cli-bundle/chunks/{chunk-T6H5BZCP.js → chunk-34HASX3S.js} +2 -2
  6. package/dist/cli-bundle/chunks/chunk-AY324UJ5.js +9 -0
  7. package/dist/cli-bundle/chunks/{chunk-TAG4VC22.js → chunk-DKGP3QLE.js} +27 -27
  8. package/dist/cli-bundle/chunks/chunk-E5RBBCXO.js +230 -0
  9. package/dist/cli-bundle/chunks/{chunk-DTGWEL23.js → chunk-EDPIS7EB.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-X4RCGLTX.js → chunk-IEHHE6GA.js} +5 -5
  11. package/dist/cli-bundle/chunks/{chunk-UDW64J2W.js → chunk-L7B7343B.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-FZ4Z2J4F.js → chunk-LENC656S.js} +41 -41
  13. package/dist/cli-bundle/chunks/{chunk-ZLJIFSOE.js → chunk-LISESA7W.js} +33 -33
  14. package/dist/cli-bundle/chunks/{chunk-3WICXLVT.js → chunk-UPPM2FOZ.js} +2 -2
  15. package/dist/cli-bundle/chunks/{chunk-Y7VOMSZT.js → chunk-Y4PJ6HPK.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-list-query-XYNX4ASQ.js → register-list-query-W2ZTOMKP.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-mutation-WFQ7MJTX.js → register-mutation-RVND5NCG.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-operations-JVTI7JPP.js → register-operations-TTROIVC4.js} +2 -2
  19. package/dist/cli-bundle/chunks/{register-setup-KVNC5KPL.js → register-setup-D3ZFHY3L.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/chunk-3ZBI35HU.js +176 -0
  21. package/dist/cli-bundle/focused-chunks/{chunk-SVXJYD6G.js → chunk-4HJFY4MB.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-4RRHC3S4.js +6 -0
  23. package/dist/cli-bundle/focused-chunks/chunk-4WR46RMG.js +9 -0
  24. package/dist/cli-bundle/focused-chunks/chunk-5RFXUPN5.js +3 -0
  25. package/dist/cli-bundle/focused-chunks/chunk-BWKHEIVF.js +2 -0
  26. package/dist/cli-bundle/focused-chunks/{chunk-4O4CJAR6.js → chunk-D7KXFBXV.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-MKHG3T76.js → chunk-GHCZ3YFR.js} +3 -3
  28. package/dist/cli-bundle/focused-chunks/{chunk-KB5OFSFD.js → chunk-GT7MXDLW.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/chunk-KBLZRU62.js +2 -0
  30. package/dist/cli-bundle/focused-chunks/chunk-KZ2NB3ET.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-M5M6SVHS.js +3 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-BEVHCEWG.js → chunk-OL5EH6I3.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-MEASX544.js → chunk-Q45NHPF2.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-O67VDLOT.js → chunk-QKHCSUGJ.js} +42 -42
  35. package/dist/cli-bundle/focused-chunks/chunk-S27XMBIN.js +8 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-TXE4TSHM.js +12 -0
  37. package/dist/cli-bundle/focused-chunks/chunk-UCLO3XDU.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 -28
  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 +35 -33
  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 +9 -9
  49. package/dist/core/history/event-classification.d.ts +21 -0
  50. package/dist/core/history/event-classification.js +109 -0
  51. package/dist/core/history/event-index.d.ts +14 -3
  52. package/dist/core/history/event-index.js +543 -88
  53. package/dist/core/history/history.js +47 -18
  54. package/dist/core/history/workspace-history.js +7 -6
  55. package/dist/core/lock/lock.d.ts +22 -2
  56. package/dist/core/lock/lock.js +121 -19
  57. package/dist/core/output/output.js +31 -7
  58. package/dist/core/shared/time.d.ts +2 -0
  59. package/dist/core/shared/time.js +8 -2
  60. package/dist/core/store/item-metadata-query-index.js +5 -5
  61. package/dist/sdk/context/recency.d.ts +9 -0
  62. package/dist/sdk/context/recency.js +34 -0
  63. package/dist/sdk/context/usage-egress.d.ts +9 -0
  64. package/dist/sdk/context/usage-egress.js +30 -0
  65. package/dist/sdk/context-intent-contracts.js +7 -3
  66. package/dist/sdk/context-relevance.d.ts +23 -0
  67. package/dist/sdk/context-relevance.js +94 -23
  68. package/dist/sdk/context-signal-store.d.ts +7 -3
  69. package/dist/sdk/context-signal-store.js +155 -42
  70. package/dist/sdk/context-usage.d.ts +54 -0
  71. package/dist/sdk/context-usage.js +245 -16
  72. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +14 -14
  73. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +14 -2
  74. package/dist/sdk/index.d.ts +2 -0
  75. package/dist/sdk/index.js +4 -2
  76. package/dist/sdk/init.d.ts +2 -0
  77. package/dist/sdk/init.js +18 -9
  78. package/dist/sdk/query/context.d.ts +3 -1
  79. package/dist/sdk/query/context.js +21 -9
  80. package/dist/sdk/query/next.js +18 -9
  81. package/dist/sdk/runtime-input.d.ts +2 -0
  82. package/dist/sdk/runtime-input.js +25 -2
  83. package/dist/sdk/runtime.d.ts +1 -0
  84. package/dist/sdk/runtime.js +17 -26
  85. package/dist/types.d.ts +2 -0
  86. package/dist/types.js +2 -2
  87. package/docs/CONTEXT_RELEVANCE.md +44 -1
  88. package/docs/PERFORMANCE.md +6 -3
  89. package/docs/READ_OUTPUT_CONTRACTS.md +9 -1
  90. package/docs/SDK.md +11 -8
  91. package/docs/SDK_CONTEXT.md +7 -0
  92. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  93. package/marketplace.json +2 -2
  94. package/package.json +4 -4
  95. package/packages/pm-beads/package.json +1 -1
  96. package/packages/pm-calendar/package.json +1 -1
  97. package/packages/pm-command-kit/package.json +1 -1
  98. package/packages/pm-digital-twin/package.json +1 -1
  99. package/packages/pm-governance-audit/package.json +1 -1
  100. package/packages/pm-guide-shell/package.json +1 -1
  101. package/packages/pm-kanban/package.json +1 -1
  102. package/packages/pm-lifecycle-hooks/package.json +1 -1
  103. package/packages/pm-linked-test-adapters/package.json +1 -1
  104. package/packages/pm-search-advanced/package.json +1 -1
  105. package/packages/pm-templates/package.json +1 -1
  106. package/packages/pm-todos/package.json +1 -1
  107. package/packages/pm-vcs/package.json +1 -1
  108. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  109. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  110. package/sdk/public-surface.json +241 -24
  111. package/dist/cli-bundle/chunks/chunk-GOACULJW.js +0 -13
  112. package/dist/cli-bundle/chunks/chunk-NOPL37X4.js +0 -205
  113. package/dist/cli-bundle/focused-chunks/chunk-242AXYB2.js +0 -2
  114. package/dist/cli-bundle/focused-chunks/chunk-2FEZ5SKM.js +0 -3
  115. package/dist/cli-bundle/focused-chunks/chunk-6GCRSLPG.js +0 -2
  116. package/dist/cli-bundle/focused-chunks/chunk-7VATS5QY.js +0 -16
  117. package/dist/cli-bundle/focused-chunks/chunk-JEFKLWMM.js +0 -2
  118. package/dist/cli-bundle/focused-chunks/chunk-PF3E6Q36.js +0 -8
  119. package/dist/cli-bundle/focused-chunks/chunk-QDFJIRKN.js +0 -4
  120. package/dist/cli-bundle/focused-chunks/chunk-RMRCQPWU.js +0 -2
  121. package/dist/cli-bundle/focused-chunks/chunk-S4U5CN5Q.js +0 -2
  122. package/dist/cli-bundle/focused-chunks/chunk-T2LXXSOD.js +0 -158
  123. package/dist/cli-bundle/focused-chunks/chunk-Z2USIBR2.js +0 -5
@@ -0,0 +1,9 @@
1
+ import{$a as Zr,$e as _t,Ae as ge,B as Vr,Bc as A,Be as ht,Bh as To,C as h,Ce,Ci as Fo,Da as Ee,Dd as K,Df as En,Dg as wt,E as y,Fd as gt,Fg as kt,G as $,Gi as Mo,He as mo,Hi as No,Ia as _n,Ie as go,Ig as vt,Ii as De,Ja as pt,Je as kn,Ji as Oo,Kc as wn,Ke as ho,Mc as no,Mg as Et,Nc as ro,Nh as Do,Ni as O,Oh as It,Oi as fe,Pa as N,Pi as pe,Qa as mt,Qb as Ie,Qd as H,Qi as $o,R as B,Rd as C,Ri as ee,Sc as oo,Sd as L,Si as Po,U as Yr,Ue as yt,V as I,W as Xr,We as yo,X as se,Xa as D,Xd as io,Yd as so,Yh as Ro,Zg as In,Zh as Ao,_e as vn,af as le,ag as bt,bb as bn,bf as Z,bh as Te,bi as Cn,c as hn,ca as Jr,ce as ao,d as ft,de as co,dl as jo,e as Wr,ea as Qr,ee as lo,ef as _o,eh as bo,f as ie,fe as uo,ff as Se,g as G,ge as fo,gh as wo,h as qr,hc as to,hh as ko,ih as vo,ke as xe,kh as Ge,mh as ue,ni as xt,oh as xn,oi as Ct,ph as Eo,s as yn,sh as Io,te as po,th as xo,ti as Lo,ub as q,uh as Co,wi as R,wm as Uo,xh as So,zb as eo}from"./chunk-E5RBBCXO.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 za(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 Wa(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 Bo(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 Go(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=Wa(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=za(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=Io(e,t);if(o.ok)return o.document;let i=Bo(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 Ko(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 Ho(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 qa 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 Va(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=Lo(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 Ya(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 Yh(e){let t=e.writeHistoryRaw??G;try{await t(e.historyPath,e.nextHistoryRaw),await Te(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await qa.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 zo(e){let t=[...Va({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await ht(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 Ya({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]="05b945f2-4f96-5f88-98ff-84cc856d0d57")}catch{}})();function Tn(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function Wo(e){let t=[];for(let n of e)t.includes(n)||t.push(n);return t.includes("g")||t.push("g"),t.join("")}function qo(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=Wo(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 Vo(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(qo),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 Yo(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 Xo(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"?Yo(r,i.value,n):Xo(r,i,n);r=s.value,o+=s.replacements}return{value:r,replacements:o}}function St(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=St(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=St(s,t,n);r+=a.replacements,o[i]=a.value}return{value:o,replacements:r}}return{value:e,replacements:0}}function Xa(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 Ja(e,t,n){let r=0,o=!1,i=e.message;if(typeof e.message=="string"){let a=Dn(e.message,t,n);i=a.value,r+=a.replacements,a.replacements>0&&(o=!0)}let s=e.patch.map(a=>{if(!Object.prototype.hasOwnProperty.call(a,"value"))return a;let c=St(a.value,t,n);return r+=c.replacements,c.replacements>0?(o=!0,{...a,value:c.value}):a});return{entry:{...e,message:i,patch:s},replacements:r,changed:o}}function Qa(e,t,n){let r=structuredClone(Ge),o=0,i=0,s=[];for(let a=0;a<e.length;a+=1){let c=Ja(e[a],t,n);i+=c.replacements,c.changed&&(o+=1);let d=ue(r);r=Ke(r,c.entry.patch,a+1,c.entry.op);let l=ue(r);s.push({...c.entry,before_hash:d,after_hash:l})}return{entries:s,finalDocument:r,entriesChanged:o,replacements:i}}function Jo(e){return Object.keys(e.metadata).length>0}async function Za(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 ec(e){if(!Jo(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 tc(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 nc(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(vo({nowIso:B(),author:e.author,op:"history_redact",before:n,after:n,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}async function rc(e){let t=[];return zo({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 No(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,So(e.rewrittenEntries))}catch(c){try{await oc(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 Oo({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 ic(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]})}async function oc(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 ic(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=It(t,n.id_prefix),s=Do(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 _y(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=Vo(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=Xa(f),p=Qa(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 Za(l,o),E=ec({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=tc(t,p),{rewrittenEntries:j,auditEntryAdded:de}=nc({rewritten:p,dryRun:k,changed:b,nextItemDocument:E.document,author:F,message:T}),U=Co(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 rc({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 by={applyLiteralRule:Yo,applyRegexRule:Xo,buildRedactionRules:Vo,hasItemMetadata:Jo,normalizeRegexFlags:Wo,normalizeStringArrayInput:Tn,parseRegexRule:qo,redactStringValue:Dn,redactUnknownValue:St};(function(){try{var e=typeof window<"u"?window:typeof 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 Fy(e,t){let n=xo(e),r=e.length>0?e[e.length-1].after_hash:ko(),o=t===void 0||n.item_hash_version===void 0?void 0:wo(t,n.item_hash_version),i=t===void 0?void 0:o===void 0?bo(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 My(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=Go(t,a),d=Ho(Ko(a,c.historyIndex),c),l=Eo(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 sc(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:pc(r,t,e.parents)}),"continue"):(e.cursorFound=t===o,"skip")}function Zo(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 He(e){return new Map(e.map(t=>[t,new Set]))}function ei(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 Qo(e){return JSON.stringify(Tt(e))}function ac(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 cc(e,t){let n=new Set,r=[];for(let o of e)n.has(o)||ac(o,t,n,r);return r}function dc(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 ei(r)}function ti(e,t){let n=He(e);for(let[r,o]of t)for(let i of o)Re(n,i,r);return dc(cc(e,t),n)}function lc(e,t){let n=He(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 uc(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 fc(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 pc(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=lc(e,n),i=uc(r,o),s=i.flat(),a=s.length===r.length,c=a?[]:ti(r,o).filter(l=>l.length>1||o.get(l[0]).has(l[0])),d=fc(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 mc(e,t,n){let r=He(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 gc(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 hc(e,t,n){let r=n.direction,o=n.maxDepth??Number.POSITIVE_INFINITY,i=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Zo(t,n,r,o),{adjacency:c,inspectedEdges:d}=mc(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(sc(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 hc(e,t,{...n,direction:r});let o=n.maxDepth??Number.POSITIVE_INFINITY,i=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Zo(t,n,r,o);return gc(e,t,n,a,i,s)}function ni(e){let t=[...e.nodes()],n=He(t),r=He(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:ei(o),stronglyConnected:ti(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 Py(e,t){let n=new Map(e.edges.map(o=>[Qo(o),o])),r=new Map(t.edges.map(o=>[Qo(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 ri(e,t,n="--type"){if(e===void 0)return;let r=mt(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 oi(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 Vy(e,t,n=Lt,r=xe){return Fn(t,n,r)(e)}function Fn(e,t=Lt,n=xe){let r=oi(e.harness),o=oi(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 yc from"node:fs/promises";import ai 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 _c=20,bc=5,wc=15,kc="-24h";function i_(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 vc={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 ii(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 Ec(e,t,n){return!(e.ts.length===0&&(t||n)||t&&I(e.ts,t)<0||n&&I(e.ts,n)>=0)}function si(e,t){return t===void 0?e:e.slice(0,t)}function ze(e,t=""){return typeof e=="string"?e:t}function Ic(e,t){return{...t,id:e,ts:ze(t.ts),author:ze(t.author,"unknown"),op:ze(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:ze(t.before_hash),after_hash:ze(t.after_hash)}}function xc(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 Cc(e){try{return(await yc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Wr(t))return[];throw t}}function Sc(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 Tc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?wc:n==="compact"?_c:bc}function Dc(e,t){let n=B(),r=t==="digest",o=ii(e.to??(r?n:void 0),n,"--to"),i=ii(e.from??(r?kc: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:Tc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Rc(e){let t=D(process.cwd(),e.path);return await O(t),{pmRoot:t,settings:await R(t)}}async function Ac(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 To({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=ai.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 Lc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Ec(t,n.from,n.to)}async function Fc(e,t){let n=[];for(let r of await Cc(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await Ce(ai.join(e,r),o);for(let s of i){let a=Ic(o,s);Lc(s,a,t)&&n.push(a)}}return n}function Mc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Nc(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 Oc(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:Nc(o.operations)}}).sort((r,o)=>I(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function $c(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 Pc(e,t,n,r,o){if(e==="digest"){let s=Oc(t,r),a=si(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=si(t,n);return e==="compact"?{rows:{compact_activity:Mc(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 ci(e,t){let n=await Rc(t),r=Sc(e),o=Dc(e,r),i=await Ac(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=xc(await Fc(i.historyDir,o)).filter(c),l=Pc(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:vc[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:$c(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 jc="global",l_="external",Uc=["open","closed","unknown"],We=new Map,Bc=240,Gc=2048;function di(e,t,n){return(e?.trim()||t).slice(0,n)}function Kc(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 u_(e){let t=e.name.trim();if(t.length===0)throw new Error("External dependency resolver name must not be empty");if(We.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 We.set(t,n),()=>{We.get(t)===n&&We.delete(t)}}async function f_(e,t={}){let n=e.trim();if(!ae(n))return null;let r=[...We.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"||!Kc(s.value))continue;let a=r[i],c=s.value,d=Uc.includes(c.status)?c.status:"unknown",l=di(c.title,"",Bc),u=di(c.source,n,Gc),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 p_(e){let t=e?.trim();if(t)return te(t)?jc:t}function m_(e,t,n){let r=e.trim();return te(n)?r:It(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 qe(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 Hc(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 zc(e,t){let n=[...e].sort(),r=Hc(n,t),o=new Set,i=Wc(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=qc(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 Wc(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 qc(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 li(e){let t=new Map;for(let n of e){let r=qe(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Vc(e,t,n){let r=qe(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 Yc(e,t,n,r){let o=qe(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 ui(e,t){let n=new Map;for(let[r,o]of e){let i=Vc(r,o,e);i&&n.set(Ot(i),i);for(let s of o.dependencies??[]){let a=Yc(r,s,e,t);a&&n.set(Ot(a),a)}}return[...n.values()].sort((r,o)=>Ot(r).localeCompare(Ot(o)))}function fi(e,t=P()){return ui(li(e),t)}function Xc(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 Jc(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=qe(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=li(e),o=ui(r,n),i=On(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=zc([...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:Xc(o,i.parents_by_child,s),divergences:Jc(r,o,s)}}function E_(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 I_(e,t,n,r,o){let i=qe(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 Ve(e){let t=Le(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Ye(e,t,n=!0){let r=Le(e);return n&&(te(t)||r!==void 0&&ae(r))}function $n(e,t){return Ye(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function pi(e,t,n,r){return Ye(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 Qc(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 Zc(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 Qc(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 ed(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 td(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=ed(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())||Ye(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 nd(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 rd(e){let t=new Map;for(let n of e){let r=Ve(n.blocked_by);r&&Ye(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Ye(o.id,o.source_kind))continue;let i=Ve(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var mi=new WeakMap;function Pt(e){return e.hierarchyIntegrity??mi.get(e)}function od(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=nd(s);for(let p of a)i.set(p.toLowerCase(),p);let c=rd(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=Ve(p.parent),k=Ve(p.blocked_by),b=(p.dependencies??[]).flatMap(_=>{if(typeof _!="object"||_===null)return[];let w=_,E=Ve(w.id);return E?[{id:pi(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:pi(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:Zc(o,t),orderingContradictions:td(o,t,r),legacyAliasCounts:od(o,r),hierarchyIntegrity:f};return mi.set(m,f),m}import{createHash as id}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 sd=64,ad=8;function cd(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=>cd(i,t)).sort(),o=n.list().map(i=>Ie(i)).sort();return id("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function gi(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=gi("maxResultsPerWorkspace",t.maxResultsPerWorkspace,sd),this.#n=gi("maxWorkspaces",t.maxWorkspaces,ad)}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()}},hi=new jn;function Ut(){return hi}function N_(){hi.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 dd=["prerequisite","dependent","ancestor","descendant","provenance","related"],ld=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(ld.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 ud(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 fd(e){return dd.find(t=>e.includes(t))}function pd(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 md(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 gd(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?ud(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?fd(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 hd(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 yi(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=pd(e,t,a,r),{rootEdges:p,...g}=md(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=gd({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=hd({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 yd=["tree","graph","context"],_d=["none","repeated"],bd=["outgoing","incoming","both"],wd=32,kd=200,vd=400,Ed=16e3;function Id(e){let t=e?.trim().toLowerCase()??"tree";if(yd.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 xd(e){let t=e?.trim().toLowerCase()??"none";if(_d.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(bd.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 Cd(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 Sd(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Cd(e.dependencies)}}function Td(e){return bt(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Dd(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(bi(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Rd(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 bi(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+=Td(u),Rd(u,l,d,r,o,i,s,a))return u;o==="repeated"&&i.add(d);let f=new Set(n);return f.add(d),Dd(u,l,t,f,r,o,i,s,a),u}function _i(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 Ad(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,_i(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,_i(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 wi(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 Ld(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 Fd(e,t,n,r){return yi(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 Md(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 Nd(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 Od(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 ki(e,t,n){let r;for(;;){let o=bt(new TextEncoder().encode(In(vn("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function $d(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Pd(e){try{return Fd(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&$d(t))return e.smallestResult;throw t}}function jd(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=Pd({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=Nd({canonicalId:n,context:g,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:i});if(m=k,i||(g.meta.tokenBudget=f,g.meta.usedTokens=ki(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 Ud(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Ld(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=>Od({row:g,missingReachableSet:l,packetIds:m,filteredKinds:f,registry:u}));return jd({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:p})}function Bd(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 Gd(e,t,n,r,o,i,s){let a=o??wd,c=ne(n.nodeLimit,"node-limit")??kd,d=ne(n.edgeLimit,"edge-limit")??vd,l=ne(n.tokenBudget,"token-budget")??Ed,u={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=bi(e,r,new Set,a,t==="graph"?"repeated":i,new Set,u),m=wi(e,r,void 0),p;for(;;){let g=Ad(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?bt(new TextEncoder().encode(In(vn("deps",Me(p,!1)),s)).byteLength):ki(Me(p,!1),s,w=>{p.truncation.estimated_tokens=w}))<=l)return p;if(!Bd(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 rb(e,t,n){let r=D(process.cwd(),n.path);await O(r);let o=Id(t.format),i=Gt(t.maxDepth),s=xd(t.collapse);yt(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(),Sd(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 Md(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(Ud({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,...wi(e,f,i)},!0,Object.fromEntries(Object.entries(Fe(l,p=>L(p,u)).legacyAliasCounts))):Me(Gd(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 Kd=5,Hd=1e4,zd=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 Xe(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function Ht(e,t){let n=Xe(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function Wd(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 qd(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 Vd(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=Wd(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=qd(e,m.id,i,r,o);if(u+=p.inspectedEdges,Vd(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 vi(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function Ei(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 Yd(e,t,n,r,o,i,s){for(let a of Ei(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 Ii(e,t,n={}){return zt(e,t,n,"hierarchy",(r,o)=>Kt(r.edge,o)===r.id)}function xi(e,t,n={}){return zt(e,t,n,"hierarchy",(r,o,i)=>Kt(r.edge,o)===i)}function Ci(e,t,n={}){return zt(e,t,n,"ordering",(r,o)=>Xe(r.edge,o)===r.id)}function Si(e,t,n={}){return zt(e,t,n,"ordering",(r,o,i)=>Xe(r.edge,o)===i)}function Xd(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){Ei(e,m,r,a,c).length>0&&(l=!0);continue}if(Yd(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 Ti(e,t,n,r={}){vi(e,t),vi(e,n);let o=r.maxPaths??Kd,i=r.maxVisitedPaths??Hd,s=r.maxDepth??zd;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}}:Xd(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 Jd=16,Qd=2,Zd=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 el(e,t){let n=new Map;qt(e,t,r=>{Di(n,r.source,r.target),Di(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Di(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function tl(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 nl(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 Ri(e,t={}){let n=t.maxIterations??Jd,r=t.minSize??Qd;Wt("maxIterations",n),Wt("minSize",r);let o=el(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=tl(f,s);m!==s.get(u)&&(s.set(u,m),c=!1)}}return{value:{communities:nl(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===Xe(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function rl(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 ol(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 il(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function sl(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 al(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 sl(r,t.from,n.id,s);o.push({id:s,depth:n.depth+1})}}function cl(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=al(e,t,a,o,i,r);if(c!==void 0)return c}}function Ne(e,t={}){let n=t.maxDepth??Zd;Wt("maxDepth",n),t.limit!==void 0&&Wt("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,o=rl(e,t.kinds),i=ol(e,o),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...i.keys()].sort()){let l=i.get(d),u=il(l);for(let f of l.records){t.signal?.throwIfAborted();let m=cl(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 dl(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 ll(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,dl(l,u,f.value,o,a))}return{order:i,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function ul(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 fl(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 pl(e,t,n){let r;for(let o of[...e].sort())t.has(o)&&(r=r===void 0?o:fl(r,o,t,n));return r}function ml(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=pl(e.predecessors.get(a),i,r);c!==void 0&&i.get(a)!==c&&(i.set(a,c),s=!0)}}return i}function Ai(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=ll(e,t,n),o=ul(r,t),i=new Map(o.map((d,l)=>[d,l])),s=ml(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 Li(e){return Math.round(e*1e6)/1e6}function Fi(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function Mi(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 gl(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);Fi(r,s,a),Fi(n,a,s)}),{incoming:n,outgoing:r}}function hl(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 yl(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 _l(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function bl(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:Li((r.get(e)??0)/2),closeness:Li(o.get(e))}}function Ni(e,t={}){let n=Mi(e,t.kinds),r=gl(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=hl(l,n,a);s.set(l,_l(u,o.length)),yl(u,l,i)}let c=0;for(let l of n.values())c+=l.length;let d=o.map(l=>bl(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 wl(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function kl(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 vl(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(wl(r,e.node))}function El(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=kl(i,t,n);s!==void 0&&o.push(s)}else vl(i,e,n),o.pop()}}function Xt(e,t={}){let n=Mi(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)||El(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 Il(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 xl(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 Cl(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 Sl(e,t,n,r,o){let i=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=xl(t.forward.get(a),r,i,o);i.set(a,c-1)}return e.map(s=>Cl(s,n[s],i.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function Oi(e,t={}){t.signal?.throwIfAborted();let n=Rt(e,{registry:e.registry()}),r=Il(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=Sl(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 Tl=25,Dl="milestone",Rl="outcome milestone:",Al=new Set(["discovered_from","incident_from","recurs_from","supersedes","verifies"]);function Xn(e){return Al.has(e)}var $i={error:0,warning:1,info:2};function Pi(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 Ll(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 ji(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 Ui(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 Fl(e,t){let n=Pt(e);return n?[...Ll(n,t),...ji(n,t,!1),...ji(n,t,!0),...Ui(n,t,!1),...Ui(n,t,!0)]:[]}function Ml(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 Gi(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 Nl(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))):(Gi(i,r),t.push({node:i,neighborIndex:0})),!0}function Ol(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 $l(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(Gi(r,t);o.length>0;){let i=o.at(-1);Nl(i,o,e,t)||Ol(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 Pl(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 Ki(e){return`${e.holder_id} -> ${e.target_id} (blocked_by scalar + ${e.dependency_kind} dependency)`}function jl(e,t){let n=[],r=[];for(let i of e.orderingContradictions??[])(i.legacy_terminal?r:n).push(Ki(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 Ul(e,t,n,r){let o=[],i=Ml(e);for(let c of $l(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(Ki);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 Bl(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 Gl(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 Kl(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 Hl(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 zl(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 Wl(e,t,n){let r=new Set(e.details.filter(a=>a.type?.toLowerCase()===Dl&&a.title.trim().toLowerCase().startsWith(Rl)).map(a=>a.id)),{basis:o,reverse:i}=Kl(e,n),s=Hl(r,i,n);return{outcome_nodes:r.size,outcome_reachability_basis:o,...zl(t,r,s,n)}}function ql(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 Vl(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||ql(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=Wl(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??Tl;if(!Number.isInteger(o)||o<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let i=Pi(t.exemptIsolates),s=Pi(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=Pl(e,n,o);d.push(...Fl(e,o)),t.signal?.throwIfAborted(),d.push(...jl(e,o)),t.signal?.throwIfAborted(),d.push(...Ul(e,a,r,o)),t.signal?.throwIfAborted(),d.push(...Bl(e,a,o),...Gl(e,o)),t.signal?.throwIfAborted();let l=Vl(e,a,i,s,o,c,t.signal);d.push(...l.findings),d.sort((f,m)=>$i[f.severity]-$i[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 Bi(e){return e.profile.coverage_by_type??{}}function Yl(e,t){let n={},r=Bi(e),o=Bi(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 Hi(e,t){let n=Yl(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 zi 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 Wi=1,Qn=500,Xl=64,Jl="graph-durable-cache";function qi(e){return ht(e,Jl,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Qe(e){return zi.join(e,"runtime","graph-cache.json")}function Vi(e){return zi.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!==Wi||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(Qe(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 qi(e);try{let s=Zn(await ie(Qe(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-Xl)))delete a[d];await G(Qe(e),JSON.stringify({version:Wi,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await i()}}async function nr(e){let t=await qi(e);try{await qr(Qe(e))}finally{await t()}}async function Yi(e,t){let n=Qe(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 Xi(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Je(e,t){return e===void 0||t(e)}function Ql(e){return Pe(e)&&Object.values(e).every(Xi)}function Zl(e){return Pe(e)?Object.values(e).every(t=>Pe(t)&&[t.active,t.isolated,t.degree_leq_one].every(he)):!1}function eu(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=>Je(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 tu(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=>Je(e[i],he))&&n.every(i=>Je(e[i],he)&&(e[i]===void 0||Number(e[i])<=1e4))&&Je(e.finding_subjects_by_code,Zt)}function nu(e,t,n,r){let o=eu(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(!tu(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 ru(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||!Ql(n)||!he(r)||!Xi(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 ou(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)||!Je(r.coverage_by_type,Zl))return;let i=ru(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=nu(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 Ji(e){return ou(await ie(Vi(e)))}async function Qi(e,t){await G(Vi(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 iu={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 Zi(e){return`${e.source} -${e.kind}-> ${e.target}`}function su(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:Zi(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: ${Zi(t)}`,`group: ${Jt(e)}`],confidence:"high"}))}function au(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>su(t.get(r)));let n=iu[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 es(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=>au(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 os=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]),me=10;function ts(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 ns(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function cu(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(os.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 rs(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 du(e,t,n){let r={ancestors:Ii,descendants:xi,predecessors:Ci,successors:Si}[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 lu(e,t,n){let r=Ti(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 uu(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 fu(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 pu(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 mu(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 gu(e){let t=e.assembly.graph,n=e.limit??me,r=Rt(t,{registry:t.registry()}),o=ni(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:fu(r,e.summary,n),knowledge:pu(o,e.summary,n),hierarchy:mu(Pt(e.assembly),e.summary,n)}}function hu(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 yu(e){let t=e.limit??me,n={};e.kinds!==void 0&&(n.kinds=e.kinds);let r=Ri(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 _u(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 bu(e,t){let n=t.limit??me,r=Ai(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 wu(e){let t=e.limit??me,n=Oi(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 ku(e){let t=e.limit??me,n=Ni(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 vu(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 Eu(e,t){let n=e.limit??me,r=es(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 is(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 ss(e,t,n,r,o){return e==="analyze"?gu(r):e==="audit"?hu(r,o):e==="plan"?Eu(r,o):e==="communities"?yu(r):e==="redundancy"?_u(r):e==="dominators"?bu(t,r):e==="slack"?wu(r):e==="centrality"?ku(r):e==="articulation"?vu(r):e==="paths"?lu(t,n,r):e==="impact"?uu(t,r):du(e,t,r)}function Iu(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 xu(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,is(l,void 0,void 0,d),ss(l,void 0,void 0,d,o));s="rebuilt"}let a=await Yi(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 Cu(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 Ji(e);return r&&await Qi(e,o),i===void 0?n:{...n,baseline:Hi(i,o)}}async function Su(e,t,n,r,o){try{await tr(e,t,n,r,o)}catch{}}async function ew(e,t,n,r,o){let i=cu(e,t,n);yt(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);Iu(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:ns(r.exemptIsolate),exemptIsolateTypes:ns(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0};if(i==="index")return ts(await xu(s,p.fingerprint,g,d.length,u,r),!1);let k=os.has(i)?rs(g.assembly,t):void 0,b=i==="paths"?rs(g.assembly,n):void 0,_=is(i,k,b,g),w=await er(s,p.fingerprint),E=w.results[_],x=p.memoize(_,()=>E!==void 0?structuredClone(E):ss(i,k,b,g,u)),F=rr(d.length,w.exists);!x.reused&&E===void 0&&F&&await Su(s,p.fingerprint,w,_,x.value);let T=x.value.subcommand==="audit"?await Cu(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"},ts(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",as="blocks",Tu=Object.freeze([ar,as]),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===as&&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 cs(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))??cs(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 Ze(e,t){let n=new Map(e.map(s=>[S(s.id),s])),r=tn(e),o=new Set([...ds(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 ds(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Du(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 Ru(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}=Ru(t),a=new Set([...ds(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,Du(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 et(e,t){let n=lr(e,t);return n===void 0?void 0:new Set(n)}function ls(e,t,n="--type"){let r=lr(e,{label:n});if(r===void 0)return;let o=r.map(i=>{let s=mt(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 us(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"],Au={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"full","list-canceled":"full"},Lu=["tree_depth","tree_parent","tree_children","tree_title"];function pr(e=[]){return[...new Set([...yn,"body",...Lu,...e])].flatMap(t=>[t,`item.${t}`]).sort()}var pw=["brief","standard","deep"],Fu=["body","linked","claim_state","children","schedule"],Mu=["linked.files","linked.tests","linked.docs"],Nu=["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"],Ou=["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"];function mw(e=[]){return[...[...new Set([...yn,...e,"notes_count","tests_count","collection_counts"])].flatMap(n=>[n,`item.${n}`]),...Fu,...Mu,...Nu,...Ou].sort()}var gw=["id","title","status","type","priority","updated_at","score","matched_fields"],$u=["score","matched_fields","highlights"],fs=["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"];function hw(e=[]){let t=[...new Set(e)];return[...$u,...fs,...fs.map(n=>`item.${n}`),...t,...t.map(n=>`item.${n}`)].sort()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function ps(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function ys(e){return{isTerminal(t){return e.terminal_statuses.has(ps(t,e))},classify(t){let n=ps(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 _s(e,t){return t.isTerminal(e.status)?$(e.resolution)===void 0:!1}function Pu(e){return $(e.reviewer)===void 0}function ju(e){return $(e.risk)===void 0}function Uu(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):$(e.confidence)===void 0}function Bu(e){return $(e.sprint)===void 0}function Gu(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 Ku(e,t,n){return[[t.acMissing,mr(e)],[t.estimatesMissing,gr(e)],[t.resolutionMissing,_s(e,n)],[t.reviewerMissing,Pu(e)],[t.riskMissing,ju(e)],[t.confidenceMissing,Uu(e)],[t.sprintMissing,Bu(e)],[t.releaseMissing,Gu(e)]].every(([o,i])=>o!==!0||i)}function Hu(e,t){return mr(e)||gr(e)||_s(e,t)}function bs(e,t,n){return hr(t)?!(!Ku(e,t,n)||t.metadataMissing&&!Hu(e,n)):!0}var yr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function zu(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 Wu(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function qu(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ms(){let e={};for(let t of yr)e[t]={present:0,applicable:0,percent:100};return e}function gs(e,t,n){for(let r of yr){if(!Wu(t,r,n))continue;let o=e[r];o.applicable+=1,zu(t,r)&&(o.present+=1)}}function hs(e){for(let t of yr){let n=e[t];n.percent=qu(n.present,n.applicable)}}function bw(e,t){let n=ms(),r={};for(let o of e){gs(n,o,t);let i=r[o.type]??(r[o.type]=ms());gs(i,o,t)}hs(n);for(let o of Object.values(r))hs(o);return{overall:n,by_type:r}}var Vu={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Yu(e){return Vu[e]}function Xu(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Ju(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 ww(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 Ju(a,t,r)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Yu(t),key:d,buckets:Xu(),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 Qu(e){return typeof e=="string"&&e.trim().length>0}function Zu(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 ks(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 Qu(e.body);case"linked_command":return Zu(e.tests)}}function vs(e){return je.some(t=>e[t]!==void 0)}function Es(e,t){for(let n of je){let r=t[n];if(r===void 0)continue;let o=ks(e,n);if(r==="present"&&!o||r==="absent"&&o)return!1}return!0}function Is(e){return je.some(t=>t!=="body"&&e[t]!==void 0)}function xs(e){return e.body!==void 0}function ws(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ef(){let e={};for(let t of je)e[t]={present:0,total:0,percent:100};return e}function vw(e){let t=ef(),n=e.length;for(let s of e)for(let a of je)ks(s,a)&&(t[a].present+=1);for(let s of je)t[s].total=n,t[s].percent=ws(t[s].present,n);let r=t.body,o=n-r.present,i={present:o,total:n,percent:ws(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 tf=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}),Cs=[{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"}],Ls=e=>{let t=Cs.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(Cs.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Ss=["priority","deadline","updated_at","created_at","title","parent"],Ts=["asc","desc"],Fs=new Set(Mo);function nf(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 rf(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var of=[{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"}],sf=[{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 Ms(e,t){for(let n of of)t[n.key]===!0&&(e[n.summaryKey]=!0)}function Ns(e,t){for(let n of sf)t[n.key]===!0&&(e[n.summaryKey]=!0)}function af(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 cf(e){let t={};return Ms(t,e),t}function df(e){let t={};return Ns(t,e),t}var lf=[{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"}],uf=[{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"}],ff=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],pf="-7d";function mf(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"),af(c,n,lf),$s(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),Ns(c,n),Ms(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),rf(a)&&(c.runtime_filters=a),c}function Os(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 gf(e,t){return[...e].sort((n,r)=>Os(n,r,t))}function Ds(e,t){if(e!==void 0)return se(e,new Date,t)}function tt(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return se(n,new Date,t)}function hf(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?tt(pf,"recent"):tt(e.updatedAfter,"updated-after")}function $s(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function yf(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 Ps(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 _f(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 bf(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,o=e.full===!0,i=_f(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 wf(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 kf=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function vf(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=kf.get(t);if(n)return n;if(!Ss.includes(t))throw new y(`Sort field must be one of ${Ss.join("|")} (aliases: updated->updated_at, created->created_at)`,h.USAGE);return t}function Ef(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Ts.includes(t))throw new y(`Sort order must be one of ${Ts.join("|")}`,h.USAGE);return t}function If(e){return V(e,"--tree-depth")}function xf(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 Rs(e,t){return Ao(e,t,{strict:!0})}function js(e){return et(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Cf(e,t,n){let r=js(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 Sf(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 Tf(e,t,n,r){let o=et(t.assignee,{label:"--assignee"}),i=xf(t.assigneeFilter);Sf(o,i);let s=tf(t),a=Ls(t);return{idsFilter:yf(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:ls(t.type,n),tagFilters:js(t.tag),priorityFilter:us(t.priority),deadlineBefore:Ds(t.deadlineBefore,"deadline-before"),deadlineAfter:Ds(t.deadlineAfter,"deadline-after"),updatedAfter:hf(t),updatedBefore:tt(t.updatedBefore,"updated-before"),createdAfter:tt(t.createdAfter,"created-after"),createdBefore:tt(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:et(t.sprint,{label:"--sprint"}),releaseFilter:et(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:hr(s),lifecycleClassifier:ys(r),contentFieldFilters:a,contentFiltersActive:vs(a)}}function Df(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 Rf(e,t){return Xr(e,t)}function Af(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 Lf(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 Ff(e,t,n,r,o){return!(!Df(e,t,n)||!Rf(e,t)||!Af(e,t)||!Lf(e,t,o)||t.missingMetadataActive&&!bs(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Es(e,t.contentFieldFilters)||!Ct(e,r))}function Mf(e,t,n,r,o,i,s){let a=Tf(t,n,r,o);return e.filter(c=>Ff(c,a,o,i,s))}function nt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function As(e,t,n,r){let o=e,i=typeof o.title=="string"?o.title:"",s=r??nt(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 Nf(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)??[]:[nt(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 Of(e,t,n,r,o){return t?[...r.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[nt(i.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function $f(e,t,n,r,o=e){let{byId:i,childrenByParent:s}=Nf(e,r),a=Of(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(As(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(As(f,0,s.get(m)?.length??0)))}return c}function Pf(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function jf(e,t){return e===t?0:e===null?1:t===null?-1:I(e,t)}function Uf(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return jf(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 Pf(e.parent??null,t.parent??null);default:return 0}}function Bf(e,t,n,r){return t?[...e].sort((o,i)=>{let s=Uf(o,i,t);if(s!==0)return n==="desc"?-s:s;let a=Os(o,i,r);return n==="desc"?-a:a}):gf(e,r)}function Gf(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 Us(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let o={};for(let i of t.fields)o[i]=Gf(r,i,n);return o})}function Kf(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function Hf(e,t){if(e.noTruncate!==!0)return V(e.limit)??(t>=1e4?20:void 0)}function zf(e,t,n){return t.after===void 0?Ps(t.offset)??0:Se(e,t.after,n,r=>r.id)}function Bs(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function Wf(e,t){let n=D(process.cwd(),t.path);await O(n);let r=await R(n),o=K(r.schema),i=gt(r.schema),s=e.projectionCommand??"list",a=bf(e,s);return wf(a,Kf(i.definitions),s),{pmRoot:n,settings:r,statusRegistry:o,runtimeFieldFilters:xt(e,i,"list"),typeRegistry:N(r,A()),projection:a}}async function qf(e,t,n){let r=t.projection.fields.some(c=>be(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Fs.has(be(c))),i=Ls(e),s=Is(i),a=xs(i);return e.includeBody||r||a?await Po(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):o||s?await $o(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 Vf(e){let t=vf(e.sort),n=Ef(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?If(e.treeDepth):void 0,parentRoot:r?nt(e.parent):void 0}}function Yf(e,t,n){let r=Rs(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??Rs(e,n),s=Ro(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 Xf(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=Hf(t,e.length),s=zf(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=Us(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:Bs(i,l,u)}}function Gs(e,t,n){return le("list",{status:e,options:_t(t,jo),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function Jf(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"||Fs.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=Ps(t.offset)??0,u=await Fo({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(Gs(r.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:Us(u.items,n.projection,!1),totalMatched:u.total,pageExtras:Bs(d,f,m)}}function Qf(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 uf){let f=l[u.optionKey];f!=null&&(d[u.summaryKey]=f)}for(let u of ff)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,df(n),cf(n)),$s(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 rt(e,t,n){let r=await Wf(t,n),o=[],i=Vf(t),s=Yf(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await Jf({options:t,runtime:r,statusSelection:s,ordering:i}),d=c;if(!d){let g=await qf(t,r,o),b=i.treeEnabled||nt(t.parent)!==void 0?On(fi(g,P())):void 0;Cf(g,t.tag,o);let _=Mf(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,b?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let F=Ze(g,r.statusRegistry);return _.filter(T=>F.has(T.id.trim().toLowerCase()))})():_,E=Bf(w,i.sortField,i.sortOrder,r.statusRegistry),x=i.treeEnabled?$f(E,i.parentRoot,i.treeDepth,b,g):E;d=Xf(x,t,r.projection,i.treeEnabled,Gs(s.filtersStatus,t,i))}let l=B(),u=[...new Set(o)].sort((g,k)=>g.localeCompare(k)),f=nf(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=mf({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:Qf({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 Zf}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"],ep=["sun","mon","tue","wed","thu","fri","sat"],tp=365,np=365,zs=28,rp=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 op(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 Ws(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 ip(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_r.includes(t)){let n=Ws(t,_r);throw new y(`Calendar view must be one of ${_r.join("|")}${n?`. Did you mean "${n}"?`:"."}`,h.USAGE)}return t}function sp(e){if(!e)return;let t=e.trim().toLowerCase();if(!br.includes(t)){let n=Ws(t,br);throw new y(`Calendar format must be one of ${br.join("|")}${n?`. Did you mean "${n}"?`:"."}`,h.USAGE)}return t}function ok(e,t){let n=sp(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 ap(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 cp(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 qs(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 Vs(e){let t=new Date(Ir(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return ce(t.toISOString(),r)}function dp(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function lp(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function up(e,t){return I(e,t)>=0?e:t}function Ks(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Hs(e,t){e.set(t,(e.get(t)??0)+1)}function fp(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 Ys(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 Xs(e){return ep[new Date(e).getUTCDay()]}function pp(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function mp(e){let t=new Set;for(let n of e??[]){let r=pp(n);r&&t.add(r)}return t}function gp(e,t,n,r,o){let i=e??ce(n,-(r??np)),s=t??ce(e??n,o??tp);return{start:i,end:I(s,i)>0?s:ce(i,1)}}function hp(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[Xs(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??rp,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:mp(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=Xs(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function yp(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 _p(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 bp(e){let t=Vs(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=_p(e,r,o);if(sn(e,i)&&on(e,i)==="stop")return e.occurrences}}return e.occurrences}function wp(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=Ys(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!sn(e,s))&&on(e,s)==="stop")return e.occurrences}}return e.occurrences}function kp(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=Ys(o,n,i,e.startDate);if(!(!s||!sn(e,s))&&on(e,s)==="stop")return e.occurrences}}return e.occurrences}function vp(e,t,n,r){let o=hp(e,t,n,r);return t.freq==="daily"?yp(o):t.freq==="weekly"?bp(o):t.freq==="monthly"?wp(o):kp(o)}function Js(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 Ep(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 Ip(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 xp(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Cp(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Sp(e,t,n,r){let o=fp(t.recurrence),i=xp(t.start_at,t.end_at);return(t.recurrence?vp(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):qs(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Cp(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 Tp(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?Ep(i):null;s&&o.push(s),n.has("reminders")&&o.push(...Ip(i));for(let a of n.has("events")?i.events??[]:[])o.push(...Sp(i,a,t,r))}return Js(o)}function Dp(e,t,n,r,o){let i=ri(t.type,n),s=t.tag?.trim().toLowerCase(),a=At(t.priority),c=ap(t.status,r),d=t.assignee?.trim(),l=cp(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=>Rp(m,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function Rp(e,t){return Ap(e,t)&&Lp(e,t)&&Ct(e,t.runtimeFieldFilters)}function Ap(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 Lp(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 Fp(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 Mp(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 Np(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=Vs(r);return vr(r,n,o,i,d,ce(d,7))}let c=dp(r);return vr(r,n,o,i,c,lp(r))}function Np(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:up(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function Op(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:Js(r)}))}function $p(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),Hs(n,c.item_type),Hs(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:Ks(n),by_status:Ks(r),recurring_events:a}}function Pp(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Qs(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 jp(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===qs(e.event_end,e.event_timezone)?Qs(e.event_end,e.event_timezone):e.event_end:null}function Up(e){let t=`${Qs(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=jp(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 ik(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Pp(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(`- ${Up(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 Bp(t.join(`
3
+ `))}function sk(e){return Zf(e)}function Bp(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function Gp(e){let t=B(),n=ip(e.view),r=Mp(n,e,t),o=V(e.limit),i=op(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?zs:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Kp(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${zs}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Hp(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 zp(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 Zs(e,t){let n=D(process.cwd(),t.path);await O(n);let r=Gp(e),o=await R(n),i=K(o.schema),s=gt(o.schema),a=xt(e,s,"calendar"),c=N(o,A()),d=[];Kp(d,r.eventsOnlyCapApplied);let l=await ee(n,o.item_format,c.type_to_folder,d,o.schema),u=Dp(l,e,c,i,a),f=gp(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),p=Tp(u,f,r.includeSources,r.occurrenceLimit).filter(_=>Fp(_,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?p:p.slice(0,r.limit),k=Op(g),b=[...new Set(d)].sort((_,w)=>_.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:zp(e,r.rangeBounds),filters:Hp(e,a),summary:$p(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 ea="1970-01-01T00:00:00.000Z";function ot(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"],Wp=Symbol("no-context-author"),qp=Symbol("no-item-assignee");function ta(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Vp(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 Yp(e){let t=Vp(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:ot(e.created_at)??ea}}function Xp(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=ot(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function Jp(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 Qp(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 Zp(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?Yp(d):Xp(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=ta(t.author,Wp),a=H("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let l=ta(d.assignee,qp)===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:Jp(d.priority,4),risk_pressure:Zp(d.risk),deadline_pressure:Qp(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 em="context_relevance",tm={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},nm=new TextEncoder;function rm(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 om(e){let t={...tm};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 ra(e,t={}){rm(e);let n=om(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 im(e,t={}){let n=ra(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=ra(t,n),o=await oo(em,{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 im(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 sm=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function na(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function am(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:na(e.required_ids??[],a),continuity_coverage:na(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function cm(e){return Math.ceil(nm.encode(JSON.stringify(e)).byteLength/4)}function dm(e){return Math.round(e*1e4)/1e4}function lm(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 um(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}=lm(n,e.surface),i={...n,ranking:void 0},s=cm(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:am({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 fm(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=sm;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,dm(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 mk(e,t,n){let r=[];for(let o of e)r.push(await um(o,t));return fm(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 pm={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},mm=["identity","summary","full"];function gm(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=mm.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 hm(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=pm[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 ym(e){let t=new Set;for(let n of e){if(gm(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 _m(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 bm(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=_m(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 wm(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 oa(e,t){let n=hm(t),r=ym(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=bm({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,c=wm(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 it from"node:fs/promises";import st from"node:path";import{createHash as ia,randomUUID as km}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,sa=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],vm=new Set(["substantive_history","release_cohort","created_at"]),Em={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 aa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Im(e){let t={};for(let n of sa){let r=e[n];if(r!==void 0){if(!aa(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function xm(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 Cm(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 ca(e,t){return{...t,activityDensity:t.activityDensity??xm(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??Cm(e)}}function Ar(e){let t=ia("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 Sm(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=ot(n.coordinate);if(r===null)return null;let o=new Set(sa),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&aa(a))||![typeof n.source=="string"&&vm.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 Tm(e,t){let n=Array.from(e,Sm);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 Dm(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=Tm(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 da(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 la(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:Im(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 xk(e,t){return da(t),la(cn(e,ca(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=st.resolve(t)}async read(){try{return JSON.parse(await it.readFile(this.filePath,"utf8"))}catch(t){if(Ue(t)&&ft(t))return null;throw t}}async write(t){let n=st.dirname(this.filePath);await it.mkdir(n,{recursive:!0});let r=st.join(n,`.${st.basename(this.filePath)}.${km()}.tmp`);try{await it.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await it.rename(r,this.filePath)}finally{try{await it.rm(r,{force:!0})}catch{}}}},Rr=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){da(n);let r=[],o=null;try{let f=await this.adapter.read();o=Dm(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,ca(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=la(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=>Em[f])}}};function Rm(e){let t=ia("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??Rm(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new Rr(new Dr(st.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 Am(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 Lm(e,t,n){let r,o;for(let i of t){let s=Am(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 ua(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 Sk(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=Lm(o.id,t.get(o.id)??[],n);i!==void 0&&r.push(i)}return r.sort((o,i)=>o.id.localeCompare(i.id))}import Fm from"node:path";import{createHash as Mm}from"node:crypto";import Nm 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 fa=1,Om=1e4,pa=12;function $m(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Pm(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 jm(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 Um(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=ua(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=$m(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=Pm(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:fa,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(jm).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function Bm(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 Gm(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(Bm)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Km(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==fa||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(Gm)?t:null}function Hm(e){return`scan:${Mm("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 zm(e,t,n){return n!==void 0?n:(await De(t))?.source_cursor??Hm(e)}async function Wm(e){try{let t=Km(JSON.parse(await Nm.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&ft(t))}}}async function ma(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Om));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await zm(e,t.pmRoot,t.sourceCursor),o=Fm.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await Wm(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=Um(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 qm(e,t,n=pa){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 ga(e,t,n=pa){if(e.snapshot===null)return;let r=qm(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 Vm(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 $k(e,t,n=5){let r=Vm(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 ha=16;async function ya(e,t,n){let r=N(t,A()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<ha;){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 Kk(e){await lo({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await ya(e.pmRoot,e.settings,e.itemId)})}async function Hk(e){await uo(e)}async function zk(e){await fo({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await ya(e.pmRoot,e.settings,e.itemId)}:{}})}var Wk={lineage_depth:ha,active_items:64,evidence_rows:32};function _a(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 Ym=["markdown","toon","json","ndjson"],ct=new Set(["Epic","Feature"]),Ea=10,Ia=1e4,xa=["hierarchy","activity","progress","recently_created","unparented","workload"],Xm=[...xa,"blockers","files","staleness","tests"],Jm=/^(\d{4})-(\d{2})-(\d{2})/,Qm=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Zm=/^(\d{4})(\d{2})(\d{2})$/,eg=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function tg(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ym.includes(t))throw new y("Context format must be one of markdown|toon|json|ndjson",h.USAGE);return t}var ba=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 ng(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ba.has(r))throw new y(`Context --fields value not projectable: ${r} (valid: ${[...ba].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 at(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function uv(e,t){let n=tg(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 rg(e,t){return V(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ea)}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 og(e,t){return t>=Ia&&e===Number.MAX_SAFE_INTEGER?Ea:e}function ig(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 sg(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!pt.includes(s))throw new y(`Context --section must be one of ${pt.join("|")}`,h.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...pt]:(t==="deep"?Xm:xa).filter(o=>n.sections[o])}function ag(e,t){return e?V(e,"--activity-limit")??t.activity_limit:t.activity_limit}function cg(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 wa(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 dt(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 Ca(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function dg(e,t){return t.blocked_statuses.has(C(e,t))}var lg=["compact","brief","fields","includeBody","include_body","parent"];function ug(e){let t={...e};for(let n of lg)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=lt(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function fg(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 pg(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function mg(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 gg(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function hg(e){let t=Jm.exec(e)??Qm.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<=gg(n,r-1)}function yg(e){let t=Zm.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=eg.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 Sa(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!hg(t))return Number.NaN;let n=Date.parse(yg(t));return Number.isFinite(n)?n:Number.NaN}function Fr(e){let t=Sa(e);return Number.isFinite(t)?new Date(t).toISOString():""}function _g(e){let t=Sa(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=wa(e.status,n)-wa(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=pg(e.order,t.order);if(i!==0)return i;let s=mg(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 oa(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 Ta(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 ut(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=lt(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>dt(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Ta(s,i)}}return r}function bg(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 wg(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function kg(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=>ct.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=o.get(c);if(!d)continue;let l=lt(c,i),u=i.get(c)??[],f=0,m=0,p=0,g=0;for(let b of l)dt(b.status,n)?f++:Nr(b.status,n)?p++:dg(b.status,n)?g++:Ca(b.status,n)&&m++;let k=u.sort((b,_)=>we(b,_,n)).slice(0,r).map(b=>{let _=lt(b.id,i),w=_.filter(E=>dt(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 lt(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 vg(e,t){return(await ci({compact:!0,limit:String(e)},t)).compact_activity??[]}function Eg(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=>ct.has(c.type)),a=[];for(let c of s){let d=lt(c.id,i),l=d.length;if(l===0)continue;let u=0,f=0,m=0,p=0;for(let g of d)dt(g.status,r)?u++:n.has(g.id.trim().toLowerCase())?p++:Nr(g.status,r)?m++:Ca(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:Ta(u,l)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,o)}function Ig(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 xg(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 Cg(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 Sg(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 Tg(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})=>({...ut(o,t,n),created_at:o.created_at}))}function Dg(e,t,n,r){return e.filter(o=>!$r(o.parent)&&!ct.has(o.type)).sort((o,i)=>we(o,i,t)).slice(0,r).map(o=>ut(o,t,n))}function Rg(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 ka(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Da(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 Ag(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function Lg(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`${ka(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${ka(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 va(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 Fg(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 Mg(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(`- ${Lg(n)}`);e.push("")}function Ng(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 Og(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 $g(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)}`:`- ${_g(o.created_at)} ${Da(o)}`);e.push("")}}function Pg(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 jg(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 Ug(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 Bg(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 Gg(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 Kg(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 Hg(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 zg(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 fv(e){let t=[],n=e.focus_fields,r=i=>n?Ag(i,n):Da(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(""),va(t,"High-level focus",e.high_level,"No high-level active items.",r),va(t,"Low-level focus",e.low_level,"No low-level active items.",r),Fg(t,e,r),Mg(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 Ng(t,e),Og(t,e),$g(t,e,n,r),Pg(t,e,r),jg(t,e),Ug(t,e),Bg(t,e),Gg(t,e),Kg(t,e),Hg(t,e),zg(t,e),t.join(`
7
+ `)}async function Wg(e,t){let n=D(process.cwd(),t.path),r=await R(n),o=r.context??Vr.context,i=K(r.schema),s=ig(e.depth,o),a=rg(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:sg(e.section,s,o),activityLimit:ag(e.activityLimit,o),staleThresholdDays:cg(e.staleThreshold,o),parentScope:fg(e.parent),focusFields:ng(e.fields),baseListOptions:ug(e)}}function Br(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function qg(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Vg(e,t){let n=Br(t.sectionsIncluded),r=await rt(void 0,qg(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=Yg(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 Yg(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 Xg(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 Et({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=ut(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},Ka=J.filter(v=>ct.has(v.type)).slice(0,u?T.length:s).map(mn),Ha=J.filter(v=>!ct.has(v.type)).slice(0,u?T.length:s).map(mn),zr=x.length===0;return{activeItems:J,blockedItems:ke,highLevel:Ka,lowLevel:Ha,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 Jg(e){return le("context",_t(e,Uo))}function Qg(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Ia}async function Zg(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await Zs(o,e),s=n===void 0?i.events:i.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=wg(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:bg(a)}}function eh(e,t,n){let r=String(t);return e.filter(o=>C(o.status,n)===r).length}async function th(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")?kg(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await vg(t.activityLimit,a):void 0,progress:l("progress")?Eg(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Ig(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?Tg(d,t.statusRegistry,c,t.limit):void 0,unparented:l("unparented")?Dg(d,t.statusRegistry,c,t.limit):void 0,filesSection:l("files")?xg(i.activeItems,t.limit):void 0,workload:l("workload")?Cg(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Sg(d,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Rg(i.activeItems):void 0}}function nh(e,t,n){if(!e)return{};let r=H("canceled",n);return{total_items:t.length,closed:t.filter(o=>dt(o.status,n)).length,canceled:t.filter(o=>C(o.status,n)===r).length}}function rh(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 oh(e,t){t&&(e.focus_fields=t,e.high_level=at(e.high_level,t),e.low_level=at(e.low_level,t),e.blocked_fallback=at(e.blocked_fallback,t),e.recently_created&&(e.recently_created=at(e.recently_created,t)),e.unparented&&(e.unparented=at(e.unparented,t)))}function ih(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 sh(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 ah(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 kt(e,"context"))s.has(c)||(i.push({id:c,rank:i.length+1,included:!1}),s.add(c));let a=await vt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});wt(e,a)}catch{e.warnings=un(e.warnings,["context_usage_feedback_write_failed"])}}async function ch(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 dh(e,t){let n=po(),r=await ao(e),o=n.instance||co(t);return _a(r.semantic_attribution?.[o])}async function pv(e,t){let n=D(process.cwd(),t.path),r=await Wg(e,t),o=await Vg(t,r),i=og(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 dh(n,a),d=ch(e.noExtensionHealth===!0,n,s.settings),l=Ze(o.fullCorpus,s.statusRegistry),u=await Xg(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,B(),a,e.after,Jg(e),Qg(e,o.fullCorpus.length),n,s.tokenBudget,c),f=await Zg(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),m=await ma(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=eh(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),k=u.activeItems.length-g,b=await th({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),_=nh(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=ga(m,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),rh(w,b,u.featureStore.warning_details),ih(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)),oh(w,s.focusFields),p.length>0&&(w.warnings=p),sh(w,u.activeItems,u.blockedItems),await ah(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 lh=["markdown","toon","json"],uh=5,fh=1440*60*1e3;function ph(e){if(!e)return;let t=e.trim().toLowerCase();if(!lh.includes(t))throw new y("Next format must be one of markdown|toon|json",h.USAGE);return t}function Iv(e,t){let n=ph(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 Ra(e,t,n){let r=V(e,t);return r===void 0||r<=0?n:r}function Gr(e,t,n,r){return{...ut(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 mh(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(hh(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 La(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 xv={partitionCallerOwnedReady:La,resolveNextCallerAuthor:(e,t)=>Fa(e,t)};function gh(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 hh(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))/fh);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function yh(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 _h(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 Aa(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 bh(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:mh(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function wh(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 kh(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 vh(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 kt(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await vt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});wt(e.result,o)}catch{e.result.warnings=un(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Eh(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=wh(e.recommended,e.blockedRows),await vh({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Ih(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 xh(e,t,n,r,o,i,s){let a=e.filter(g=>!Kr(g.item,t)),c=a.length>0?a:e,d=await Et({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 Fa(e,t){let n=e.assignee?.trim();return ge(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Cv(e,t){let n=D(process.cwd(),t.path),r=await R(n),o=Fa(e,r.author_default),i=K(r.schema),s=B(),a=Ra(e.limit,"--limit",uh),c=Mr(e.tokenBudget,Math.max(192,a*128)),d=Ra(e.blockedLimit,"--blocked-limit",a),l=e.readyOnly===!0,u=typeof e.parent=="string"?e.parent.trim():"",f=await rt(void 0,_h(e,{excludeTerminal:!0}),t),m=await rt(void 0,{excludeTerminal:!1,noTruncate:!0},t),p=Ih(f.items,m.items,u),g=m.items,k=dr(p,g,i),b=Be(g),_=gh(k.ready,e.includeDecisions===!0),w=La(_.agent,r.author_default,o),E=Aa(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 xh(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=Aa(_.decisions,b,i).map((re,oe)=>Gr(re,i,b,oe+1)),J=bh({projectedReady:F,readyRows:M,statusRegistry:i,now:s,completedContainer:j}),ke=kh(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:yh(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 Eh({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 Sv(e){let t=["# pm next","",...Ch(e)];if(t.push(...fn("Recommended",Sh(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=>`- ${Th(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 Ch(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 Sh(e){return e?[`- ${pn(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function fn(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Th(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 Dh}from"node:crypto";import{setTimeout as Rh}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 Na=1,Oa=/^[A-Za-z0-9_-]+$/,Ah=100,Ma=1e3,Lh=250,jv=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 $a(e){return Dh("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:Na,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 Pa(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===Na,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 ja(e,t){let n=e.trim();if(n.length===0||n.length>4096||!Oa.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(!Pa(r,t))throw new y("Mutation event cursor does not match this query.",h.USAGE,{code:"event_cursor_query_mismatch"});return r}function Ua(e){let t=e??Ah;if(!Number.isSafeInteger(t)||t<0||t>Ma)throw new y(`Mutation event limit must be an integer from 0 to ${Ma}.`,h.USAGE,{code:"invalid_event_limit"});return t}function Ba(e){return e instanceof Error&&e.name==="AbortError"}function Ga(e,t){let n=e?.trim();if(!n)return{};if(Oa.test(n))return{cursor:ja(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 Fh(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 Mh(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 Nh(e={}){let t=D(e.cwd??process.cwd(),e.pmRoot);await O(t);let n=Ua(e.limit),r=Mh(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=$a(e),{cursor:l,sinceTimestamp:u}=Ga(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 Fh(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*Oh(e={}){let t=e.intervalMs??Lh;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 Nh({...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 Rh(t,void 0,{signal:e.signal})}catch(i){if(Ba(i))return;throw i}}}async function*Uv(e={}){for await(let t of Oh({...e,cursorMode:"row"}))for(let n of t.events)yield n}var Bv={decodeMutationEventCursor:ja,encodeMutationEventCursor:Hr,eventQueryFingerprint:$a,isAbortError:Ba,isMutationEventCursorEnvelope:Pa,parseMutationEventLimit:Ua,resolveMutationEventStart:Ga};(function(){try{var e=typeof window<"u"?window:typeof 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 Kv(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{Bo as a,Go as b,Ke as c,Ko as d,Ho as e,Yh as f,zo as g,Rn as h,_y as i,by as j,Fy as k,My as l,Rt as m,Dt as n,ni as o,Py as p,V as q,At as r,ri as s,Lt as t,Ft as u,Ln as v,Mt as w,Vy as x,Fn as y,Nt as z,i_ as A,ci as B,ae as C,te as D,jc as E,l_ as F,Uc as G,u_ as H,f_ as I,p_ as J,m_ as K,P as L,fi as M,$t as N,E_ as O,On as P,I_ as Q,Ve as R,Zc as S,td as T,Pn as U,nd as V,Fe as W,jt as X,jn as Y,Ut as Z,N_ as _,yi as $,rb as aa,Ii as ba,xi as ca,Ci as da,Si as ea,Ti as fa,qt as ga,Ri as ha,Ne as ia,Ai as ja,Ni as ka,Xt as la,Oi as ma,$l as na,Ki as oa,Jt as pa,Jn as qa,Qt as ra,Hi as sa,Wi as ta,Qn as ua,Qe as va,Vi as wa,er as xa,tr as ya,nr as za,Yi as Aa,rr as Ba,Ji as Ca,Qi as Da,es as Ea,cu as Fa,ew as Ga,Kv as Ha,Tu as Ia,ye as Ja,tn as Ka,cs as La,nn as Ma,Ze as Na,dr as Oa,lr as Pa,et as Qa,ls as Ra,us as Sa,ys as Ta,hr as Ua,bs as Va,bw as Wa,ww as Xa,vs as Ya,Es as Za,vw as _a,ur as $a,fr as ab,Au as bb,pr as cb,pw as db,mw as eb,gw as fb,hw as gb,tf as hb,Ls as ib,Ss as jb,Ts as kb,af as lb,cf as mb,df as nb,rt as ob,ok as pb,ik as qb,sk as rb,Zs as sb,ea as tb,ot as ub,Cr as vb,cn as wb,em as xb,ra as yb,im as zb,dn as Ab,sm as Bb,am as Cb,um as Db,fm as Eb,mk as Fb,pm as Gb,oa as Hb,Sr as Ib,Tr as Jb,Em as Kb,Dm as Lb,xk as Mb,Dr as Nb,Rr as Ob,ln as Pb,ua as Qb,Sk as Rb,Om as Sb,Um as Tb,ma as Ub,qm as Vb,ga as Wb,Vm as Xb,$k as Yb,ya as Zb,Kk as _b,Hk as $b,zk as ac,Wk as bc,_a as cc,Ym as dc,ng as ec,at as fc,uv as gc,Mr as hc,ig as ic,sg as jc,Or as kc,we as lc,Pr as mc,jr as nc,Ur as oc,Be as pc,ut as qc,un as rc,fv as sc,ih as tc,pv as uc,lh as vc,Iv as wc,xv as xc,gh as yc,Cv as zc,Sv as Ac,jv as Bc,Nh as Cc,Oh as Dc,Uv as Ec,Bv as Fc};
9
+ //# sourceMappingURL=chunk-AY324UJ5.js.map