@unbrained/pm-cli 2026.8.13 → 2026.8.14

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 (136) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +141 -112
  3. package/dist/cli/main.js +39 -3
  4. package/dist/cli-bundle/bundle-manifest.json +144 -176
  5. package/dist/cli-bundle/chunks/{chunk-DEDU3DG7.js → chunk-BBOFSVAK.js} +66 -65
  6. package/dist/cli-bundle/chunks/chunk-BFALV3YP.js +5 -0
  7. package/dist/cli-bundle/chunks/{chunk-Q47C67TQ.js → chunk-FIW4P64F.js} +2 -2
  8. package/dist/cli-bundle/chunks/{chunk-QGTUPEU5.js → chunk-G5JUB66K.js} +41 -41
  9. package/dist/cli-bundle/chunks/{chunk-3ZMOWAFM.js → chunk-SBRKH6OR.js} +2 -2
  10. package/dist/cli-bundle/chunks/chunk-TMJ7URWS.js +13 -0
  11. package/dist/cli-bundle/chunks/{chunk-F7FJYGK3.js → chunk-TXMEUUUY.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-YLBAPY22.js → chunk-XAVMOK6B.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-TF3TPKPR.js → chunk-YAMTJL6Y.js} +33 -33
  14. package/dist/cli-bundle/chunks/{chunk-IMGIN7R6.js → chunk-YSVSMJ2B.js} +2 -2
  15. package/dist/cli-bundle/chunks/{register-list-query-4HIZ7EA3.js → register-list-query-T3EHHNNV.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-mutation-W64FZ5HN.js → register-mutation-E27WCLSZ.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-operations-C44ET7R5.js → register-operations-4R6I7CPY.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-setup-634MFRXU.js → register-setup-3YXZ444E.js} +2 -2
  19. package/dist/cli-bundle/focused-chunks/{chunk-OOYYKQWX.js → chunk-4DQ2YERC.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/chunk-F43TT2QQ.js +8 -0
  21. package/dist/cli-bundle/focused-chunks/{chunk-2RI2FESN.js → chunk-K7RWWOAG.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-KFSZ3BP6.js +16 -0
  23. package/dist/cli-bundle/focused-chunks/{chunk-3DJSGWVB.js → chunk-KSEDUWVZ.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-NFHFZH2Z.js → chunk-KYUQGTSB.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-IIS2FRKL.js → chunk-LZ4MV3RH.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-PGXJQLCT.js +155 -0
  27. package/dist/cli-bundle/focused-chunks/{chunk-E3AVJ655.js → chunk-PPFGQDSI.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-Q4YY3XNF.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/chunk-QK753U3U.js +46 -0
  30. package/dist/cli-bundle/focused-chunks/{chunk-QDZUABWL.js → chunk-QUMB2J27.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/chunk-SM7MTG27.js +2 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-I75MANL7.js → chunk-WCVE2NIG.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-XDNAW5OI.js +18 -0
  34. package/dist/cli-bundle/focused-chunks/{chunk-2JP7W7GO.js → chunk-YOOI3UZX.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/chunk-ZM6TZVHC.js +2 -0
  36. package/dist/cli-bundle/main.js +13 -13
  37. package/dist/cli-bundle/sdk-authoring.js +1 -1
  38. package/dist/cli-bundle/sdk-contracts.js +1 -1
  39. package/dist/cli-bundle/sdk-core.js +44 -41
  40. package/dist/cli-bundle/sdk-governance.js +1 -1
  41. package/dist/cli-bundle/sdk-graph.js +1 -1
  42. package/dist/cli-bundle/sdk-merge.js +109 -1
  43. package/dist/cli-bundle/sdk-query.js +1 -1
  44. package/dist/cli-bundle/sdk-runtime.js +1 -1
  45. package/dist/cli-bundle/sdk-testing.js +1 -1
  46. package/dist/cli-bundle/sdk.js +2 -2
  47. package/dist/core/history/drift-scan.d.ts +6 -0
  48. package/dist/core/history/drift-scan.js +74 -50
  49. package/dist/core/history/workspace-history.d.ts +59 -0
  50. package/dist/core/history/workspace-history.js +197 -10
  51. package/dist/core/output/output.js +12 -4
  52. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +6 -1
  53. package/dist/sdk/cli-contracts/runtime-contracts.js +155 -60
  54. package/dist/sdk/cli-program.js +3 -3
  55. package/dist/sdk/context-relevance.js +12 -4
  56. package/dist/sdk/governance/assurance.js +4 -4
  57. package/dist/sdk/governance/health.js +15 -3
  58. package/dist/sdk/governance/validate-history-drift.d.ts +7 -0
  59. package/dist/sdk/governance/validate-history-drift.js +68 -0
  60. package/dist/sdk/governance/validate.js +4 -46
  61. package/dist/sdk/graph/assembly.d.ts +23 -0
  62. package/dist/sdk/graph/assembly.js +54 -2
  63. package/dist/sdk/graph/durable-cache.js +50 -20
  64. package/dist/sdk/graph/governance-contracts.d.ts +1 -1
  65. package/dist/sdk/graph/governance-contracts.js +4 -2
  66. package/dist/sdk/graph/governance.d.ts +21 -1
  67. package/dist/sdk/graph/governance.js +94 -32
  68. package/dist/sdk/graph/index.d.ts +2 -2
  69. package/dist/sdk/graph/index.js +4 -4
  70. package/dist/sdk/graph/mutation-advisory.js +15 -7
  71. package/dist/sdk/graph/remediation.js +12 -2
  72. package/dist/sdk/history-read.d.ts +8 -0
  73. package/dist/sdk/history-read.js +2 -2
  74. package/dist/sdk/index.d.ts +1 -1
  75. package/dist/sdk/index.js +3 -3
  76. package/dist/sdk/query/history.js +20 -3
  77. package/dist/sdk/read-output-budget.d.ts +2 -0
  78. package/dist/sdk/read-output-budget.js +12 -5
  79. package/dist/sdk/read-output-contracts.d.ts +61 -5
  80. package/dist/sdk/read-output-contracts.js +210 -28
  81. package/dist/sdk/read-output-rows.d.ts +11 -0
  82. package/dist/sdk/read-output-rows.js +47 -2
  83. package/dist/sdk/runtime-primitives.d.ts +1 -1
  84. package/dist/sdk/runtime-primitives.js +3 -3
  85. package/dist/sdk/runtime.js +5 -3
  86. package/docs/ASSURANCE.md +10 -1
  87. package/docs/COMMANDS.md +31 -2
  88. package/docs/READ_OUTPUT_CONTRACTS.md +44 -8
  89. package/docs/RELATIONSHIP_GRAPH.md +20 -5
  90. package/docs/SDK.md +12 -5
  91. package/docs/SDK_CONTEXT_INTEGRITY.md +32 -1
  92. package/docs/TESTING.md +23 -1
  93. package/docs/performance/sdk-entrypoint-import-costs.md +20 -13
  94. package/marketplace.json +2 -2
  95. package/package.json +6 -6
  96. package/packages/pm-beads/extensions/beads/index.ts +1 -0
  97. package/packages/pm-beads/package.json +1 -1
  98. package/packages/pm-calendar/extensions/calendar/index.ts +1 -0
  99. package/packages/pm-calendar/package.json +1 -1
  100. package/packages/pm-command-kit/package.json +1 -1
  101. package/packages/pm-digital-twin/extensions/digital-twin/index.ts +7 -0
  102. package/packages/pm-digital-twin/package.json +1 -1
  103. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +4 -0
  104. package/packages/pm-governance-audit/package.json +1 -1
  105. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +5 -0
  106. package/packages/pm-guide-shell/package.json +1 -1
  107. package/packages/pm-kanban/package.json +1 -1
  108. package/packages/pm-lifecycle-hooks/package.json +1 -1
  109. package/packages/pm-linked-test-adapters/extensions/linked-test-adapters/index.ts +6 -0
  110. package/packages/pm-linked-test-adapters/package.json +1 -1
  111. package/packages/pm-search-advanced/extensions/search-advanced/index.ts +2 -0
  112. package/packages/pm-search-advanced/package.json +1 -1
  113. package/packages/pm-templates/extensions/templates/index.ts +4 -0
  114. package/packages/pm-templates/package.json +1 -1
  115. package/packages/pm-todos/extensions/todos/index.ts +2 -0
  116. package/packages/pm-todos/package.json +1 -1
  117. package/packages/pm-vcs/extensions/vcs/index.ts +7 -0
  118. package/packages/pm-vcs/package.json +1 -1
  119. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  120. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  121. package/scripts/bundle-cli.mjs +17 -4
  122. package/sdk/public-surface.json +209 -29
  123. package/dist/cli-bundle/chunks/chunk-DL5M5J3V.js +0 -13
  124. package/dist/cli-bundle/chunks/chunk-HIUZVCMN.js +0 -5
  125. package/dist/cli-bundle/focused-chunks/chunk-27N23W6M.js +0 -31
  126. package/dist/cli-bundle/focused-chunks/chunk-3BNVU6LC.js +0 -8
  127. package/dist/cli-bundle/focused-chunks/chunk-6MLIRBLV.js +0 -5
  128. package/dist/cli-bundle/focused-chunks/chunk-6XYLENDV.js +0 -155
  129. package/dist/cli-bundle/focused-chunks/chunk-CP4K4WFS.js +0 -2
  130. package/dist/cli-bundle/focused-chunks/chunk-EBTNSFYE.js +0 -2
  131. package/dist/cli-bundle/focused-chunks/chunk-HC2OL2H2.js +0 -2
  132. package/dist/cli-bundle/focused-chunks/chunk-OGC4XSBC.js +0 -17
  133. package/dist/cli-bundle/focused-chunks/chunk-PKPOZXLL.js +0 -2
  134. package/dist/cli-bundle/focused-chunks/chunk-QQX5TDFT.js +0 -16
  135. package/dist/cli-bundle/focused-chunks/chunk-TEZIXMTH.js +0 -2
  136. package/dist/cli-bundle/focused-chunks/chunk-WEH6NSL6.js +0 -18
@@ -1,13 +0,0 @@
1
- import{$ as Ar,$c as it,Ad as Kr,B as Dr,Bc as an,Bd as zr,Bf as Ie,C as p,Ca as on,Cd as Hr,Cg as ii,Da as nt,Dc as Or,Dg as oi,E as g,Ec as $r,Ef as Xr,G as j,Gd as ve,Gf as Jr,Hb as ke,Hf as Qr,Hg as mn,Ik as pi,Ja as O,Jc as Pr,Jf as Oe,Ka as rt,Ld as qr,Lf as ue,Mf as fn,Nf as Zr,Q as G,Qf as ei,Ra as S,S as x,Sd as pe,Sf as ct,T as Rr,Td as xe,Tg as ut,U as oe,Ua as $,Ud as Wr,Uf as ti,Ug as lt,Va as Nr,Vd as cn,Xa as sn,Yf as ni,Zc as z,Zf as Ce,Zg as si,_b as Mr,ah as T,ba as Fr,c as A,ce as ot,d as tt,df as un,e as Cr,ee as Vr,f as ie,g as K,gg as ri,gh as ai,h as Sr,hg as dt,ie as dn,je as st,kd as N,ke as de,kh as ci,ld as C,le as se,lh as di,md as L,mh as Se,nb as q,ne as Yr,nh as ui,oe as Ee,ph as le,qh as fe,qj as mi,rd as jr,rh as li,sb as Lr,sc as F,sd as Ur,sh as Q,th as fi,uf as at,x as Tr,xa as we,xf as ln,yd as Br,zd as Gr}from"./chunk-DEDU3DG7.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 ha(e,t){let n=-1;return e.forEach((r,i)=>{let o=Date.parse(r.ts);if(!Number.isFinite(o))throw new g(`History for this item contains invalid timestamp at entry ${i+1}.`,p.GENERIC_FAILURE);o<=t&&(n=i)}),n}function ya(e){let t=e[0]?.ts??null,n=e.at(-1)?.ts??null,r={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:t,last_timestamp:n}};return n!==null&&(r.examples=["1",String(e.length),n],r.valid_range.first_version=1,r.valid_range.last_version=e.length),{guidance:r,lastTimestamp:n}}function gi(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 i=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(o=>{let s=i[o];return typeof s=="string"?[[o,s]]:[]})))}if(n.patchIndex!==void 0){let i=e[n.patchIndex];i&&(n.op??=i.op,n.path??=i.path,n.from??=i.from)}return n}function hi(e,t,n={}){let r=e.trim(),i=n.errorSubject??"history",o=i==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=ya(t);if(!r)throw new g(`Missing ${i} target. Use a timestamp or version number.`,p.USAGE,s);if(/^\d+$/.test(r)){let u=Number(r);if(!Number.isSafeInteger(u)||u<1||u>t.length)throw new g(`${o} version must be between 1 and ${t.length} for this item.`,p.USAGE,s);return{kind:"version",raw:r,historyIndex:u-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new g(`Invalid ${i} target "${e}". Use a positive version number or ISO timestamp.`,p.USAGE,s);let d=ha(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new g(i==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,p.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function $e(e,t,n,r){let i=ei(e,t);if(i.ok)return i.document;let o=gi(t,i.error),s=[`history_op=${r}`,o.patchIndex===void 0?null:`patch_index=${o.patchIndex}`,o.op?`op=${o.op}`:null,o.path?`path=${o.path}`:null,o.from?`from=${o.from}`:null].filter(a=>a!==null);throw new g(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${o.reason??String(i.error)}`,p.GENERIC_FAILURE)}function yi(e,t){let n=structuredClone(Oe);for(let r=0;r<=t;r+=1){let i=e[r];if(!i)throw new g(`History target entry ${r+1} does not exist.`,p.USAGE);if(ue(n)!==i.before_hash)throw new g(`History hash mismatch before replay at entry ${r+1}.`,p.GENERIC_FAILURE);if(n=$e(n,i.patch,r+1,i.op),ue(n)!==i.after_hash)throw new g(`History hash mismatch after replay at entry ${r+1}.`,p.GENERIC_FAILURE)}return n}function _i(e,t){if(Object.keys(e.metadata).length>0)return e;throw new g(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,p.USAGE)}import pn from"node:fs/promises";import _a 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 ba(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=si(e.settings);if(n.ownership_enforcement==="strict")throw new g(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,p.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function wa(e){let t=await ie(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new g(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,p.CONFLICT);let n=await le(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?await fe(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new g(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,p.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Xg(e){let t=e.writeHistoryRaw??K;try{await t(e.historyPath,e.nextHistoryRaw),await Ie(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await _a.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await Ie(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function bi(e){let t=[...ba({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await Ce(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 wa({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]="cd2a27ec-0f12-591d-ab34-529ddda05063")}catch{}})();function gn(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function wi(e){let t=[];for(let n of e)t.includes(n)||t.push(n);return t.includes("g")||t.push("g"),t.join("")}function ki(e){let t=e.trim();if(t.length===0)throw new g("history-redact --regex requires a non-empty pattern.",p.USAGE);let n=t,r="g";if(t.startsWith("/")&&t.length>1){let i=t.lastIndexOf("/");i>0&&(n=t.slice(1,i),r=wi(t.slice(i+1)))}if(n.length===0)throw new g("history-redact --regex cannot use an empty pattern.",p.USAGE);try{new RegExp(n,r)}catch{throw new g("Invalid --regex value; provide a valid JavaScript regular expression.",p.USAGE)}return{kind:"regex",source:n,flags:r}}function vi(e,t){let n=[...new Set(gn(e).map(o=>o.trim()))].filter(o=>o.length>0).map(o=>({kind:"literal",value:o})),r=[...new Set(gn(t).map(o=>o.trim()))].filter(o=>o.length>0).map(ki),i=[...n,...r];if(i.length===0)throw new g("history-redact requires at least one matcher via --literal or --regex.",p.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 i}function xi(e,t,n){if(t.length===0)return{value:e,replacements:0};let r=0,i=0;for(;r<=e.length;){let o=e.indexOf(t,r);if(o===-1)break;i+=1,r=o+Math.max(1,t.length)}return i===0?{value:e,replacements:0}:{value:e.split(t).join(n),replacements:i}}function Ei(e,t,n){let r=new RegExp(t.source,t.flags),i=[...e.matchAll(r)];return i.length===0?{value:e,replacements:0}:{value:e.replace(r,n),replacements:i.length}}function hn(e,t,n){let r=e,i=0;for(let o of t){let s=o.kind==="literal"?xi(r,o.value,n):Ei(r,o,n);r=s.value,i+=s.replacements}return{value:r,replacements:i}}function ft(e,t,n){if(typeof e=="string")return hn(e,t,n);if(Array.isArray(e)){let r=0;return{value:e.map(o=>{let s=ft(o,t,n);return r+=s.replacements,s.value}),replacements:r}}if(typeof e=="object"&&e!==null){let r=0,i={};for(let[o,s]of Object.entries(e)){let a=ft(s,t,n);r+=a.replacements,i[o]=a.value}return{value:i,replacements:r}}return{value:e,replacements:0}}function ka(e){let t=structuredClone(Oe),n=0,r=0;for(let i=0;i<e.length;i+=1){let o=e[i];ue(t)!==o.before_hash&&(n+=1),t=$e(t,o.patch,i+1,o.op),ue(t)!==o.after_hash&&(r+=1)}return{hashMismatchesBefore:n,hashMismatchesAfter:r,finalDocument:t}}function va(e,t,n){let r=0,i=!1,o=e.message;if(typeof e.message=="string"){let a=hn(e.message,t,n);o=a.value,r+=a.replacements,a.replacements>0&&(i=!0)}let s=e.patch.map(a=>{if(!Object.prototype.hasOwnProperty.call(a,"value"))return a;let c=ft(a.value,t,n);return r+=c.replacements,c.replacements>0?(i=!0,{...a,value:c.value}):a});return{entry:{...e,message:o,patch:s},replacements:r,changed:i}}function xa(e,t,n){let r=structuredClone(Oe),i=0,o=0,s=[];for(let a=0;a<e.length;a+=1){let c=va(e[a],t,n);o+=c.replacements,c.changed&&(i+=1);let d=ue(r);r=$e(r,c.entry.patch,a+1,c.entry.op);let u=ue(r);s.push({...c.entry,before_hash:d,after_hash:u})}return{entries:s,finalDocument:r,entriesChanged:i,replacements:o}}function Ii(e){return Object.keys(e.metadata).length>0}async function Ea(e,t){let n=e.located?.itemPath??null;if(!e.located)return{raw:null,path:n,document:null};let r=await fe(e.located,{schema:t.schema});return{raw:r.raw,path:n,document:r.document}}function Ia(e){if(!Ii(e.finalDocument))return{raw:null,path:null,document:null};let t=Ur(fn(e.finalDocument),{schema:e.settings.schema});if(t.metadata.id!==e.subject.id)throw new g("history-redact would change the item id; narrow your patterns.",p.USAGE);return{document:t,path:Nr(e.pmRoot,t.metadata.type,e.subject.id,"toon",e.typeToFolder),raw:jr(t,{format:"toon",schema:e.settings.schema})}}function Ca(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 Sa(e){let t=[...e.rewritten.entries];if(e.dryRun||!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.nextItemDocument??fn(e.rewritten.finalDocument);return t.push(Qr({nowIso:G(),author:e.author,op:"history_redact",before:n,after:n,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}async function Ta(e){let t=[];return bi({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 di(e.pmRoot,e.author),i=new Set;e.currentItem.path&&i.add(e.currentItem.path),e.nextItem.path&&i.add(e.nextItem.path);let o=new Map;e.currentItem.path&&e.currentItem.raw!==null&&o.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 K(e.nextItem.path,e.nextItem.raw),e.currentItem.path&&(!e.nextItem.path||e.nextItem.path!==e.currentItem.path)&&await pn.rm(e.currentItem.path,{force:!0}),await K(e.subject.historyPath,ti(e.rewrittenEntries))}catch(c){try{await Da(e.subject.historyPath,n,i,o)}finally{await Ie(e.subject.historyPath)}throw c}await Ie(e.subject.historyPath);let a=e.nextItem.path??e.currentItem.path;a&&(t=await ui({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 Ra(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]})}async function Da(e,t,n,r){t===null?await pn.rm(e,{force:!0}):await K(e,t);for(let i of n){let o=r.get(i);o===void 0?await pn.rm(i,{force:!0}):await K(i,o)}}async function Ra(e,t){let n=[],r=new Set(t.filter(i=>i!==null));for(let i of r)n.push(...await an({path:i,scope:"project",op:"history_redact"}));return n.push(...await an({path:e,scope:"project",op:"history_redact:history"})),n}async function yn(e,t,n,r){let i=await le(e,t,n.id_prefix,n.item_format,r);if(i)return{id:i.id,historyPath:sn(e,i.id),located:i};let o=dt(t,n.id_prefix),s=ri(t),a=o===s?[o]:[o,s];for(let c of a){let d=sn(e,c);if(await A(d))return{id:c,historyPath:d,located:null}}throw new g(`Item ${t} not found`,p.NOT_FOUND)}async function _h(e,t,n){let r=S(process.cwd(),n.path);if(!await A($(r)))throw new g(`Tracker is not initialized at ${r}. Run pm init first.`,p.NOT_FOUND);let i=await T(r),o=O(i,F()),s=t.replacement??"",a=s.length===0,c=a?"[redacted]":s,d=vi(t.literal,t.regex),u=await yn(r,e,i,o.type_to_folder);if(!await A(u.historyPath))throw new g(`No history stream exists for ${u.id}.`,p.NOT_FOUND);let l=await ie(u.historyPath),f=await xe(u.historyPath,u.id);if(f.length===0)throw new g(`No history entries exist for ${u.id}; nothing to redact.`,p.USAGE);let m=ka(f),h=xa(f,d,c),y=m.hashMismatchesBefore+m.hashMismatchesAfter,_=!!t.dryRun,b=h.replacements>0,w=[];y>0&&w.push(`history_redact_preexisting_hash_mismatches:${y}`),b||w.push("history_redact_no_matches");let k=await Ea(u,i),E=Ia({pmRoot:r,subject:u,settings:i,typeToFolder:o.type_to_folder,finalDocument:h.finalDocument}),I=(k.path??null)!==(E.path??null)||(k.raw??null)!==(E.raw??null),P=pe(t.author,i.author_default),D=Ca(t,h),{rewrittenEntries:U,auditEntryAdded:ce}=Sa({rewritten:h,dryRun:_,changed:b,nextItemDocument:E.document,author:P,message:D}),B=ct(U);if(!B.ok)throw new g(`history-redact produced an invalid rewritten chain (${B.errors.join(", ")}).`,p.GENERIC_FAILURE);return!_&&b&&w.push(...await Ta({pmRoot:r,subject:u,settings:i,typeRegistry:o,historyRawBeforeLock:l,currentItem:k,nextItem:E,author:P,force:t.force,rewrittenEntries:U})),{id:u.id,dry_run:_,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:u.historyPath,entries_scanned:f.length,entries_changed:h.entriesChanged,replacements:h.replacements,hash_mismatches_before:m.hashMismatchesBefore,hash_mismatches_after:m.hashMismatchesAfter,preexisting_hash_mismatches:y,audit_entry_added:ce,verify_ok:B.ok,verify_errors:B.errors},item:{existed_before:k.path!==null,exists_after:E.path!==null,path_before:k.path,path_after:E.path,changed:I},warnings:[...new Set(w)].sort((M,H)=>M.localeCompare(H)),generated_at:G()}}var bh={applyLiteralRule:xi,applyRegexRule:Ei,buildRedactionRules:vi,hasItemMetadata:Ii,normalizeRegexFlags:wi,normalizeStringArrayInput:gn,parseRegexRule:ki,redactStringValue:hn,redactUnknownValue:ft};(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]="bccbd81b-988f-569d-8dbf-c0998d813953")}catch{}})();function Nh(e,t){let n=ct(e),r=e.length>0?e[e.length-1].after_hash:Jr(),i=t===void 0?void 0:Xr(t),o=i===void 0?void 0:i===r,s=[...n.errors];return o===!1&&s.push("verify_failed:current_item_hash_mismatch"),{ok:s.length===0,entries:e.length,errors:s,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:o}}async function Lh(e,t,n={}){let r=S(n.cwd??process.cwd(),n.pmRoot);if(!await A($(r)))throw new g(`Tracker is not initialized at ${r}. Run pm init first.`,p.NOT_FOUND);let i=await T(r),o=O(i,F()),s=await yn(r,e,i,o.type_to_folder),a=await xe(s.historyPath,s.id);if(a.length===0)throw new g(`No history exists for ${s.id}; point-in-time reads are unavailable.`,p.NOT_FOUND);let c=hi(t,a),d=_i(yi(a,c.historyIndex),c),u=Zr(d,{schema:i.schema});if(u.metadata.id!==s.id)throw new g(`History target resolved to item ${u.metadata.id}, expected ${s.id}.`,p.GENERIC_FAILURE);let l=a[c.historyIndex];return{document:u,reconstructed:!0,as_of_version:c.historyIndex+1,as_of_timestamp:l.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]="3a33af50-3d2c-57bb-884a-4d5394599ba2")}catch{}})();function Aa(e,t,n,r,i,o){if(e.seen.has(t))return"skip";if(e.cursorFound&&e.affected.length>=o)return"truncate";e.seen.add(t),e.parents.set(t,n.id);let s=n.depth+1;return e.queue.push({id:t,depth:s}),e.cursorFound?(e.affected.push({id:t,distance:s,path:ja(r,t,e.parents)}),"continue"):(e.cursorFound=t===i,"skip")}function Fa(e,t,n,r){let i=de("graph impact",{root:e,direction:n,kinds:[...t.kinds??[]].sort(),max_depth:Number.isFinite(r)?r:"unbounded"});return{fingerprint:i,after:t.after===void 0?void 0:Yr(t.after,i)}}function Pe(e,t,n){e.get(t).add(n)}function pt(e){return new Map(e.map(t=>[t,new Set]))}function Si(e){for(let t of e)t.sort();return e.sort((t,n)=>n.length-t.length||t[0].localeCompare(n[0]))}function mt(e){if(Array.isArray(e))return e.map(n=>mt(n));if(e===null||typeof e!="object")return e;let t=e.toJSON;return typeof t=="function"?mt(t.call(e)):Object.fromEntries(Object.entries(e).sort(([n],[r])=>n.localeCompare(r)).map(([n,r])=>[n,mt(r)]))}function Ci(e){return JSON.stringify(mt(e))}function Na(e,t,n,r){let i=[{id:e,expanded:!1}];for(;i.length>0;){let o=i.pop();if(o.expanded){r.push(o.id);continue}if(n.has(o.id))continue;n.add(o.id),i.push({id:o.id,expanded:!0});let s=[...t.get(o.id)].sort().reverse();for(let a of s)n.has(a)||i.push({id:a,expanded:!1})}}function La(e,t){let n=new Set,r=[];for(let i of e)n.has(i)||Na(i,t,n,r);return r}function Ma(e,t){let n=new Set,r=[];for(let i of[...e].reverse()){if(n.has(i))continue;let o=[],s=[i];for(n.add(i);s.length>0;){let a=s.pop();o.push(a);for(let c of t.get(a))n.has(c)||(n.add(c),s.push(c))}r.push(o)}return Si(r)}function Ti(e,t){let n=pt(e);for(let[r,i]of t)for(let o of i)Pe(n,o,r);return Ma(La(e,t),n)}function Oa(e,t){let n=pt(e.nodes());for(let r of e.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let o=(i.precedence??"source_before_target")==="source_before_target";Pe(n,o?r.source:r.target,o?r.target:r.source)}return n}function $a(e,t){let n=new Map(e.map(o=>[o,0]));for(let o of t.values())for(let s of o)n.set(s,n.get(s)+1);let r=e.filter(o=>n.get(o)===0).sort(),i=[];for(;r.length>0;){i.push(r);let o=[];for(let s of r)for(let a of t.get(s)){let c=n.get(a)-1;n.set(a,c),c===0&&o.push(a)}r=o.sort()}return i}function Pa(e,t){let n=new Map(e.map(s=>[s,0])),r=new Map;for(let s of e)for(let a of t.get(s)){if(!n.has(a))continue;let c=n.get(s)+1,d=r.get(a);(c>n.get(a)||c===n.get(a)&&(d===void 0||s.localeCompare(d)<0))&&(n.set(a,c),r.set(a,s))}let i=[...e].sort((s,a)=>n.get(a)-n.get(s)||s.localeCompare(a))[0],o=i===void 0?[]:[i];for(;o[0]!==void 0&&r.has(o[0]);)o.unshift(r.get(o[0]));return{depth:Object.fromEntries(n),path:o}}function ja(e,t,n){let r=[t],i=t;for(;i!==e;)i=n.get(i),r.push(i);return r.reverse()}function gt(e,t={}){let n=t.registry??q(),r=[...e.nodes()],i=Oa(e,n),o=$a(r,i),s=o.flat(),a=s.length===r.length,c=a?[]:Ti(r,i).filter(u=>u.length>1||i.get(u[0]).has(u[0])),d=Pa(s,i);return{exact:!0,acyclic:a,order:s,layers:o,frontier:o[0]??[],depth:d.depth,criticalPath:d.path,criticalPathLength:Math.max(0,d.path.length-1),cycles:c,provenance:{algorithm:"kahn-longest-path",edgeFamily:"ordering"}}}function Di(e,t,n={}){let r=n.direction??"outgoing",i=n.maxDepth??Number.POSITIVE_INFINITY,o=n.limit??Number.POSITIVE_INFINITY,{fingerprint:s,after:a}=Fa(t,n,r,i),c={queue:[{id:t,depth:0}],seen:new Set([t]),parents:new Map,affected:[],cursorFound:a===void 0||a===t},d=0,u=0,l=!1,f=!1;e:for(let m=0;m<c.queue.length;m+=1){n.signal?.throwIfAborted();let h=c.queue[m];d+=1;let y=e.adjacency(h.id,{direction:r,kinds:n.kinds,signal:n.signal});if(u+=y.meta.inspectedEdges,h.depth>=i){y.value.some(_=>!c.seen.has(_))&&(l=!0);continue}for(let _ of y.value)if(Aa(c,_,h,t,a,o)==="truncate"){l=!0,f=!0;break e}}if(!c.cursorFound)throw new TypeError(`Unknown impact cursor item: ${a}`);return{root:t,affected:c.affected,exact:!0,truncated:l,...f?{nextCursor:se(s,c.affected.at(-1)?.id??t)}:{},cost:{visitedNodes:d,inspectedEdges:u}}}function Ri(e){let t=[...e.nodes()],n=pt(t),r=pt(t);for(let c of e.edges())Pe(n,c.source,c.target),Pe(n,c.target,c.source),Pe(r,c.source,c.target);let i=[],o=new Set;for(let c of t){if(o.has(c))continue;let d=[],u=[c];for(o.add(c);u.length>0;){let l=u.pop();d.push(l);for(let f of n.get(l))o.has(f)||(o.add(f),u.push(f))}i.push(d)}let s=t.map(c=>({id:c,degree:n.get(c).size})),a=Math.max(0,...s.map(({degree:c})=>c));return{components:Si(i),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 Ph(e,t){let n=new Map(e.edges.map(i=>[Ci(i),i])),r=new Map(t.edges.map(i=>[Ci(i),i]));return{fromVersion:e.version,toVersion:t.version,added:[...r].filter(([i])=>!n.has(i)).map(([,i])=>i),removed:[...n].filter(([i])=>!r.has(i)).map(([,i])=>i),unchangedCount:[...n.keys()].filter(i=>r.has(i)).length,exact:!0}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function W(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new g(`${t} must be a non-negative integer`,p.USAGE);return r}function ht(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new g(`${t} filter must be 0..4`,p.USAGE);return r}function Ai(e,t,n="--type"){if(e===void 0)return;let r=rt(e,t);if(!r)throw new g(`${n} filter must be one of ${t.types.join("|")}`,p.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 yt={version:1,aliases:{}};function _t(e=[]){let t=new Set(ve),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function Fi(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 _n(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 bn(e,t=ve){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new g(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),c=o.slice(s+1).trim();if(!n.has(a))throw new g(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,p.USAGE,{code:"unknown_provenance_dimension"});if(c.length===0)throw new g(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let d=r.get(a)??new Set;d.add(c),r.set(a,d)}return r}function bt(e,t=yt,n={}){let r=_n(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 Vh(e,t,n=yt,r=ve){return wn(t,n,r)(e)}function wn(e,t=yt,n=ve){let r=Fi(e.harness),i=Fi(e.agentInstance),o=bn(e,n);return s=>{let c=_n(s,t).agent_harness;if(r&&(!c||!r.has(c))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,u]of o){let l=s.agent_provenance?.[d];if(!l||!u.has(l.value))return!1}return!0}}function wt(e,t=yt,n=ve){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let c of Object.keys(s.agent_provenance??{}))r.add(c);_n(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,c=0;for(let d of e){let u=d.agent_provenance?.[s];u===null?c+=1:u!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:c,legacy_missing:e.length-a-c}})}}import Ua from"node:fs/promises";import Mi 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]="49304d18-d722-5413-8e4d-4f2c3df4a1ca")}catch{}})();var Ba=20,Ga=5,Ka=15,za="-24h";function iy(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 Ha={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function kn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new g(`${t} must not be empty`,p.USAGE);return n}function Ni(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new g("Activity time bounds must not be empty",p.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return oe(i,new Date(t),n)}function qa(e,t,n){return!(e.ts.length===0&&(t||n)||t&&x(e.ts,t)<0||n&&x(e.ts,n)>=0)}function Li(e,t){return t===void 0?e:e.slice(0,t)}function je(e,t=""){return typeof e=="string"?e:t}function Wa(e,t){return{...t,id:e,ts:je(t.ts),author:je(t.author,"unknown"),op:je(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:je(t.before_hash),after_hash:je(t.after_hash)}}function Va(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function Ya(e){try{return(await Ua.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Cr(t))return[];throw t}}function Xa(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 Ja(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Ka:n==="compact"?Ba:Ga}function Qa(e,t){let n=G(),r=t==="digest",i=Ni(e.to??(r?n:void 0),n,"--to"),o=Ni(e.from??(r?za:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&x(o,i)>=0)throw new g("Activity --from must be before --to",p.USAGE);let s=mn(e.limit);if(e.unbounded===!0&&s!==void 0)throw new g("Activity --unbounded cannot be combined with --limit",p.USAGE);return{id:kn(e.id,"Activity --id"),op:kn(e.op,"Activity --op"),author:kn(e.author,"Activity --author"),from:o,to:i,limit:Ja(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Za(e){let t=S(process.cwd(),e.path);if(!await A($(t)))throw new g(`Tracker is not initialized at ${t}. Run pm init first.`,p.NOT_FOUND);return{pmRoot:t,settings:await T(t)}}async function ec(e){let t=O(e.settings,F()),n=await Q(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await ni({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Mi.join(e.pmRoot,"history");return await Or({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function tc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:qa(t,n.from,n.to)}async function nc(e,t){let n=[];for(let r of await Ya(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await xe(Mi.join(e,r),i);for(let s of o){let a=Wa(i,s);tc(s,a,t)&&n.push(a)}}return n}function rc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function ic(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function oc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,x(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),x(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:ic(i.operations)}}).sort((r,i)=>x(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function sc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function ac(e,t,n,r,i){if(e==="digest"){let s=oc(t,r),a=Li(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=Li(t,n);return e==="compact"?{rows:{compact_activity:rc(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function Oi(e,t){let n=await Za(t),r=Xa(e),i=Qa(e,r),o=await ec(n),s=_t(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,c=wn({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),d=Va(await nc(o.historyDir,i)).filter(c),u=ac(r,d,i.limit,o.itemsById,f=>bt(f,a,{itemId:f.id})),l=u.totalRows-u.returnedRows;return{...u.rows,compact:u.compact,projection:{mode:r,row_key:Ha[r]},omission_receipt:Vr("activity",r),count:u.returnedRows,total_count:u.totalRows,limit:i.limit??null,omitted_count:l,has_more:l>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:d.length,item_count:u.totalRows,author_count:new Set(d.map(f=>f.author)).size,operation_counts:sc(d)}}:{},...e.provenanceSummary===!0?{provenance_summary:wt(d,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1b2f1ac3-82b3-58a2-9f40-2dd95ab1b2bc")}catch{}})();var $i="global",cc="external";function Te(e){let t=e?.trim().toLowerCase();return t===$i||t===cc}function ay(e){let t=e?.trim();if(t)return Te(t)?$i:t}function cy(e,t,n){let r=e.trim();return Te(n)?r:dt(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]="62ec8e0e-658e-5a32-b458-439d5ffd1229")}catch{}})();function kt(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function vn(e){let t=kt(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function De(){let e=q();for(let t of F()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}function xn(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function dc(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,i=kt(r.id);if(!i)continue;let o=typeof r.kind=="string"?r.kind:"related",s=`${o}\0${i.toLowerCase()}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:i,kind:o,count:1})}return t}function uc(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let i of dc(r).values())i.count<2||n.push({holder_id:r.id.trim(),target_id:i.target_id,kind:i.kind,occurrences:i.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,i)=>{let o=xn(r.holder_id,i.holder_id);if(o!==0)return o;let s=xn(r.target_id,i.target_id);return s!==0?s:xn(r.kind,i.kind)})}function En(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),i=new Map,o=(c,d,u,l)=>{let f=kt(d);if(!f||r.has(f.toLowerCase()))return;let m={holder_id:c.id.trim(),target_id:f,kind:u,source:l,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:f.toLowerCase()==="no-active-blocker"};i.set(`${m.holder_id}::${m.target_id}::${m.kind}::${m.source}`,m)};for(let c of n){o(c,c.parent,"parent","parent"),o(c,c.blocked_by,"blocked_by","blocked_by");for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;Te(u.source_kind)||o(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency")}}let s=[...i.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function lc(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),i=r.toLowerCase();t.has(i)||t.set(i,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function fc(e){let t=new Map;for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null||!Te(r.source_kind))continue;let i=kt(r.id);i&&!t.has(i.toLowerCase())&&t.set(i.toLowerCase(),i)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function mc(e,t=De()){let n={};for(let r of e)for(let i of r.dependencies??[]){if(typeof i!="object"||i===null)continue;let o=i.kind;if(typeof o!="string")continue;let s=o.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(o);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[i])=>r.localeCompare(i)))}function Re(e,t,n){let r=n??De(),i=e.filter(f=>typeof f?.id=="string"&&f.id.trim().length>0),o=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),s=En(i,t),a=lc(s);for(let f of a)o.set(f.toLowerCase(),f);let c=fc(i),d=new Set(o.keys()),u=new Map;for(let f of c){let m=f;for(;d.has(m.toLowerCase());)m=`external:${m}`;u.set(f.toLowerCase(),m),d.add(m.toLowerCase())}let l=i.map(f=>{let m=vn(f.parent),h=vn(f.blocked_by),y=(f.dependencies??[]).flatMap(_=>{if(typeof _!="object"||_===null)return[];let b=_,w=vn(b.id);return w?[{id:Te(b.source_kind)?u.get(w.toLowerCase()):o.get(w.toLowerCase()),kind:typeof b.kind=="string"?b.kind:"related"}]:[]});return{id:f.id.trim(),...m?{parent:o.get(m.toLowerCase())}:{},...h?{blocked_by:o.get(h.toLowerCase())}:{},dependencies:y}});return{graph:Lr.fromItems([...l,...a.map(f=>({id:f})),...c.map(f=>({id:u.get(f.toLowerCase())}))],r),details:[...i.map(f=>({id:f.id.trim(),title:f.title,status:f.status,...typeof f.type=="string"&&f.type.trim().length>0?{type:f.type.trim()}:{}})),...a.map(f=>({id:f,title:`[missing] ${f}`,status:"missing"})),...c.map(f=>({id:u.get(f.toLowerCase()),title:`[external] ${f}`,status:"external"}))],missingIdSet:new Set(a.map(f=>f.toLowerCase())),dangling:s,duplicateRows:uc(i,t),legacyAliasCounts:mc(i,r)}}import{createHash as pc}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 gc=64,hc=8;function yc(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let i=r;return`${typeof i.kind=="string"?i.kind:"related"}:${typeof i.id=="string"?i.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function vt(e,t=r=>r==="closed"||r==="canceled",n=q()){let r=e.filter(o=>typeof o?.id=="string"&&o.id.trim().length>0).map(o=>yc(o,t)).sort(),i=n.list().map(o=>ke(o)).sort();return pc("sha256").update(r.join("")).update("").update(i.join("")).digest("hex")}function Pi(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var In=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Pi("maxResultsPerWorkspace",t.maxResultsPerWorkspace,gc),this.#n=Pi("maxWorkspaces",t.maxWorkspaces,hc)}lookup(t,n,r){let i=this.#e.get(t),o=!0;(i===void 0||i.fingerprint!==n)&&(i={fingerprint:n,assembly:r(),results:new Map},o=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,i);let s=i,a=this.#t;return{assembly:s.assembly,assemblyReused:o,fingerprint:n,memoize(c,d){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let l=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(l)),{value:l,reused:!1}}}}clear(){this.#e.clear()}},ji=new In;function xt(){return ji}function yy(){ji.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]="31a800f7-1374-5e7c-ad23-ae3d8ebcebe0")}catch{}})();var _c=["prerequisite","dependent","ancestor","descendant","provenance","related"],bc=new TextEncoder;function Cn(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 Et(e){return Math.max(1,Math.ceil(bc.encode(JSON.stringify(e)).byteLength/4))}function Sn(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let o=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===o?"prerequisite":"dependent"}if(r?.hierarchy){let o=(r.hierarchyDirection??"source_parent")==="source_parent"?e.source:e.target;return t===o?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function wc(e,t,n,r){let i=e.filter(o=>o.source===t&&o.target===n||o.target===t&&o.source===n).map(o=>Sn(o,n,r));return[...new Set(i)].sort()}function kc(e){return _c.find(t=>e.includes(t))}function vc(e,t,n,r){let i=r.direction??"both",o=r.maxDepth??3;if(!Number.isInteger(o)||o<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,u=!1;for(let l=0;l<a.length;l+=1){r.signal?.throwIfAborted();let f=a[l];if(f.distance>=o&&u)continue;let m=e.neighborEdges(f.id,{direction:i,kinds:r.kinds,signal:r.signal});if(d+=m.meta.inspectedEdges,f.distance>=o){m.value.some(h=>!s.has(h.id))&&(u=!0);continue}for(let{id:h,edge:y}of m.value){if(s.has(h))continue;s.add(h);let _={id:h,distance:f.distance+1,via:f.id,role:Sn(y,h,n)};c.push(_),a.push(_)}}return c.sort((l,f)=>l.distance-f.distance||l.id.localeCompare(f.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:u}}function xc(e,t,n,r){let i={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},o=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of o)i[Sn(a,s,n)]+=1;return{directEdges:i,directTotal:o.length,rootEdges:o.map(({edge:s})=>s)}}function Ec(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let i=r.distance===1?wc(e.rootEdges,e.rootId,r.id,e.registry):[],o={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:i.length>0?kc(i):r.role,via:r.via,reasons:i.length>0?i:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=Et(o);if(n+s>e.tokenBudget)break;t.push(o),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Ic(e){let t=e.options.kinds?new Set(e.options.kinds.map(o=>e.registry.require(o).kind)):void 0,n=e.graph.edges().filter(o=>{if(!e.included.has(o.source)||!e.included.has(o.target))return!1;if(t===void 0||t.has(o.kind))return!0;let s=e.registry.resolve(o.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],i=e.initialTokens;for(let o of n){if(r.length>=e.edgeLimit)break;let s=Et(o);if(i+s>e.tokenBudget)break;r.push(o),i+=s}return{edges:r,usedTokens:i,candidateCount:n.length}}function Ui(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let i=Cn(r.nodeLimit,20,"nodeLimit"),o=Cn(r.edgeLimit,40,"edgeLimit"),s=Cn(r.tokenBudget,1200,"tokenBudget"),a=r.registry??q(),c=new Map(n.map(J=>[J.id,J])),d=c.get(t)??{id:t},{evidence:u=[],...l}=d,f=[...u],m=vc(e,t,a,r),{rootEdges:h,...y}=xc(e,t,a,r),_=de("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),b=Ee(m.rows,r.cursor,_,({id:J})=>J),w=m.rows.slice(b),k=Et(l)+Et(f);if(k>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let E=Ec({candidates:w,details:c,rootEdges:h,rootId:t,registry:a,nodeLimit:i,tokenBudget:s,initialTokens:k}),{nodes:I}=E,P=new Set([t,...I.map(({id:J})=>J)]),D=Ic({graph:e,included:P,options:r,registry:a,edgeLimit:o,tokenBudget:s,initialTokens:E.usedTokens}),{edges:U,usedTokens:ce}=D,B=b+I.length,M=B<m.rows.length,H=I.at(-1),Y=D.candidateCount-U.length,X=m.depthTruncated||M||Y>0,_e={rootId:t,...l.status===void 0?{}:{rootStatus:l.status},...y,discoveredNodes:m.rows.length,returnedNodes:I.length,returnedEdges:U.length,omittedNodes:m.rows.length-B,omittedEdges:Y,evidenceCount:f.length,hasMore:M};return{root:l,summary:_e,nodes:I,edges:U,evidence:f,meta:{exact:!0,truncated:X,completeness:X?"truncated":"complete",nodeLimit:i,edgeLimit:o,tokenBudget:s,usedTokens:ce,visitedNodes:m.visitedNodes,inspectedEdges:m.inspectedEdges,omittedNodes:m.rows.length-B,omittedEdges:Y,...M&&H?{nextCursor:se(_,H.id,B-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]="ee0547d9-ae0f-5762-8bff-e25f0a3cd4d5")}catch{}})();var Cc=["tree","graph","context"],Sc=["none","repeated"],Tc=["outgoing","incoming","both"],Dc=32,Rc=200,Ac=400,Fc=16e3;function Nc(e){let t=e?.trim().toLowerCase()??"tree";if(Cc.includes(t))return t;throw new g(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,p.USAGE)}function Z(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new g(`Invalid --${t} value "${e}". Use a positive integer.`,p.USAGE);return n}function It(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new g(`Invalid --max-depth value "${e}". Use a non-negative integer.`,p.USAGE);return t}function Lc(e){let t=e?.trim().toLowerCase()??"none";if(Sc.includes(t))return t;throw new g(`Invalid --collapse value "${e}". Use "none" or "repeated".`,p.USAGE)}function Dn(e){let t=e?.trim().toLowerCase()??"both";if(Tc.includes(t))return t;throw new g(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,p.USAGE)}function Rn(e,t=q()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(i=>i.split(",")).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)return;let r=new Set;for(let i of n){let o=t.resolve(i);if(!o){let s=t.list().map(a=>a.kind).join(", ");throw new g(`Invalid --kind value "${i}". Registered kinds: ${s}.`,p.USAGE)}r.add(o.kind)}return[...r].sort()}function Mc(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:i})=>({id:r.trim(),kind:i.trim().toLowerCase()})).sort((r,i)=>{let o=r.kind.localeCompare(i.kind);return o!==0?o:r.id.localeCompare(i.id)}),n=new Map;for(let r of t){let i=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(i)||n.set(i,{id:r.id,kind:r.kind})}return[...n.values()]}function Oc(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Mc(e.dependencies)}}function $c(e){return at(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Pc(e,t,n,r,i,o,s,a,c){for(let d of t.dependencies){let u=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+u>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=u,e.dependencies.push(Gi(d.id,n,r,i,o,s,a,c+1,d.kind))}}function jc(e,t,n,r,i,o,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):i==="repeated"&&o.has(n)?(e.collapsed=!0,!0):!1}function Gi(e,t,n,r,i,o,s,a=0,c){let d=e.trim().toLowerCase(),u=t.get(d),l={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=$c(l),jc(l,u,d,r,i,o,s,a))return l;i==="repeated"&&o.add(d);let f=new Set(n);return f.add(d),Pc(l,u,t,f,r,i,o,s,a),l}function Bi(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 Uc(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Bi(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,Bi(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",u=`${a.id}::${c.id}::${d}`;n.has(u)||n.set(u,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let i=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),o=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let u=a.to.localeCompare(c.to);return u!==0?u:a.kind.localeCompare(c.kind)}),s=i.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:i,edges:o,missing_ids:s}}function Ki(e,t,n){let r=new Set,i=new Set,o=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],u=d.id.trim().toLowerCase();r.add(u);let l=t.get(u);if(!l){o.add(u);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(u)){s.add(u);for(let f of l.dependencies)i.add(`${u}::${f.id.trim().toLowerCase()}::${f.kind}`),a.push({id:f.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:i.size,edge_basis:"deduplicated_directed",missing_count:o.size}}function Bc(e,t=q()){let n=It(e.maxDepth),r=Z(e.nodeLimit,"node-limit"),i=Z(e.edgeLimit,"edge-limit"),o=Z(e.tokenBudget,"token-budget"),s=Rn(e.kind,t);return{direction:Dn(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...i===void 0?{}:{edgeLimit:i},...o===void 0?{}:{tokenBudget:o},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Gc(e,t,n,r){return Ui(e.graph,t,e.details.map(i=>i.id===t&&r.length>0?{...i,evidence:r}:i),n)}function Tn(e,t,n,r){for(let i of n.slice(0,r)){let o=i?.trim();o&&e.push(`${t}:${o}`)}}async function Kc(e,t,n,r){let i=await le(e,t,n.id_prefix,n.item_format,r);if(!i)return[];let{document:o}=await fe(i,{schema:n.schema}),s=o.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],u=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,f])=>f===0))return[];let l=[`linked:${u.map(([f,m])=>`${f}=${m}`).join(",")}`];return Tn(l,"file",a.map(f=>f.path),3),Tn(l,"test",c.map(f=>f.command??f.path),2),Tn(l,"doc",d.map(f=>f.path),2),l}function zc(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:i,referenceLimit:o,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:i.length,...s?{}:{missing_references:i.slice(0,o),context:n}}}function Hc(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:i,registry:o}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(i===void 0)return!0;let s=o.resolve(t.kind);return s!==void 0&&(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))}function zi(e,t,n){let r;for(;;){let i=at(new TextEncoder().encode(ln(dn("deps",e),t)).byteLength);if(i===r)return i;n(i),r=i}}function qc(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Wc(e){try{return Gc(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&qc(t))return e.smallestResult;throw t}}function Vc(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:a,missingReferences:c}=e,u=r.edgeLimit??40,l=r.tokenBudget,f,m;for(;;){let h=Wc({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:l,rootEvidence:i,smallestResult:m});if("format"in h)return h;let y=h;f??=y.meta.tokenBudget,l??=f;let _=zc({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:o});if(m=_,o||(y.meta.tokenBudget=f,y.meta.usedTokens=zi(Ae(_,!1),s,k=>{y.meta.usedTokens=k}),y.meta.usedTokens<=f))return _;if(u>0){u-=1;continue}let b=l,w=b*f/y.meta.usedTokens;l=Math.min(b-1,Math.max(1,Math.floor(w*.9)))}}function Yc(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:i,summaryOnly:o,outputFormat:s}=e,a=Bc(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(y=>t.missingIdSet.has(y.toLowerCase())),u=new Set(d.map(y=>y.toLowerCase())),l=t.graph.registry(),f=a.kinds?new Set(a.kinds.map(y=>l.require(y).kind)):void 0,m=new Set([n,...c.value]),h=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Hc({row:y,missingReachableSet:u,packetIds:m,filteredKinds:f,registry:l}));return Vc({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:i,summaryOnly:o,outputFormat:s,missingCount:d.length,missingReferences:h})}function Xc(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 Jc(e,t,n,r,i,o,s){let a=i??Dc,c=Z(n.nodeLimit,"node-limit")??Rc,d=Z(n.edgeLimit,"edge-limit")??Ac,u=Z(n.tokenBudget,"token-budget")??Fc,l={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},f=Gi(e,r,new Set,a,t==="graph"?"repeated":o,new Set,l),m=Ki(e,r,void 0),h;for(;;){let y=Uc(f),_=l.reasons.size===0?void 0:{reasons:[...l.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:u},estimated_tokens:0,total_node_count:m.node_count,total_edge_count:m.edge_count,omitted_node_count:Math.max(0,m.node_count-y.nodes.length),omitted_edge_count:Math.max(0,m.edge_count-y.edges.length)},b={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,..._?{truncation:_}:{}};if(h=t==="tree"?{...b,tree:f}:{...b,graph:y},(h.truncation===void 0?at(new TextEncoder().encode(ln(dn("deps",Ae(h,!1)),s)).byteLength):zi(Ae(h,!1),s,k=>{h.truncation.estimated_tokens=k}))<=u)return h;if(!Xc(f))return l.reasons.add("token_budget"),h;l.reasons.add("token_budget")}}function Ae(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 jy(e,t,n){let r=S(process.cwd(),n.path);if(!await A($(r)))throw new g(`Tracker is not initialized at ${r}. Run pm init first.`,p.NOT_FOUND);let i=Nc(t.format),o=It(t.maxDepth),s=Lc(t.collapse);ot(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await T(r),d=O(c,F()),u=await Q(r,c.item_format,d.type_to_folder,void 0,c.schema),l=z(c.schema),f=new Map(u.map(h=>[h.id.trim().toLowerCase(),Oc(h)])),m=En(u,h=>L(h,l));for(let h of[...m.active,...m.legacy_terminal]){let y=f.get(h.holder_id.trim().toLowerCase()),_=h.kind.trim().toLowerCase();y&&!y.dependencies.some(b=>b.id.trim().toLowerCase()===h.target_id.trim().toLowerCase()&&b.kind===_)&&y.dependencies.push({id:h.target_id,kind:_})}if(!f.has(e.trim().toLowerCase()))throw new g(`Item ${e} not found`,p.NOT_FOUND);if(i==="context"){let h=f.get(e.trim().toLowerCase()).id,y=a?[]:await Kc(r,h,c,d.type_to_folder),_=k=>L(k,l),b=De(),w=xt().lookup(r,vt(u,_,b),()=>Re(u,_,b));return Ae(Yc({assembly:w.assembly,canonicalId:h,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,w.assembly.legacyAliasCounts)}return a?Ae({id:e,format:i,...Ki(e,f,o)},!0,Object.fromEntries(Object.entries(Re(u,h=>L(h,l)).legacyAliasCounts))):Ae(Jc(e,i,t,f,o,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(Re(u,h=>L(h,l)).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]="c0fb747e-1f9f-55c4-808b-b77d3a881f87")}catch{}})();var Qc=5,Zc=1e4,ed=8;function An(e,t){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new TypeError(`Invalid path ${e} bound: ${String(t)}`)}function Ct(e,t){return t.hierarchyDirection==="target_parent"?e.target:e.source}function Ue(e,t){return(t.precedence??"source_before_target")==="target_before_source"?e.target:e.source}function St(e,t){let n=Ue(e,t);return{predecessor:n,successor:n===e.source?e.target:e.source}}function td(e,t,n){if(t===void 0)return;let r=e.registry(),i=new Set;for(let o of t){let s=r.require(o);if(!s[n])throw new TypeError(`Relationship kind ${s.kind} is not a ${n} kind`);i.add(s.kind)}return i}function nd(e,t,n,r,i){let o=e.registry(),s=e.neighborEdges(t,{direction:"both",...n===void 0?{}:{kinds:[...n]}}),a=[],c=new Set;for(let d of s.value){let u=o.require(d.edge.kind);u[r]&&i(d,u,t)&&(c.has(d.id)||(c.add(d.id),a.push(d.id)))}return{neighbors:a,inspectedEdges:s.meta.inspectedEdges}}function rd(e,t,n,r,i,o){if(t>=n)return e.neighbors.some(s=>!o.seen.has(s))&&(o.truncated=!0),!1;for(let s of e.neighbors)if(!o.seen.has(s)){if(o.seen.add(s),o.queue.push({id:s,depth:t+1}),!o.resumed){s===i&&(o.resumed=!0);continue}if(o.value.length>=r)return o.truncated=!0,!0;o.value.push(s)}return!1}function Tt(e,t,n,r,i){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`);let o=td(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},u=0,l=0;for(let f=0;f<d.queue.length;f+=1){n.signal?.throwIfAborted();let m=d.queue[f];u+=1;let h=nd(e,m.id,o,r,i);if(l+=h.inspectedEdges,rd(h,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:u,inspectedEdges:l,truncated:d.truncated,nextCursor:d.value.at(-1)}}}function Hi(e,t){if(!e.hasNode(t))throw new TypeError(`Relationship node not found: ${t}`)}function qi(e,t,n,r,i){let o=e.neighborEdges(t.nodes.at(-1),{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});return i.inspectedEdges+=o.meta.inspectedEdges,o.value.filter(s=>!t.nodeSet.has(s.id))}function id(e,t,n,r,i,o,s){for(let a of qi(e,t,r,i,s)){let c=[...t.nodes,a.id],d=new Set(t.nodeSet).add(a.id),u=[...t.edges,a.edge];if(a.id===n){if(s.value.push({nodes:c,edges:u,length:u.length}),s.value.length>=o)return!0}else s.queue.push({nodes:c,nodeSet:d,edges:u})}return!1}function Wi(e,t,n={}){return Tt(e,t,n,"hierarchy",(r,i)=>Ct(r.edge,i)===r.id)}function Vi(e,t,n={}){return Tt(e,t,n,"hierarchy",(r,i,o)=>Ct(r.edge,i)===o)}function Yi(e,t,n={}){return Tt(e,t,n,"ordering",(r,i)=>Ue(r.edge,i)===r.id)}function Xi(e,t,n={}){return Tt(e,t,n,"ordering",(r,i,o)=>Ue(r.edge,i)===o)}function od(e,t,n,r,i,o,s,a){let c={value:[],queue:[{nodes:[t],nodeSet:new Set([t]),edges:[]}],inspectedEdges:0},d=0,u=!1,l=i+1;for(let f=0;f<c.queue.length;f+=1){if(r.signal?.throwIfAborted(),c.value.length>=l||d>=o){u=!0;break}let m=c.queue[f];if(d+=1,m.edges.length>=s){qi(e,m,r,a,c).length>0&&(u=!0);continue}if(id(e,m,n,r,a,l,c)){u=!0;break}}return{value:c.value.slice(0,i),meta:{visitedNodes:d,inspectedEdges:c.inspectedEdges,truncated:u}}}function Ji(e,t,n,r={}){Hi(e,t),Hi(e,n);let i=r.maxPaths??Qc,o=r.maxVisitedPaths??Zc,s=r.maxDepth??ed;An("maxPaths",i),An("maxVisitedPaths",o),An("maxDepth",s);let a=r.direction??"outgoing";r.signal?.throwIfAborted();for(let c of r.kinds??[])e.registry().require(c);return t===n?i===0?{value:[],meta:{visitedNodes:1,inspectedEdges:0,truncated:!0}}:{value:[{nodes:[t],edges:[],length:0}],meta:{visitedNodes:1,inspectedEdges:0,truncated:!1}}:od(e,t,n,r,i,o,s,a)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="24898402-1568-5b05-9072-f89dd91f25a6")}catch{}})();var sd=16,ad=2,cd=8;function Dt(e,t){if(!Number.isInteger(t)||t<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`)}function Rt(e,t,n){let r=e.registry(),i=t===void 0?void 0:new Set(t.map(o=>r.require(o).kind));for(let o of e.edges()){if(o.source===o.target)continue;let s=r.require(o.kind);i!==void 0&&!(i.has(s.kind)||s.inverse!==void 0&&i.has(s.inverse))||n(o,s)}}function dd(e,t){let n=new Map;Rt(e,t,r=>{Qi(n,r.source,r.target),Qi(n,r.target,r.source)});for(let r of n.values())r.sort();return n}function Qi(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function ud(e,t){let n=new Map;for(let o of e){let s=t.get(o);n.set(s,(n.get(s)??0)+1)}let r,i=0;for(let[o,s]of n)(s>i||s===i&&o<r)&&(r=o,i=s);return r}function ld(e,t){let n=new Map;for(let[i,o]of e){let s=n.get(o);s===void 0?n.set(o,[i]):s.push(i)}let r=[];for(let i of n.values())i.length<t||(i.sort(),r.push({representative:i[0],size:i.length,members:i}));return r.sort((i,o)=>o.size-i.size||i.representative.localeCompare(o.representative))}function Zi(e,t={}){let n=t.maxIterations??sd,r=t.minSize??ad;Dt("maxIterations",n),Dt("minSize",r);let i=dd(e,t.kinds),o=e.nodes(),s=new Map(o.map(l=>[l,l])),a=0,c=!1,d=0,u=0;for(;a<n&&!c;){t.signal?.throwIfAborted(),a+=1,c=!0;for(let l of o){d+=1;let f=i.get(l);if(f===void 0)continue;u+=f.length;let m=ud(f,s);m!==s.get(l)&&(s.set(l,m),c=!1)}}return{value:{communities:ld(s,r),iterations:a,converged:c},meta:{visitedNodes:d,inspectedEdges:u,truncated:!c}}}function At(e){return e.direction==="directed"&&(e.ordering||e.hierarchy)}function Ft(e){return e.inverse!==void 0&&e.inverse<e.kind?e.inverse:e.kind}function Nt(e,t){return(t.hierarchy?Ct(e,t):e.source===Ue(e,t)?e.target:e.source)===e.target?{from:e.source,to:e.target}:{from:e.target,to:e.source}}function fd(e,t){if(t===void 0)return;let n=e.registry(),r=new Set;for(let i of t){let o=n.require(i);if(!At(o))throw new TypeError(`Relationship kind ${o.kind} is not a directed ordering or hierarchy kind`);r.add(Ft(o))}return r}function md(e,t){let n=e.registry(),r=new Map;for(let i of e.edges()){let o=n.require(i.kind);if(!At(o))continue;let s=Ft(o);if(t!==void 0&&!t.has(s))continue;let a=Nt(i,o);if(a.from===a.to)continue;let c=r.get(s);c===void 0&&(c={adjacency:new Map,records:[]},r.set(s,c));let d=c.adjacency.get(a.from);d===void 0?c.adjacency.set(a.from,new Set([a.to])):d.add(a.to),c.records.push({...a,edge:i})}return r}function pd(e){let t=new Map;for(let[n,r]of e.adjacency)t.set(n,[...r].sort());return t}function gd(e,t,n,r){let i=[r];for(let o=n;o!==t;o=e.get(o))i.push(o);return i.push(t),i.reverse()}function hd(e,t,n,r,i,o){for(let s of e.get(n.id)??[])if(o.inspectedEdges+=1,!(n.depth===0&&s===t.to)&&!r.has(s)){if(r.set(s,n.id),s===t.to)return gd(r,t.from,n.id,s);i.push({id:s,depth:n.depth+1})}}function yd(e,t,n,r){let i=new Map([[t.from,t.from]]),o=[{id:t.from,depth:0}];for(let s=0;s<o.length;s+=1){let a=o[s];if(r.visitedNodes+=1,a.depth>=n)continue;let c=hd(e,t,a,i,o,r);if(c!==void 0)return c}}function Lt(e,t={}){let n=t.maxDepth??cd;Dt("maxDepth",n),t.limit!==void 0&&Dt("limit",t.limit);let r=t.limit??Number.POSITIVE_INFINITY,i=fd(e,t.kinds),o=md(e,i),s=[],a={visitedNodes:0,inspectedEdges:0},c=!1;e:for(let d of[...o.keys()].sort()){let u=o.get(d),l=pd(u);for(let f of u.records){t.signal?.throwIfAborted();let m=yd(l,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 _d(e,t,n,r,i){let o=new Set,s=[];for(let a of n){if(a.id===e||o.has(a.id))continue;if(!i.seen.has(a.id)){if(t>=r){i.truncated=!0;continue}i.seen.add(a.id),i.queue.push({id:a.id,depth:t+1})}o.add(a.id),s.push(a.id);let c=i.predecessors.get(a.id);c===void 0&&(c=new Set,i.predecessors.set(a.id,c)),c.add(e)}return s}function bd(e,t,n){let r=n.direction??"outgoing",i=n.maxDepth??Number.POSITIVE_INFINITY,o=[],s=new Map,a={seen:new Set([t]),queue:[{id:t,depth:0}],predecessors:new Map,truncated:!1},c=0;for(let d=0;d<a.queue.length;d+=1){n.signal?.throwIfAborted();let{id:u,depth:l}=a.queue[d];o.push(u);let f=e.neighborEdges(u,{direction:r,...n.kinds===void 0?{}:{kinds:n.kinds}});c+=f.meta.inspectedEdges,s.set(u,_d(u,l,f.value,i,a))}return{order:o,successors:s,predecessors:a.predecessors,inspectedEdges:c,truncated:a.truncated}}function wd(e,t){let n=[],r=new Set([t]),i=[{id:t,index:0}];for(;i.length>0;){let o=i.at(-1),s=e.successors.get(o.id);if(o.index<s.length){let a=s[o.index];o.index+=1,r.has(a)||(r.add(a),i.push({id:a,index:0}))}else n.push(o.id),i.pop()}return n.reverse()}function kd(e,t,n,r){let i=e,o=t;for(;i!==o;){for(;r.get(i)>r.get(o);)i=n.get(i);for(;r.get(o)>r.get(i);)o=n.get(o)}return i}function vd(e,t,n){let r;for(let i of[...e].sort())t.has(i)&&(r=r===void 0?i:kd(r,i,t,n));return r}function xd(e,t,n,r,i){let o=new Map([[t,t]]),s=!0;for(;s;){s=!1;for(let a of n){if(i?.throwIfAborted(),a===t)continue;let c=vd(e.predecessors.get(a),o,r);c!==void 0&&o.get(a)!==c&&(o.set(a,c),s=!0)}}return o}function eo(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=bd(e,t,n),i=wd(r,t),o=new Map(i.map((d,u)=>[d,u])),s=xd(r,t,i,o,n.signal),a=new Map(i.map(d=>[d,1]));for(let d=i.length-1;d>=0;d-=1){let u=i[d];if(u===t)continue;let l=s.get(u);a.set(l,a.get(l)+a.get(u))}let c=i.filter(d=>d!==t).map(d=>({id:d,idom:s.get(d),dominatedCount:a.get(d)-1})).sort((d,u)=>u.dominatedCount-d.dominatedCount||d.id.localeCompare(u.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 to(e){return Math.round(e*1e6)/1e6}function no(e,t,n){let r=e.get(t);r===void 0?e.set(t,new Set([n])):r.add(n)}function ro(e,t){let n=new Map(e.nodes().map(i=>[i,new Set]));Rt(e,t,i=>{n.get(i.source).add(i.target),n.get(i.target).add(i.source)});let r=new Map;for(let[i,o]of n)r.set(i,[...o].sort());return r}function Ed(e,t){let n=new Map,r=new Map;return Rt(e,t,(i,o)=>{if(!o.ordering)return;let{predecessor:s,successor:a}=St(i,o);no(r,s,a),no(n,a,s)}),{incoming:n,outgoing:r}}function Id(e,t,n){let r=new Map([[e,0]]),i=new Map([[e,1]]),o=new Map,s=[],a=[e],c=0,d=0;for(let u=0;u<a.length;u+=1){let l=a[u];n.visitedNodes+=1,s.push(l);let f=r.get(l);l!==e&&(c+=1,d+=f);for(let m of t.get(l))if(n.inspectedEdges+=1,r.has(m)||(r.set(m,f+1),a.push(m)),r.get(m)===f+1){i.set(m,(i.get(m)??0)+i.get(l));let h=o.get(m);h===void 0?o.set(m,[l]):h.push(l)}}return{stack:s,sigma:i,predecessors:o,reachableCount:c,distanceSum:d}}function Cd(e,t,n){let r=new Map;for(let i=e.stack.length-1;i>=0;i-=1){let o=e.stack[i],s=(1+(r.get(o)??0))/e.sigma.get(o);for(let a of e.predecessors.get(o)??[])r.set(a,(r.get(a)??0)+e.sigma.get(a)*s);o!==t&&n.set(o,(n.get(o)??0)+(r.get(o)??0))}}function Sd(e,t){return t<=1||e.reachableCount===0?0:e.reachableCount/(t-1)*(e.reachableCount/e.distanceSum)}function Td(e,t,n,r,i){return{id:e,degree:t.get(e).length,inDegree:n.incoming.get(e)?.size??0,outDegree:n.outgoing.get(e)?.size??0,betweenness:to((r.get(e)??0)/2),closeness:to(i.get(e))}}function io(e,t={}){let n=ro(e,t.kinds),r=Ed(e,t.kinds),i=e.nodes(),o=new Map,s=new Map,a={visitedNodes:0,inspectedEdges:0};for(let u of i){t.signal?.throwIfAborted();let l=Id(u,n,a);s.set(u,Sd(l,i.length)),Cd(l,u,o)}let c=0;for(let u of n.values())c+=u.length;let d=i.map(u=>Td(u,n,r,o,s)).sort((u,l)=>l.betweenness-u.betweenness||l.degree-u.degree||u.id.localeCompare(l.id));return{value:{nodeCount:i.length,edgeCount:c/2,rows:d},meta:{visitedNodes:a.visitedNodes,inspectedEdges:a.inspectedEdges,truncated:!1}}}function Dd(e,t){return e<=t?{source:e,target:t}:{source:t,target:e}}function Rd(e,t,n){let i=t.get(e.node)[e.neighborIndex];if(e.neighborIndex+=1,n.inspectedEdges+=1,i!==e.parent){if(n.discovery.has(i)){n.low.set(e.node,Math.min(n.low.get(e.node),n.discovery.get(i)));return}return e.children+=1,n.discovery.set(i,n.timer),n.low.set(i,n.timer),n.timer+=1,{node:i,parent:e.node,neighborIndex:0,children:0}}}function Ad(e,t,n){if(e.parent===null){e.children>1&&n.articulation.add(e.node);return}let r=e.parent,i=n.low.get(e.node);n.low.set(r,Math.min(n.low.get(r),i)),r!==t&&i>=n.discovery.get(r)&&n.articulation.add(r),i>n.discovery.get(r)&&n.bridges.push(Dd(r,e.node))}function Fd(e,t,n,r){n.discovery.set(e,n.timer),n.low.set(e,n.timer),n.timer+=1;let i=[{node:e,parent:null,neighborIndex:0,children:0}];for(;i.length>0;){r?.throwIfAborted();let o=i.at(-1);if(o.neighborIndex<t.get(o.node).length){let s=Rd(o,t,n);s!==void 0&&i.push(s)}else Ad(o,e,n),i.pop()}}function Mt(e,t={}){let n=ro(e,t.kinds),r={discovery:new Map,low:new Map,timer:0,articulation:new Set,bridges:[],inspectedEdges:0};for(let i of e.nodes())r.discovery.has(i)||Fd(i,n,r,t.signal);return{value:{articulationPoints:[...r.articulation].sort(),bridges:r.bridges.sort((i,o)=>i.source.localeCompare(o.source)||i.target.localeCompare(o.target))},meta:{visitedNodes:r.discovery.size,inspectedEdges:r.inspectedEdges,truncated:!1}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f155ac72-64eb-5316-b016-954abd48c0e7")}catch{}})();function Nd(e){let t=e.registry(),n=new Map,r=new Set;for(let i of e.edges()){let o=t.require(i.kind);if(!o.ordering)continue;let{predecessor:s,successor:a}=St(i,o);if(r.add(s),r.add(a),s===a)continue;let c=n.get(s);c===void 0?n.set(s,new Set([a])):c.add(a)}return{forward:n,participants:r}}function Ld(e,t,n,r){if(e===void 0)return r;let i=r;for(let o of e)t.has(o)&&(i=Math.min(i,n.get(o)));return i}function Md(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 Od(e,t,n,r,i){let o=new Map;for(let s=e.length-1;s>=0;s-=1){let a=e[s],c=Ld(t.forward.get(a),r,o,i);o.set(a,c-1)}return e.map(s=>Md(s,n[s],o.get(s))).sort((s,a)=>s.slack-a.slack||s.earliestStart-a.earliestStart||s.id.localeCompare(a.id))}function oo(e,t={}){t.signal?.throwIfAborted();let n=gt(e,{registry:e.registry()}),r=Nd(e),i=new Set(n.order),o=n.order.filter(d=>r.participants.has(d)),s=o.reduce((d,u)=>Math.max(d,n.depth[u]+1),0),a=Od(o,r,n.depth,i,s),c=a.length>0;return{exact:!0,acyclic:n.acyclic,makespan:s,scheduledCount:a.length,criticalPath:c?n.criticalPath:[],criticalPathLength:c?n.criticalPathLength:0,cycles:n.cycles,rows:a,provenance:{algorithm:"critical-path-method",edgeFamily:"ordering",weighting:"unit"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a2043b27-3dfe-5da8-a10f-d92ff33f3c28")}catch{}})();var Ot=["missing_reference_active","missing_reference_terminal","legacy_no_blocker_sentinel","ordering_cycle","legacy_ordering_cycle","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]="ab8a4904-0302-5e36-9963-750b3ba79876")}catch{}})();var $d=25,Pd="milestone",jd="outcome milestone:",Ud=new Set(["discovered_from","incident_from","supersedes","verifies"]);function On(e){return Ud.has(e)}var so={error:0,warning:1,info:2};function Ln(e,t,n,r,i,o,s){let a=[...i].sort((c,d)=>c.localeCompare(d));return{code:e,severity:t,policy:n,message:r(a.length),count:a.length,sample:a.slice(0,o),sample_truncated:a.length>o,remediation:s}}function Bd(e){let t=e.graph.registry(),n=new Map;for(let r of e.graph.edges()){let i=t.require(r.kind);if(!i.ordering)continue;let[o,s]=(i.precedence??"source_before_target")==="target_before_source"?[r.target,r.source]:[r.source,r.target],a=n.get(o);a?a.push(s):n.set(o,[s])}for(let r of n.values())r.sort((i,o)=>i.localeCompare(o));return n}function co(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 Gd(e,t,n,r){let i=n.get(e.node)??[];if(e.neighborIndex>=i.length)return!1;let o=i[e.neighborIndex];return e.neighborIndex+=1,r.indexes.has(o)?r.onStack.has(o)&&r.lowLinks.set(e.node,Math.min(r.lowLinks.get(e.node),r.indexes.get(o))):(co(o,r),t.push({node:o,neighborIndex:0})),!0}function Kd(e,t,n,r){t.pop();let i=t.at(-1);if(i&&r.lowLinks.set(i.node,Math.min(r.lowLinks.get(i.node),r.lowLinks.get(e.node))),r.lowLinks.get(e.node)!==r.indexes.get(e.node))return;let o=[];for(;;){let s=r.stack.pop();if(r.onStack.delete(s),o.push(s),s===e.node)break}(o.length>1||o.length===1&&n.get(o[0])?.includes(o[0]))&&r.components.push(o.sort((s,a)=>s.localeCompare(a)))}function zd(e){let t={indexes:new Map,lowLinks:new Map,onStack:new Set,stack:[],components:[],nextIndex:0},n=[...e.keys()].sort((r,i)=>r.localeCompare(i));for(let r of n){if(t.indexes.has(r))continue;let i=[{node:r,neighborIndex:0}];for(co(r,t);i.length>0;){let o=i.at(-1);Gd(o,i,e,t)||Kd(o,i,e,t)}}return t.components.sort((r,i)=>r[0].localeCompare(i[0]))}function Fn(e){return`${e.holder_id} -> ${e.target_id} (${e.kind})`}function ee(e,t,n,r,i,o,s,a){t.length!==0&&e.push(Ln(r,i,o,s,t,n,a))}function Hd(e,t,n){let r=[],i=[...e.dangling.active,...e.dangling.legacy_terminal].filter(o=>!o.no_active_blocker_sentinel);return ee(r,i.filter(o=>!t(o.holder_status)).map(Fn),n,"missing_reference_active","error","Active items must not reference absent targets; missing prerequisites distort scheduling.",o=>`${o} active dangling reference(s) to absent items`,"Restore or re-create the referenced item, or remove/retype the reference on the holder."),ee(r,i.filter(o=>t(o.holder_status)).map(Fn),n,"missing_reference_terminal","info","Terminal items may retain historical references, but absent targets remain unexplainable context.",o=>`${o} terminal dangling reference(s) to absent items`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),ee(r,e.dangling.no_active_blocker_sentinels.map(Fn),n,"legacy_no_blocker_sentinel","info","The pre-structured-dependency no-active-blocker sentinel is retired; real edges carry blocker state.",o=>`${o} legacy no-active-blocker sentinel reference(s)`,"Delete the sentinel reference; blocker state is derived from blocked_by edges."),r}function Mn(e,t){let n=t.get(e);return n?!n.terminal:!0}function qd(e,t,n,r){let i=[],o=Bd(e);for(let c of zd(o)){let d=c.some(u=>Mn(u,t));i.push(d?Ln("ordering_cycle","error","Order-bearing relationship kinds must stay acyclic; a cycle makes every member unschedulable.",u=>`execution-order cycle across ${u} item(s)`,c,r,"Remove or retype one ordering edge inside the cycle, or split the work so precedence is linear."):Ln("legacy_ordering_cycle","info","Ordering cycles between exclusively terminal items are historical contradictions with no scheduling effect.",u=>`terminal-only execution-order cycle across ${u} 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."))}let s=new Map;for(let[c,d]of o)for(let u of d){let l=s.get(u);l?l.push(c):s.set(u,[c])}let a=[...t.values()].filter(c=>!c.missing&&!c.terminal&&n(c.status)&&!(s.get(c.id)??[]).some(d=>{let u=t.get(d);return u===void 0||!u.terminal})).map(c=>c.id);return ee(i,a,r,"stale_lifecycle_block","warning","A blocked lifecycle status must be backed by at least one open ordering predecessor.",c=>`${c} status-blocked item(s) with no open blocker edge`,'Add a local blocker edge, declare an external blocker with --dep "id=<external-ref>,kind=blocked_by,source_kind=external", or move the item back to an active status.'),i}function $t(e){let t=e.edges.map(n=>n.kind).sort((n,r)=>n.localeCompare(r));return`${e.from} -> ${e.to} (${t.join(" + ")})`}function $n(e){let t=e.graph.registry(),n=new Map;for(let i of e.graph.edges()){let o=t.require(i.kind);if(!At(o))continue;let s=Nt(i,o);if(s.from===s.to)continue;let a=`${Ft(o)}::${s.from}::${s.to}`,c=n.get(a);c?c.edges.push(i):n.set(a,{...s,edges:[i]})}let r=[...n.values()].filter(i=>i.edges.length>=2);for(let i of r)i.edges.sort((o,s)=>o.kind.localeCompare(s.kind));return r.sort((i,o)=>i.from.localeCompare(o.from)||i.to.localeCompare(o.to))}function Wd(e,t,n){let r=[],i=[];for(let s of $n(e))(Mn(s.from,t)||Mn(s.to,t)?r:i).push($t(s));let o=[];return ee(o,r,n,"duplicate_edge","info","One semantic relationship should be stored once; parallel same-family spellings (reciprocal inverse pairs included) add no information and skew degree metrics.",s=>`${s} duplicated relationship(s) between active endpoints`,"Remove all but one stored spelling of the relationship; keep the canonical direction the holder declared first."),ee(o,i,n,"legacy_duplicate_edge","info","Duplicated spellings between exclusively terminal items are historical noise with no scheduling effect.",s=>`${s} duplicated relationship(s) between terminal endpoints`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),o}function Vd(e,t){let n=[],r=[];for(let o of e.duplicateRows??[])(o.legacy_terminal?r:n).push(`${o.holder_id} -> ${o.target_id} (${o.kind} x${o.occurrences})`);let i=[];return ee(i,n,t,"duplicate_dependency_row","warning","One dependency row must be stored once per holder; identical repeated rows are a storage-layer defect invisible to the assembled graph.",o=>`${o} exactly duplicated stored dependency row(s) on active holder(s)`,"Remove the repeated rows so the dependency is stored exactly once; graph semantics are unchanged."),ee(i,r,t,"legacy_duplicate_dependency_row","info","Identical repeated dependency rows on terminal holders are historical storage noise with no scheduling effect.",o=>`${o} exactly duplicated stored dependency row(s) on terminal holder(s)`,"Leave as history debt or clean up in a dedicated changelog-safe closed-item batch."),i}function Yd(e,t){let n=new Map;for(let r of e.graph.edges()){t?.throwIfAborted();let i=e.graph.registry().require(r.kind),o;if(i.hierarchy?o=Nt(r,i):i.kind==="implements"&&(o={from:r.source,to:r.target}),o===void 0)continue;let s=n.get(o.to)??new Set;s.add(o.from),n.set(o.to,s)}return n}function Xd(e,t,n){let r=new Set(e),i=[...e].sort();for(let o=0;o<i.length;o+=1){n?.throwIfAborted();for(let s of[...t.get(i[o])??[]].sort())r.has(s)||(r.add(s),i.push(s))}return r}function Jd(e,t,n,r){let i=0,o=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)?i+=1:o+=1}let c=i+o,d=s-a,u=i+a,l=o+d,f=u+l;return{active_outcome_reachable_nodes:i,active_outcome_unreachable_nodes:o,active_outcome_reachability_basis_points:c===0?0:Math.floor(i*1e4/c),terminal_nodes:s,terminal_outcome_reachable_nodes:a,terminal_outcome_unreachable_nodes:d,terminal_outcome_reachability_basis_points:s===0?0:Math.floor(a*1e4/s),outcome_reachable_nodes:u,outcome_unreachable_nodes:l,outcome_reachability_basis_points:f===0?0:Math.floor(u*1e4/f)}}function Qd(e,t,n){let r=new Set(e.details.filter(o=>o.type?.toLowerCase()===Pd&&o.title.trim().toLowerCase().startsWith(jd)).map(o=>o.id)),i=Xd(r,Yd(e,n),n);return{outcome_nodes:r.size,...Jd(t,r,i,n)}}function Zd(e,t,n,r,i){e.active+=1;let o=t.type??"(untyped)",s=e.byType.get(o);s||(s={active:0,isolated:0,degree_leq_one:0},e.byType.set(o,s)),s.active+=1,!(n>1)&&(e.degreeLeqOne+=1,s.degree_leq_one+=1,n===0&&(e.isolated+=1,s.isolated+=1),!(r.has(t.id.toLowerCase())||i.has(o.toLowerCase()))&&(n===0?e.isolates.push(t.id):e.sparse.push(t.id)))}function eu(e,t,n,r,i,o,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 b=t.get(_);if(b){if(b.missing){a.missing+=1;continue}b.terminal||Zd(a,b,e.graph.incidentEdges(_).length,n,r)}}let{isolates:c,sparse:d}=a,u=[];ee(u,c,i,"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."),ee(u,d,i,"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 l=e.graph.edges().length,f=Object.fromEntries(Object.entries(o).sort(([_],[b])=>_.localeCompare(b))),m=Object.entries(f).reduce((_,[b,w])=>_+(On(b)?w:0),0),h=Mt(e.graph,{signal:s}).value,y=Qd(e,t,s);return{findings:u,profile:{nodes:e.graph.nodes().length,edges:l,edge_basis:"deduplicated_directed",edges_by_kind:f,edge_share_by_kind:Object.fromEntries(Object.entries(f).map(([_,b])=>[_,b/l])),semantic_edges:m,semantic_edge_share:l===0?0:m/l,active_nodes:a.active,missing_nodes:a.missing,isolated_active_nodes:a.isolated,degree_leq_one_active_nodes:a.degreeLeqOne,coverage_by_type:Object.fromEntries([...a.byType.entries()].sort(([_],[b])=>_<b?-1:1)),articulation_points:h.articulationPoints.length,bridge_edges:h.bridges.length,...y,finding_subjects_by_code:Object.fromEntries(Ot.map(_=>[_,0]))}}}function Pt(e,t={}){let n=t.isTerminal??(f=>f==="closed"||f==="canceled"),r=t.isBlocked??(f=>f==="blocked"),i=t.maxSampleSize??$d;if(!Number.isInteger(i)||i<1)throw new TypeError(`Invalid audit sample bound: ${String(t.maxSampleSize)}`);let o=new Set((t.exemptIsolates??[]).filter(f=>typeof f=="string").map(f=>f.trim().toLowerCase())),s=new Set((t.isolateExemptTypes??[]).filter(f=>typeof f=="string").map(f=>f.trim().toLowerCase())),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=Hd(e,n,i);t.signal?.throwIfAborted(),d.push(...qd(e,a,r,i)),t.signal?.throwIfAborted(),d.push(...Wd(e,a,i),...Vd(e,i)),t.signal?.throwIfAborted();let u=eu(e,a,o,s,i,c,t.signal);d.push(...u.findings),d.sort((f,m)=>so[f.severity]-so[m.severity]||f.code.localeCompare(m.code)||f.sample[0].localeCompare(m.sample[0]));let l=u.profile.finding_subjects_by_code;for(let f of d)l[f.code]+=f.count;return{findings:d,profile:{...u.profile,finding_subjects_by_code:l}}}function Nn(e,t){let n=[...new Set([...Object.keys(e),...Object.keys(t)])].sort(),r={};for(let i of n){let o=(t[i]??0)-(e[i]??0);o!==0&&(r[i]=o)}return r}function ao(e){return e.profile.coverage_by_type??{}}function uo(e,t){let n={},r=ao(e),i=ao(t),o=[...new Set([...Object.keys(r),...Object.keys(i)])].sort();for(let f of o){let m=Object.assign({active:0,isolated:0,degree_leq_one:0},r[f]),h=Object.assign({active:0,isolated:0,degree_leq_one:0},i[f]),y={active:h.active-m.active,isolated:h.isolated-m.isolated,degree_leq_one:h.degree_leq_one-m.degree_leq_one};Object.values(y).some(_=>_!==0)&&(n[f]=y)}let{edge_share_by_kind:s={},semantic_edges:a=0,semantic_edge_share:c=0}=e.profile,{edge_share_by_kind:d={},semantic_edges:u=0,semantic_edge_share:l=0}=t.profile;return{baseline_saved_at:e.saved_at,same_snapshot:e.fingerprint===t.fingerprint,affected_subjects_by_code:Nn(e.affected_subjects_by_code,t.affected_subjects_by_code),profile:{nodes:t.profile.nodes-e.profile.nodes,edges:t.profile.edges-e.profile.edges,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:Nn(e.profile.edges_by_kind,t.profile.edges_by_kind),edge_share_by_kind:Nn(s,d),semantic_edges:u-a,semantic_edge_share:l-c,coverage_by_type:n}}}import lo 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]="2f7f14e3-6d41-5f45-a560-ebfbb8aa5828")}catch{}})();var fo=1,Pn=500,tu=64,nu="graph-durable-cache";function mo(e){return Ce(e,nu,30,`graph-cache:${process.pid}`,!1,!1,3e3)}function Be(e){return lo.join(e,"runtime","graph-cache.json")}function po(e){return lo.join(e,"runtime","graph-audit-baseline.json")}function jn(e){if(e!==null)try{let t=JSON.parse(e);return typeof t!="object"||t===null||t.version!==fo||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 Un(e,t){let n=await ie(Be(e)),r=jn(n),i=r?.fingerprint===t;return{exists:n!==null,fresh:i,results:i?r.results:{}}}async function Bn(e,t,n,r,i){let o=await mo(e);try{let s=jn(await ie(Be(e))),a=s?.fingerprint===t?s.results:{};delete a[r],a[r]=i;let c=Object.keys(a);for(let d of c.slice(0,Math.max(0,c.length-tu)))delete a[d];await K(Be(e),JSON.stringify({version:fo,fingerprint:t,saved_at:new Date().toISOString(),results:a})),n.results=a}finally{await o()}}async function Gn(e){let t=await mo(e);try{await Sr(Be(e))}finally{await t()}}async function go(e,t){let n=Be(e),r=await ie(n),i=jn(r);return i===void 0?{exists:r!==null,fresh:!1,entry_count:0}:{exists:!0,fresh:i.fingerprint===t,entry_count:Object.keys(i.results).length,fingerprint:i.fingerprint.slice(0,12),saved_at:i.saved_at,bytes:Buffer.byteLength(r,"utf8")}}function Kn(e,t){return t||e>=Pn}function jt(e){return Fe(e)&&Object.values(e).every(Ne)}function Fe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ne(e){return Number.isInteger(e)&&Number(e)>=0}function ho(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function yo(e,t){return e===void 0||t(e)}function ru(e){return Fe(e)&&Object.values(e).every(ho)}function iu(e){return Fe(e)?Object.values(e).every(t=>Fe(t)&&[t.active,t.isolated,t.degree_leq_one].every(Ne)):!1}function ou(e,t){let n=["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"],r=["active_outcome_reachability_basis_points","terminal_outcome_reachability_basis_points","outcome_reachability_basis_points"],i=[...n,...r,"finding_subjects_by_code"],o=i.filter(d=>e[d]!==void 0).length;if(o!==0&&o!==i.length)return;let s=n.every(d=>e[d]===void 0||Ne(e[d])),a=r.every(d=>e[d]===void 0||Ne(e[d])&&Number(e[d])<=1e4);if(!s||!a||e.edge_basis!==void 0&&e.edge_basis!=="deduplicated_directed"||!yo(e.finding_subjects_by_code,jt))return;let c=jt(e.finding_subjects_by_code)?e.finding_subjects_by_code:{};return{edge_basis:"deduplicated_directed",...Object.fromEntries(n.map(d=>[d,e[d]??0])),...Object.fromEntries(r.map(d=>[d,e[d]??0])),finding_subjects_by_code:Object.fromEntries(Ot.map(d=>[d,c[d]??t[d]??0]))}}function su(e,t,n,r,i){let o=[n,r,i],s=o.filter(d=>d!==void 0).length;if(s===0)return{edge_share_by_kind:{},semantic_edges:0,semantic_edge_share:0};if(s!==o.length||!ru(n)||!Ne(r)||!ho(i))return;let a=Object.entries(t);if(a.reduce((d,[,u])=>d+u,0)!==e||Object.keys(n).length!==a.length||a.some(([d,u])=>n[d]!==(e===0?0:u/e)))return;let c=a.reduce((d,[u,l])=>d+(On(u)?l:0),0);if(!(r!==c||i!==(e===0?0:c/e)))return{edge_share_by_kind:n,semantic_edges:r,semantic_edge_share:i}}function au(e){if(e!==null)try{let t=JSON.parse(e);if(!Fe(t))return;let n=t,r=n.profile;if(typeof n.saved_at!="string"||typeof n.fingerprint!="string")return;let i=n.affected_subjects_by_code;if(!jt(i)||!Fe(r)||![r.nodes,r.edges,r.active_nodes,r.missing_nodes,r.isolated_active_nodes,r.degree_leq_one_active_nodes].every(Ne)||!jt(r.edges_by_kind)||!yo(r.coverage_by_type,iu))return;let o=su(r.edges,r.edges_by_kind,r.edge_share_by_kind,r.semantic_edges,r.semantic_edge_share);if(o===void 0)return;let s=ou(r,i);if(s===void 0)return;let{coverage_by_type:a={}}=r;return{...n,profile:{...r,...o,...s,coverage_by_type:a}}}catch{return}}async function _o(e){return au(await ie(po(e)))}async function bo(e,t){await K(po(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]="9b8e22ad-6268-515d-994e-6b98a062ba93")}catch{}})();var cu={missing_reference_active:{op:"investigate",confidence:"medium",rationale:"Restore or re-create the referenced item, or remove/retype the reference on the active holder; the correct fix depends on why the target is absent."},missing_reference_terminal:{op:"waive",confidence:"high",rationale:"Terminal-holder reference to an absent item is historical debt; waive it or clean it up only in a dedicated changelog-safe closed-item batch."},legacy_no_blocker_sentinel:{op:"remove",confidence:"high",rationale:"The pre-structured-dependency no-active-blocker sentinel is retired and carries no information; blocker state derives from blocked_by edges."},ordering_cycle:{op:"investigate",confidence:"low",rationale:"Every cycle member is unschedulable until one ordering edge is removed or retyped; the planner never chooses which edge to cut."},legacy_ordering_cycle:{op:"waive",confidence:"high",rationale:"Terminal-only ordering cycles have no scheduling effect; repairing them would mutate closed history (changelog drag)."},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 wo(e){return`${e.source} -${e.kind}-> ${e.target}`}function du(e){let[t,...n]=e.edges;return n.map(r=>({op:"remove",code:"duplicate_edge",subject:wo(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: ${wo(t)}`,`group: ${$t(e)}`],confidence:"high"}))}function uu(e,t){if(e.code==="duplicate_edge")return e.sample.flatMap(r=>du(t.get(r)));let n=cu[e.code];return e.sample.map(r=>({op:n.op,code:e.code,subject:r,rationale:n.rationale,evidence:[e.policy],confidence:n.confidence}))}function ko(e,t={}){let{redundancyLimit:n,...r}=t,i=Pt(e,r),o=new Map($n(e).map(d=>[$t(d),d])),s=i.findings.flatMap(d=>uu(d,o)),a=i.findings.some(d=>d.sample_truncated);t.signal?.throwIfAborted();let c=Lt(e.graph,{limit:n??t.maxSampleSize??25,...t.signal===void 0?{}:{signal:t.signal}});for(let d of c.value)s.push({op:"remove",code:"redundant_edge",subject:`${d.edge.source} -> ${d.edge.target} (${d.edge.kind})`,rationale:"The stored edge is implied by a longer same-family witness path; shortcut edges are sometimes deliberate emphasis, so confirm intent before removing.",evidence:[`witness: ${d.witness.join(" -> ")}`],confidence:"medium"});return a=a||c.meta.truncated,{steps:s,report:i,truncated:a,cost:{visitedNodes:c.meta.visitedNodes,inspectedEdges:c.meta.inspectedEdges}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c8bfb7a-687a-5fbb-b408-ffdbab1187a9")}catch{}})();var Io=new Set(["ancestors","descendants","predecessors","successors","paths","impact","dominators"]),me=10;function vo(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 xo(e){return e===void 0?[]:(Array.isArray(e)?e:[e]).flatMap(t=>t.split(",")).map(t=>t.trim()).filter(t=>t.length>0)}function lu(e,t,n){let r=e.trim().toLowerCase();if(!un.includes(r))throw Fr({command_path:"graph",token:r||"<empty>",allowed:un});let i=r;if(Io.has(i)&&!t?.trim())throw new g(`graph ${i} requires an item id.`,p.USAGE);if(i==="paths"&&!n?.trim())throw new g("graph paths requires a source and a target item id.",p.USAGE);return i}function zn(e){throw e instanceof TypeError?new g(e.message,p.USAGE):e}function Hn(e){return{truncated:e.truncated,cost:{visited_nodes:e.visitedNodes,inspected_edges:e.inspectedEdges}}}function Eo(e,t){let n=t.trim().toLowerCase();for(let r of e.details)if(r.id.trim().toLowerCase()===n&&!e.missingIdSet.has(r.id.toLowerCase()))return r.id;throw new g(`Item ${t} not found`,p.NOT_FOUND)}function fu(e,t,n){let r={ancestors:Wi,descendants:Vi,predecessors:Yi,successors:Xi}[e],i;try{i=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){zn(s)}let o=Hn(i.meta);return{subcommand:e,root:t,count:i.value.length,...o,...i.meta.nextCursor===void 0?{}:{next_cursor:i.meta.nextCursor},...n.summary?{}:{ids:i.value}}}function mu(e,t,n){let r=Ji(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,...Hn(r.meta),...n.summary?{}:{paths:r.value.map(i=>({nodes:i.nodes,kinds:i.edges.map(o=>o.kind),length:i.length}))}}}function pu(e,t){let n;try{n=Di(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){zn(r)}return{subcommand:"impact",root:e,direction:t.direction,count:n.affected.length,truncated:n.truncated,...n.nextCursor===void 0?{}:{next_cursor:n.nextCursor},cost:{visited_nodes:n.cost.visitedNodes,inspected_edges:n.cost.inspectedEdges},...t.summary?{}:{affected:n.affected}}}function gu(e){let t=e.assembly.graph,n=e.limit??me,r=gt(t,{registry:t.registry()}),i=Ri(t);return{subcommand:"analyze",node_count:t.nodes().length,edge_count:t.edges().length,edge_basis:"deduplicated_directed",sample_limit:n,execution:{acyclic:r.acyclic,ordered_node_count:r.order.length,layer_count:r.layers.length,frontier_count:r.frontier.length,critical_path_length:r.criticalPathLength,cycle_count:r.cycles.length,...e.summary?{}:{frontier:r.frontier.slice(0,n),critical_path:r.criticalPath.slice(0,n),cycles:r.cycles.slice(0,n)}},knowledge:{component_count:i.components.length,largest_component_size:i.components[0]?.length??0,orphan_count:i.orphans.length,...e.summary?{}:{orphans:i.orphans.slice(0,n),hubs:i.hubs.slice(0,n)}}}}function hu(e,t){let n=Pt(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={},i={},o={},s={};for(let a of n.findings)r[a.severity]=(r[a.severity]??0)+1,i[a.code]=(i[a.code]??0)+1,o[a.severity]=(o[a.severity]??0)+a.count,s[a.code]=(s[a.code]??0)+a.count;return{subcommand:"audit",finding_count:n.findings.length,findings_by_severity:r,findings_by_code:i,affected_subjects_by_severity:o,affected_subjects_by_code:s,profile: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=Zi(e.assembly.graph,n),i=r.value;return{subcommand:"communities",community_count:i.communities.length,largest_community_size:i.communities[0]?.size??0,iterations:i.iterations,converged:i.converged,truncated:!i.converged||i.communities.length>t,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...e.summary?{}:{communities:i.communities.slice(0,t).map(o=>({representative:o.representative,size:o.size,members:o.members.slice(0,t)}))}}}function _u(e){let t;try{t=Lt(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){zn(n)}return{subcommand:"redundancy",redundant_count:t.value.length,...Hn(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=eo(t.assembly.graph,e,{direction:t.direction,...t.kinds===void 0?{}:{kinds:t.kinds},...t.maxDepth===void 0?{}:{maxDepth:t.maxDepth}}),i=r.value.rows.filter(o=>o.dominatedCount>0);return{subcommand:"dominators",root:e,direction:t.direction,reachable_count:r.value.reachableCount,bottleneck_count:i.length,truncated:r.meta.truncated||i.length>n,cost:{visited_nodes:r.meta.visitedNodes,inspected_edges:r.meta.inspectedEdges},...t.summary?{}:{bottlenecks:i.slice(0,n).map(o=>({id:o.id,idom:o.idom,dominated_count:o.dominatedCount}))}}}function wu(e){let t=e.limit??me,n=oo(e.assembly.graph),r=n.rows.filter(i=>i.critical).length;return{subcommand:"slack",acyclic:n.acyclic,makespan:n.makespan,scheduled_count:n.scheduledCount,critical_count:r,critical_path_length:n.criticalPathLength,cycle_count:n.cycles.length,truncated:n.rows.length>t,...e.summary?{}:{critical_path:n.criticalPath,rows:n.rows.slice(0,t).map(i=>({id:i.id,earliest_start:i.earliestStart,latest_start:i.latestStart,slack:i.slack,critical:i.critical}))}}}function ku(e){let t=e.limit??me,n=io(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),r=n.value;return{subcommand:"centrality",node_count:r.nodeCount,edge_count:r.edgeCount,edge_basis:"simple_undirected",truncated:r.rows.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{rows:r.rows.slice(0,t).map(i=>({id:i.id,degree:i.degree,in_degree:i.inDegree,out_degree:i.outDegree,betweenness:i.betweenness,closeness:i.closeness}))}}}function vu(e){let t=e.limit??me,n=Mt(e.assembly.graph,e.kinds===void 0?{}:{kinds:e.kinds}),{articulationPoints:r,bridges:i}=n.value;return{subcommand:"articulation",articulation_count:r.length,bridge_count:i.length,truncated:r.length>t||i.length>t,cost:{visited_nodes:n.meta.visitedNodes,inspected_edges:n.meta.inspectedEdges},...e.summary?{}:{articulation_points:r.slice(0,t),bridges:i.slice(0,t)}}}function xu(e,t){let n=e.limit??me,r=ko(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}}),i={},o={};for(let s of r.steps)i[s.op]=(i[s.op]??0)+1,o[s.code]=(o[s.code]??0)+1;return{subcommand:"plan",step_count:r.steps.length,steps_by_op:i,steps_by_code:o,finding_count:r.report.findings.length,truncated:r.truncated||r.steps.length>n,cost:{visited_nodes:r.cost.visitedNodes,inspected_edges:r.cost.inspectedEdges},...e.summary?{}:{steps:r.steps.slice(0,n)}}}function Co(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(i=>i.toLowerCase()))].sort(),exemptIsolateTypes:[...new Set(r.exemptIsolateTypes.map(i=>i.toLowerCase()))].sort(),summary:r.summary,unbounded:r.unbounded})}function So(e,t,n,r,i){return e==="analyze"?gu(r):e==="audit"?hu(r,i):e==="plan"?xu(r,i):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"?mu(t,n,r):e==="impact"?pu(t,r):fu(e,t,r)}function Eu(e,t){if(e!=="index"&&(t.rebuild===!0||t.clear===!0))throw new g("--rebuild and --clear apply only to graph index.",p.USAGE);if(e!=="audit"&&t.saveBaseline===!0)throw new g("--save-baseline applies only to graph audit.",p.USAGE);if(e==="slack"&&t.kind!==void 0)throw new g("graph slack analyzes every ordering kind; --kind is not supported.",p.USAGE);if(t.rebuild===!0&&t.clear===!0)throw new g("graph index accepts either --rebuild or --clear, not both.",p.USAGE);if(e==="impact"&&t.full===!0&&t.limit!==void 0)throw new g("graph impact accepts either --full or --limit, not both.",p.USAGE)}async function Iu(e,t,n,r,i,o){let s="status";if(o.clear===!0&&(await Gn(e),s="cleared"),o.rebuild===!0){await Gn(e);let c=await Un(e,t),d={assembly:n.assembly,direction:"both",exemptIsolates:[],exemptIsolateTypes:[],saveBaseline:!1,summary:!0,unbounded:!1};for(let u of["analyze","audit"])await Bn(e,t,c,Co(u,void 0,void 0,d),So(u,void 0,void 0,d,i));s="rebuilt"}let a=await go(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:Pn,persist_enabled:Kn(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 i={saved_at:new Date().toISOString(),fingerprint:t,affected_subjects_by_code:n.affected_subjects_by_code,profile:n.profile},o=await _o(e);return r&&await bo(e,i),o===void 0?n:{...n,baseline:uo(o,i)}}async function Su(e,t,n,r,i){try{await Bn(e,t,n,r,i)}catch{}}async function L_(e,t,n,r,i){let o=lu(e,t,n);ot(r.summary===!0,r.full===!0,"--summary");let s=S(process.cwd(),i.path);if(!await A($(s)))throw new g(`Tracker is not initialized at ${s}. Run pm init first.`,p.NOT_FOUND);let a=await T(s),c=O(a,F()),d=await Q(s,a.item_format,c.type_to_folder,void 0,a.schema),u=z(a.schema),l=U=>L(U,u);Eu(o,r);let f=De(),m=Rn(r.kind,f),h=xt().lookup(s,vt(d,l,f),()=>Re(d,l,f)),y={assembly:h.assembly,...m===void 0?{}:{kinds:m},maxDepth:It(r.maxDepth),limit:Z(r.limit,"limit"),after:r.after?.trim()||void 0,direction:Dn(r.direction),maxPaths:Z(r.maxPaths,"max-paths"),sample:Z(r.sample,"sample"),exemptIsolates:xo(r.exemptIsolate),exemptIsolateTypes:xo(r.exemptIsolateType),saveBaseline:r.saveBaseline===!0,summary:r.summary===!0,unbounded:r.full===!0};if(o==="index")return vo(await Iu(s,h.fingerprint,y,d.length,l,r),!1);let _=Io.has(o)?Eo(y.assembly,t):void 0,b=o==="paths"?Eo(y.assembly,n):void 0,w=Co(o,_,b,y),k=await Un(s,h.fingerprint),E=k.results[w],I=h.memoize(w,()=>E!==void 0?structuredClone(E):So(o,_,b,y,l)),P=Kn(d.length,k.exists);!I.reused&&E===void 0&&P&&await Su(s,h.fingerprint,k,w,I.value);let D=I.value.subcommand==="audit"?await Cu(s,h.fingerprint,I.value,y.saveBaseline):I.value;return D.cache={fingerprint:h.fingerprint.slice(0,12),assembly:h.assemblyReused?"hit":"miss",result:I.reused?"hit":"miss",durable:E!==void 0?"hit":P?"miss":"off"},vo(D,y.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]="de8a82e1-0b02-5d5a-9086-686529a1ccab")}catch{}})();var To="blocked_by",Do="blocks",Tu=Object.freeze([To,Do]),qn="no-active-blocker";function R(e){return e.trim().toLowerCase()}function ge(e){let t=new Set,n=typeof e.blocked_by=="string"?R(e.blocked_by):"";n.length>0&&n!==qn&&t.add(n);for(let r of e.dependencies??[]){let i=typeof r.id=="string"?R(r.id):"";r.kind===To&&i.length>0&&i!==qn&&t.add(i)}return[...t].sort((r,i)=>r.localeCompare(i))}function Ut(e){let t=new Map;for(let n of e){let r=R(n.id);r.length!==0&&t.set(r,new Set(ge(n)))}for(let n of e){let r=R(n.id);if(r.length!==0)for(let i of n.dependencies??[]){let o=i.kind===Do&&typeof i.id=="string"?R(i.id):"";if(o.length===0||o===qn)continue;let s=t.get(o)??new Set;s.add(r),t.set(o,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((i,o)=>i.localeCompare(o))]))}function Ro(e,t){let n=R(e.id);return n.length>0?Ut(t).get(n)??ge(e):ge(e)}function Wn(e,t,n,r){let i=e;return(typeof i.id=="string"?r?.get(R(i.id))??Ro(i,[...t.values()]):ge(e)).map(s=>{let a=t.get(R(s));return a?{id:s,title:a.title,status:a.status,resolved:L(a.status,n)}:{id:s,title:null,status:null,resolved:!1}})}function Bt(e,t,n){return Wn(e,t,n)}function Ge(e,t){let n=new Map(e.map(s=>[R(s.id),s])),r=Ut(e),i=new Set([...Ao(t),...t.blocked_statuses]),o=new Set;for(let s of e){let a=C(s.status,t);if(!i.has(a))continue;(t.blocked_statuses.has(a)||Wn(s,n,t,r).some(d=>!d.resolved))&&o.add(R(s.id))}return o}function Ao(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Du(e,t,n){let r=[R(e)],i=new Set;for(;r.length>0;){let o=r.pop();if(!i.has(o)){i.add(o);for(let s of t.get(o)??[]){if(!L(s.status,n))return!0;r.push(R(s.id))}}}return!1}function Ru(e){let t=new Map,n=new Map,r=new Map,i=Ut(e);for(let o of e){t.set(R(o.id),o);let s=typeof o.parent=="string"?o.parent.trim():"";if(s.length>0){let a=R(s),c=n.get(a)??[];c.push(o),n.set(a,c)}for(let a of i.get(R(o.id))){let c=R(a),d=r.get(c)??[];d.push(o.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:i}}function Vn(e,t,n){let{itemsById:r,childrenByParent:i,blockedByReverse:o,blockerIdsByItem:s}=Ru(t),a=new Set([...Ao(n),...n.blocked_statuses]),c=new Set(t.filter(m=>!L(m.status,n)).map(m=>R(m.id))),d=[],u=[],l=0,f=0;for(let m of e){if(!a.has(C(m.status,n)))continue;if(l+=1,Du(m.id,i,n)){f+=1;continue}let h=Wn(m,r,n,s).filter(w=>!w.resolved),y=(o.get(R(m.id))??[]).filter(w=>c.has(R(w))).sort((w,k)=>w.localeCompare(k)),_={item:m,open_blockers:h,unblocks:y},b=n.blocked_statuses.has(C(m.status,n));h.length===0&&!b?d.push(_):u.push(_)}return{ready:d,blocked:u,active_count:l,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 Yn(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){r+=c,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new g(`${t.label} requires at least one non-empty value`,p.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function Ke(e,t){let n=Yn(e,t);return n===void 0?void 0:new Set(n)}function Fo(e,t,n="--type"){let r=Yn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=rt(o,t);if(!s)throw new g(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,p.USAGE);return s});return new Set(i)}function No(e,t="--priority"){let n=Yn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>ht(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]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function Lo(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function Po(e){return{isTerminal(t){return e.terminal_statuses.has(Lo(t,e))},classify(t){let n=Lo(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 Xn(e){return j(e.acceptance_criteria)===void 0}function Jn(e){return!Number.isFinite(e.estimated_minutes)}function jo(e,t){return t.isTerminal(e.status)?j(e.resolution)===void 0:!1}function Au(e){return j(e.reviewer)===void 0}function Fu(e){return j(e.risk)===void 0}function Nu(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):j(e.confidence)===void 0}function Lu(e){return j(e.sprint)===void 0}function Mu(e){return j(e.release)===void 0}function Qn(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Ou(e,t,n){return[[t.acMissing,Xn(e)],[t.estimatesMissing,Jn(e)],[t.resolutionMissing,jo(e,n)],[t.reviewerMissing,Au(e)],[t.riskMissing,Fu(e)],[t.confidenceMissing,Nu(e)],[t.sprintMissing,Lu(e)],[t.releaseMissing,Mu(e)]].every(([i,o])=>i!==!0||o)}function $u(e,t){return Xn(e)||Jn(e)||jo(e,t)}function Uo(e,t,n){return Qn(t)?!(!Ou(e,t,n)||t.metadataMissing&&!$u(e,n)):!0}var Zn=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Pu(e,t){switch(t){case"acceptance_criteria":return!Xn(e);case"estimated_minutes":return!Jn(e);case"resolution":return j(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return j(e.parent)!==void 0}}function ju(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Uu(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Mo(){let e={};for(let t of Zn)e[t]={present:0,applicable:0,percent:100};return e}function Oo(e,t,n){for(let r of Zn){if(!ju(t,r,n))continue;let i=e[r];i.applicable+=1,Pu(t,r)&&(i.present+=1)}}function $o(e){for(let t of Zn){let n=e[t];n.percent=Uu(n.present,n.applicable)}}function q_(e,t){let n=Mo(),r={};for(let i of e){Oo(n,i,t);let o=r[i.type]??(r[i.type]=Mo());Oo(o,i,t)}$o(n);for(let i of Object.values(r))$o(i);return{overall:n,by_type:r}}var Bu={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Gu(e){return Bu[e]}function Ku(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function zu(e,t,n){switch(t){case"assignee":return[j(e.assignee)??null];case"parent":return[j(e.parent)??null];case"type":return[j(e.type)??null];case"status":return[j(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return o.length>0?o:[null]}}}function W_(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let c=n.classify(a.status);for(let d of zu(a,t,r)){let u=d??"\0empty",l=i.get(u);l||(l={label:d??Gu(t),key:d,buckets:Ku(),total:0},i.set(u,l)),l.buckets[c]+=1,l.total+=1}}let s=[...i.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03824e4b-562b-5e12-a89a-9dd091ae7fd3")}catch{}})();var Le=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function he(e){return Array.isArray(e)&&e.length>0}function Hu(e){return typeof e=="string"&&e.trim().length>0}function qu(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 Go(e,t){switch(t){case"notes":return he(e.notes);case"learnings":return he(e.learnings);case"files":return he(e.files);case"docs":return he(e.docs);case"tests":return he(e.tests);case"comments":return he(e.comments);case"deps":return he(e.dependencies);case"body":return Hu(e.body);case"linked_command":return qu(e.tests)}}function Ko(e){return Le.some(t=>e[t]!==void 0)}function zo(e,t){for(let n of Le){let r=t[n];if(r===void 0)continue;let i=Go(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Ho(e){return Le.some(t=>t!=="body"&&e[t]!==void 0)}function qo(e){return e.body!==void 0}function Bo(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Wu(){let e={};for(let t of Le)e[t]={present:0,total:0,percent:100};return e}function Y_(e){let t=Wu(),n=e.length;for(let s of e)for(let a of Le)Go(s,a)&&(t[a].present+=1);for(let s of Le)t[s].total=n,t[s].percent=Bo(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Bo(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0c4c57-e3c2-54b3-bcf4-b4ab3b1d964e")}catch{}})();var Vu=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}),Wo=[{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"}],Qo=e=>{let t=Wo.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new g(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,p.USAGE);return Object.fromEntries(Wo.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Vo=["priority","deadline","updated_at","created_at","title","parent"],Yo=["asc","desc"],Yu=["id","title","status","type","priority","parent","updated_at"],Xu=["id","status","type","title"],kb={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"full","list-canceled":"full"},Ju=["tree_depth","tree_parent","tree_children","tree_title"],Zo=new Set(ci);function Qu(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new g(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,p.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function Zu(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var el=[{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"}],tl=[{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 es(e,t){for(let n of el)t[n.key]===!0&&(e[n.summaryKey]=!0)}function ts(e,t){for(let n of tl)t[n.key]===!0&&(e[n.summaryKey]=!0)}function nl(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function rl(e){let t={};return es(t,e),t}function il(e){let t={};return ts(t,e),t}var ol=[{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"}],sl=[{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"}],al=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],cl="-7d";function dl(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),nl(c,n,ol),rs(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),ts(c,n),es(c,n),n.limit!==void 0&&(c.limit=n.limit),n.offset!==void 0&&(c.offset=n.offset),n.includeBody===!0&&(c.include_body=!0),n.fields!==void 0&&(c.fields=n.fields),r&&(c.tree=!0,i!==void 0&&(c.tree_depth=i)),o!==void 0&&(c.sort=o,c.order=s),Zu(a)&&(c.runtime_filters=a),c}function ns(e,t,n){let r=L(e.status,n),i=L(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=x(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function ul(e,t){return[...e].sort((n,r)=>ns(n,r,t))}function Xo(e,t){if(e!==void 0)return oe(e,new Date,t)}function ze(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return oe(n,new Date,t)}function ll(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 g("Choose only one updated_at window: --today, --recent, or --updated-after.",p.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?ze(cl,"recent"):ze(e.updatedAfter,"updated-after")}function rs(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function fl(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new g("--ids requires at least one non-empty item ID",p.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new g("--ids requires at least one non-empty item ID",p.USAGE);return new Set(n)}function is(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new g("Offset filter must be a non-negative integer",p.USAGE);return n}function ml(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new g("List --fields requires a comma-separated list of field names",p.USAGE);return[...new Set(t)]}function pl(e){let t=e.compact===!0,n=e.brief===!0,r=e.full===!0,i=ml(e.fields);if(Number(t)+Number(n)+Number(r)+ +(i!==void 0)>1)throw new g("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",p.USAGE);return r?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...Xu]}:t?{mode:"compact",fields:[...Yu]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function He(e){return e.startsWith("item.")?e.slice(5):e}function gl(e,t){if(e.mode!=="fields")return;let n=new Set([...Tr,"body",...Ju,...t]),r=e.fields.filter(i=>!n.has(He(i)));if(r.length>0)throw new g(`Unknown list --fields value(s): ${r.join(", ")}`,p.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"]})}var hl=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function yl(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=hl.get(t);if(n)return n;if(!Vo.includes(t))throw new g(`Sort field must be one of ${Vo.join("|")} (aliases: updated->updated_at, created->created_at)`,p.USAGE);return t}function _l(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Yo.includes(t))throw new g(`Sort order must be one of ${Yo.join("|")}`,p.USAGE);return t}function bl(e){return W(e,"--tree-depth")}function wl(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new g("Assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new g(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function Jo(e,t){return oi(e,t,{strict:!0})}function os(e){return Ke(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function kl(e,t,n){let r=os(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function vl(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new g('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(e!==void 0&&t==="unassigned")throw new g("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE)}function xl(e,t,n,r){let i=Ke(t.assignee,{label:"--assignee"}),o=wl(t.assigneeFilter);vl(i,o);let s=Vu(t),a=Qo(t);return{idsFilter:fl(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Fo(t.type,n),tagFilters:os(t.tag),priorityFilter:No(t.priority),deadlineBefore:Xo(t.deadlineBefore,"deadline-before"),deadlineAfter:Xo(t.deadlineAfter,"deadline-after"),updatedAfter:ll(t),updatedBefore:ze(t.updatedBefore,"updated-before"),createdAfter:ze(t.createdAfter,"created-after"),createdBefore:ze(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Ke(t.sprint,{label:"--sprint"}),releaseFilter:Ke(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Qn(s),lifecycleClassifier:Po(r),contentFieldFilters:a,contentFiltersActive:Ko(a)}}function El(e,t,n){return Il(e,t,n)&&Cl(e,t)&&Sl(e,t)&&Tl(e,t)}function Il(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(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Cl(e,t){return Rr(e,t)}function Sl(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 Tl(e,t){return t.parentFilter!==void 0&&!t.treeEnabled&&e.parent!==t.parentFilter||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 Dl(e,t,n,r){return!(!El(e,t,n)||t.missingMetadataActive&&!Uo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!zo(e,t.contentFieldFilters)||!lt(e,r))}function Rl(e,t,n,r,i,o){let s=xl(t,n,r,i);return e.filter(a=>Dl(a,s,i,o))}function Gt(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Al(e,t,n){let r=e,i=typeof r.title=="string"?r.title:"",o=Gt(typeof r.parent=="string"?r.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:o,tree_children:n,tree_title:`${" ".repeat(t)}${i}`}}function Fl(e,t,n){let r=new Map,i=new Map;for(let d of e){r.set(d.id,d);let u=Gt(d.parent);if(!u)continue;let l=i.get(u);l?l.push(d):i.set(u,[d])}let o=t?[...i.get(t)??[]]:e.filter(d=>{let u=Gt(d.parent);return!u||!r.has(u)}),s=[],a=new Set,c=(d,u)=>{if(a.has(d.id))return;a.add(d.id);let l=i.get(d.id)??[];if(s.push(Al(d,u,l.length)),!(n!==void 0&&u>=n))for(let f of l)c(f,u+1)};for(let d of o)c(d,0);return s}function Nl(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Ll(e,t){return e===t?0:e===null?1:t===null?-1:x(e,t)}function Ml(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return Ll(e.deadline??null,t.deadline??null);case"updated_at":return x(e.updated_at,t.updated_at);case"created_at":return x(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return Nl(e.parent??null,t.parent??null);default:return 0}}function Ol(e,t,n,r){return t?[...e].sort((i,o)=>{let s=Ml(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=ns(i,o,r);return n==="desc"?-a:a}):ul(e,r)}function $l(e,t,n=!1){let r=He(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function ss(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=$l(r,o,n);return i})}function Pl(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function jl(e,t){if(e.noTruncate!==!0)return W(e.limit)??(t>=1e4?20:void 0)}function Ul(e,t,n){return t.after===void 0?is(t.offset)??0:Ee(e,t.after,n,r=>r.id)}function as(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function Bl(e,t){let n=S(process.cwd(),t.path);if(!await A($(n)))throw new g(`Tracker is not initialized at ${n}. Run pm init first.`,p.NOT_FOUND);let r=await T(n),i=z(r.schema),o=it(r.schema),s=pl(e);return gl(s,Pl(o.definitions)),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:ut(e,o,"list"),typeRegistry:O(r,F()),projection:s}}async function Gl(e,t,n){let r=t.projection.fields.some(c=>He(c)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(c=>Zo.has(He(c))),o=Qo(e),s=Ho(o),a=qo(o);return e.includeBody||r||a?await fi(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await li(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await Q(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function Kl(e){let t=yl(e.sort),n=_l(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new g("List --tree-depth requires --tree",p.USAGE);if(!t&&e.order!==void 0)throw new g("List --order requires --sort",p.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?bl(e.treeDepth):void 0,parentRoot:r?Gt(e.parent):void 0}}function zl(e,t,n){let r=Jo(t.status,n),i=r??Jo(e,n),o=ii(t.status),s=r||o?{...t,excludeTerminal:!1}:t,a=o?"all":i===void 0?s.excludeTerminal===!0?null:"all":i.length===1?i[0]:i;return{resolvedStatus:i,explicitAllStatuses:o,effectiveOptions:s,filtersStatus:a}}function Hl(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new g("List --after cannot be combined with --offset.",p.USAGE);let o=jl(t,e.length),s=Ul(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),c=ss(a,n,r),d=e.length,u=a.length>0&&s+a.length<d,l=u&&a.length>0?se(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:as(o,u,l)}}function cs(e,t,n){return de("list",{status:e,options:st(t,mi),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function ql(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","noTruncate"]),s=[n.projection.mode==="full",n.projection.fields.some(h=>{let y=He(h);return y==="body"||Zo.has(y)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,$r(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([h,y])=>y!==void 0&&!o.has(h))].includes(!0))return null;let c=await Se(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!c)return null;let d=W(t.limit),u=is(t.offset)??0,l=await ai({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:u}});if(!l)return null;let f=l.items.length>0&&u+l.items.length<l.total,m=f?se(cs(r.filtersStatus,t,i),l.items.at(-1).id,u+l.items.length-1):void 0;return{projected:ss(l.items,n.projection,!1),totalMatched:l.total,pageExtras:as(d,f,m)}}function Wl(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let u=n;for(let l of sl){let f=u[l.optionKey];f!=null&&(d[l.summaryKey]=f)}for(let l of al)u[l.key]===!0&&(d[l.summaryKey]=!0);return Object.assign(d,il(n),rl(n)),rs(d,n),r&&(d.no_truncate=!0),i&&(d.tree=!0,o!==void 0&&(d.tree_depth=o)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function qe(e,t,n){let r=await Bl(t,n),i=[],o=Kl(t),s=zl(e,t,r.statusRegistry),a=t.noTruncate===!0,c=await ql({options:t,runtime:r,statusSelection:s,ordering:o}),d=c;if(!d){let y=await Gl(t,r,i);kl(y,t.tag,i);let _=Rl(y,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters),b=t.dependencyBlocked===!0?(()=>{let E=Ge(y,r.statusRegistry);return _.filter(I=>E.has(I.id.trim().toLowerCase()))})():_,w=Ol(b,o.sortField,o.sortOrder,r.statusRegistry),k=o.treeEnabled?Fl(w,o.parentRoot,o.treeDepth):w;d=Hl(k,t,r.projection,o.treeEnabled,cs(s.filtersStatus,t,o))}let u=G(),l=[...new Set(i)].sort((y,_)=>y.localeCompare(_)),f=Qu(l,c!==null,t.strictRead===!0),m=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let y=dl({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:y,projection:{mode:"compact",fields:m},...l.length>0?{warnings:l}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:f,filters:Wl({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:m},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:u,...l.length>0?{warnings:l}:{}}}import{encode as Vl}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]="f1677c6e-872e-5c42-ae3d-f73f4ec73616")}catch{}})();var er=["agenda","day","week","month"],tr=["markdown","toon","json"],Yl=["sun","mon","tue","wed","thu","fri","sat"],Xl=365,Jl=365,ls=28,Ql=1e3;function nr(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new g(`${t} must be a non-negative integer`,p.USAGE);return n}function Zl(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new g("Calendar include filter must not be empty",p.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new g("Calendar include filter must be deadlines|reminders|events|scheduled|all",p.USAGE)}return r}function fs(e,t){let n;for(let r of t){let i=Ar(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function ef(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!er.includes(t)){let n=fs(t,er);throw new g(`Calendar view must be one of ${er.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function tf(e){if(!e)return;let t=e.trim().toLowerCase();if(!tr.includes(t)){let n=fs(t,tr);throw new g(`Calendar format must be one of ${tr.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function Sb(e,t){let n=tf(e.format);if(t.json&&n&&n!=="json")throw new g("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"markdown"}function nf(e,t){if(e===void 0)return;let n=N(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new g(`Calendar status filter must be one of ${r.join("|")}`,p.USAGE)}return n}function rf(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new g("Calendar assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new g(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function Kt(e){return new Date(e).toISOString().slice(0,10)}function ms(e,t){if(!t||t==="UTC")return Kt(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return Kt(e)}function sr(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function ae(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function ps(e){let t=new Date(sr(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return ae(t.toISOString(),r)}function of(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function sf(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function af(e,t){return x(e,t)>=0?e:t}function ds(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function us(e,t){e.set(t,(e.get(t)??0)+1)}function cf(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>we(r)-we(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function gs(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function hs(e){return Yl[new Date(e).getUTCDay()]}function df(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function uf(e){let t=new Set;for(let n of e??[]){let r=df(n);r&&t.add(r)}return t}function lf(e,t,n,r,i){let o=e??ae(n,-(r??Jl)),s=t??ae(e??n,i??Xl);return{start:o,end:x(s,o)>0?s:ae(o,1)}}function ff(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[hs(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Ql,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:uf(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>we(s)-we(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function zt(e,t){return x(t,e.startAt)<0?"continue":e.until&&x(t,e.until)>0||x(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,x(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Ht(e,t){let n=hs(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function mf(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Ht(e,t)&&zt(e,t)==="stop");n+=1)t=ae(t,e.interval);return e.occurrences}function pf(e,t,n){let r=we(n),i=ae(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function gf(e){let t=ps(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=ae(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=pf(e,r,i);if(Ht(e,o)&&zt(e,o)==="stop")return e.occurrences}}return e.occurrences}function hf(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=gs(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Ht(e,s))&&zt(e,s)==="stop")return e.occurrences}}return e.occurrences}function yf(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=gs(i,n,o,e.startDate);if(!(!s||!Ht(e,s))&&zt(e,s)==="stop")return e.occurrences}}return e.occurrences}function _f(e,t,n,r){let i=ff(e,t,n,r);return t.freq==="daily"?mf(i):t.freq==="weekly"?gf(i):t.freq==="monthly"?hf(i):yf(i)}function ys(e){return[...e].sort((t,n)=>{let r=x(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function ar(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 bf(e){return e.deadline?{at:e.deadline,date:Kt(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,...ar(e),item_deadline:e.deadline}:null}function wf(e){return(e.reminders??[]).map(t=>({at:t.at,date:Kt(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,...ar(e)}))}function kf(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function vf(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function xf(e,t,n,r){let i=cf(t.recurrence),o=kf(t.start_at,t.end_at);return(t.recurrence?_f(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):ms(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:vf(a,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...ar(e)}))}function Ef(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?bf(o):null;s&&i.push(s),n.has("reminders")&&i.push(...wf(o));for(let a of n.has("events")?o.events??[]:[])i.push(...xf(o,a,t,r))}return ys(i)}function If(e,t,n,r,i){let o=Ai(t.type,n),s=t.tag?.trim().toLowerCase(),a=ht(t.priority),c=nf(t.status,r),d=t.assignee?.trim(),u=rf(t.assigneeFilter),l=t.sprint?.trim(),f=t.release?.trim();if(d&&(d.toLowerCase()==="none"||d.toLowerCase()==="null"))throw new g('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(d!==void 0&&u==="unassigned")throw new g("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE);return e.filter(m=>Cf(m,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:c,assigneeFilter:d,assigneeModeFilter:u,sprintFilter:l,releaseFilter:f,runtimeFieldFilters:i}))}function Cf(e,t){return Sf(e,t)&&Tf(e,t)&&lt(e,t.runtimeFieldFilters)}function Sf(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 Tf(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 Df(e,t,n){return!(t&&x(e.at,t)<0||n&&x(e.at,n)>=0)}function rr(e,t,n){return e.trim().toLowerCase()==="today"?sr(t):oe(e,new Date(t),n)}function Rf(e,t,n){let r=t.date?rr(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?rr(t.from,n,"--from"):void 0,a=t.to?rr(t.to,n,"--to"):void 0;if(s&&a&&x(s,a)>=0)throw new g("Calendar --from must be before --to",p.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new g("--from and --to are only supported for --view agenda",p.USAGE);if(e==="agenda")return Af(r,t,n,i,o,s,a);if(e==="day"){let d=sr(r);return ir(r,n,i,o,d,ae(d,1))}if(e==="week"){let d=ps(r);return ir(r,n,i,o,d,ae(d,7))}let c=of(r);return ir(r,n,i,o,c,sf(r))}function Af(e,t,n,r,i,o,s){if(i)throw new g("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",p.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function ir(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:af(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function Ff(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:ys(r)}))}function Nf(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let c of e)t.add(c.item_id),us(n,c.item_type),us(r,c.item_status),c.kind==="deadline"?i+=1:c.kind==="reminder"?o+=1:(s+=1,c.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:ds(n),by_status:ds(r),recurring_events:a}}function Lf(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function _s(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function or(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Mf(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===ms(e.event_end,e.event_timezone)?_s(e.event_end,e.event_timezone):e.event_end:null}function Of(e){let t=`${_s(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 o=Mf(e);return o&&n.push(`end=${o}`),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 Tb(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Lf(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: ${or(e.summary.by_kind)}`),t.push(`- by-type: ${or(e.summary.by_type)}`),t.push(`- by-status: ${or(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(`- ${Of(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 $f(t.join(`
3
- `))}function Db(e){return Vl(e)}function $f(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function Pf(e){let t=G(),n=ef(e.view),r=Rf(n,e,t),i=W(e.limit),o=Zl(e.include),s=nr(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=nr(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),c=nr(e.occurrenceLimit,"Calendar occurrence limit");if(c!==void 0&&c<1)throw new g("Calendar occurrence limit must be >= 1",p.USAGE);let d=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),u=e.to!==void 0||s!==void 0||a!==void 0||c!==void 0,l=d&&!u;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:c,recurrenceLookaheadDays:l?ls:s,recurrenceLookbackWindowDays:l&&a===void 0?0:a,eventsOnlyCapApplied:l}}function jf(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${ls}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Uf(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 Bf(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 bs(e,t){let n=S(process.cwd(),t.path);if(!await A($(n)))throw new g(`Tracker is not initialized at ${n}. Run pm init first.`,p.NOT_FOUND);let r=Pf(e),i=await T(n),o=z(i.schema),s=it(i.schema),a=ut(e,s,"calendar"),c=O(i,F()),d=[];jf(d,r.eventsOnlyCapApplied);let u=await Q(n,i.item_format,c.type_to_folder,d,i.schema),l=If(u,e,c,o,a),f=lf(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),h=Ef(l,f,r.includeSources,r.occurrenceLimit).filter(w=>Df(w,r.rangeBounds.start,r.rangeBounds.end)),y=r.limit===void 0?h:h.slice(0,r.limit),_=Ff(y),b=[...new Set(d)].sort((w,k)=>w.localeCompare(k));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Bf(e,r.rangeBounds),filters:Uf(e,a),summary:Nf(y),events:y,days:_,...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]="1f898377-b606-5bfd-932d-6ce5f2f9c717")}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"],Gf=Symbol("no-context-author"),Kf=Symbol("no-item-assignee");function ws(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function zf(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 Hf(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 qf(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 qt(e,t,n){return e?.[t]??n}function Wt(e,t){let n=d=>{if(typeof d!="string")return"";try{return oe(d,new Date(Number.NaN),"updated_at")}catch{return""}},r=[...e].sort((d,u)=>{let l=n(d.updated_at),f=n(u.updated_at);return x(f,l)||d.id.localeCompare(u.id)}),i=new Map(r.map((d,u)=>[d.id,u])),o=Math.max(e.length-1,1),s=ws(t.author,Gf),a=N("in_progress",t.statusRegistry),c=Date.parse(t.now);return e.map(d=>{let u=ws(d.assignee,Kf)===s,l=(d.comments?.length??0)+(d.notes?.length??0)+(d.learnings?.length??0);return{id:d.id,item:d,signals:{recency:e.length===1?1:1-i.get(d.id)/o,activity_density:t.activityDensity?.[d.id],graph_proximity:qt(t.graphProximity,d.id,d.parent?.3:0),claim_focus:qt(t.claimFocus,d.id,C(d.status,t.statusRegistry)===a?1:u?.75:0),priority_pressure:zf(d.priority,4),risk_pressure:qf(d.risk),deadline_pressure:Hf(d.deadline,c),knowledge_density:qt(t.knowledgeDensity,d.id,Math.min(l/5,1)),author_affinity:qt(t.authorAffinity,d.id,u?1:0),usage_affinity:t.usageAffinity?.[d.id],semantic_similarity:t.semanticSimilarity?.[d.id]}}})}var Wf="context_relevance",Vf={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},Yf=new TextEncoder;function Xf(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!cr.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Jf(e){let t={...Vf};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 vs(e,t={}){Xf(e);let n=Jf(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[c,d]of Object.entries(a.signals??{}))d!==void 0&&i.add(c);let o=cr.filter(a=>i.has(a)),s=e.map((a,c)=>{let d={structural:e.length===1?1:1-c/r,...a.signals},u={},l=0,f=0;for(let m of o){let h=d[m];if(h===void 0)continue;let y=h*n[m];u[m]=y,l+=y,f+=n[m]}return{...a,baseline_rank:c+1,rank:0,score:f===0?0:l/f,contributions:u}});return s.sort((a,c)=>c.score-a.score||a.baseline_rank-c.baseline_rank),s.forEach((a,c)=>{a.rank=c+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Qf(e,t={}){let n=vs(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function Vt(e,t,n={}){let r=vs(t,n),i=await Pr(Wf,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await Qf(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Zf=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function ks(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function em(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,u)=>u-d).slice(0,n.length||1),i=d=>d.reduce((u,l,f)=>u+(2**l-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(d=>d>0),a=new Set(e.ranked_ids),c=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:ks(e.required_ids??[],a),continuity_coverage:ks(e.continuity_ids??[],a),token_budget_adherence:c?1:e.token_budget/e.actual_tokens,within_token_budget:c}}function tm(e){return Math.ceil(Yf.encode(JSON.stringify(e)).byteLength/4)}function nm(e){return Math.round(e*1e4)/1e4}function rm(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function im(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}):await t.next({...e.options,explainRanking:!0}),{rankedIds:r,attribution:i}=rm(n,e.surface),o={...n,ranking:void 0},s=tm(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:em({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function om(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Zf;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,nm(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function Lb(e,t,n){let r=[];for(let i of e)r.push(await im(i,t));return om(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 sm={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},am=["identity","summary","full"];function cm(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=am.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 dm(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=sm[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function um(e){let t=new Set;for(let n of e){if(cm(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 lm(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let c=e[a];if(c.token_costs.identity>t)continue;s+=1;let d=o<0?void 0:e[o],u=n(c)/c.token_costs.identity,l=d===void 0?Number.NEGATIVE_INFINITY:n(d)/d.token_costs.identity;(u>l||u===l&&d!==void 0&&(c.rank<d.rank||c.rank===d.rank&&c.id.localeCompare(d.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function fm(e){let t=new Set,n=[],r=e.tokenBudget,i=d=>{let u=d.lineage??d.cluster,l=u&&t.has(u)?1-e.redundancyPenalty:1;return Math.max(0,(d.score-e.uncertaintyPenalty*(d.uncertainty??0))*l)},o=d=>{let u=d.token_costs.identity;n.push({...d,projection:"identity",tokens:u,marginal_value:i(d)}),r-=u;let l=d.lineage??d.cluster;l&&t.add(l)};for(let d of e.ordered.filter(u=>u.required))d.token_costs.identity<=r&&o(d);let s=e.ordered.filter(d=>!d.required),a=!0,c=0;for(;s.length>0;){let d=lm(s,r,i,e.deadline,e.readClock);if(c+=d.evaluated,d.timedOut&&(a=!1),d.index<0||d.timedOut)break;o(s.splice(d.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:c}}function mm(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let c=s.token_costs[r]-s.token_costs[i],d=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(d,1)-s.marginal_value/Math.max(c,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function xs(e,t){let n=dm(t),r=um(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=fm({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,c=mm(a,s.remaining);a.sort((u,l)=>u.rank-l.rank||u.id.localeCompare(l.id));let d=new Set(a.map(u=>u.id));return{included:a,omitted_ids:r.filter(u=>!d.has(u.id)).map(u=>u.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-c,remaining_tokens:c,complete:s.selectionComplete&&a.length===e.length&&a.every(u=>u.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{randomUUID as pm}from"node:crypto";import{appendFile as gm,mkdir as hm,readFile as ym,rename as _m,stat as bm,writeFile as wm}from"node:fs/promises";import Es 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]="5f4ccd28-a001-54aa-8378-893025c69b96")}catch{}})();var Is=2048,Cs=30,Ss=864e5,km=262144,vm="context-usage-ledger",te=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function Ts(e){return Es.join(e,"runtime","context-usage.jsonl")}function We(e){let t=e.now??new Date().toISOString(),n=Date.parse(t);if(!Number.isFinite(n))throw new te("Context usage now must be a valid timestamp");return{iso:new Date(n).toISOString(),ms:n}}async function Ds(e){try{let n=(await ym(Ts(e.pmRoot),"utf8")).split(`
5
- `).filter(Boolean).flatMap(s=>{try{return[JSON.parse(s)]}catch{return[]}}),r=e.maxEvents??Is,i=e.retentionDays??Cs,o=We(e).ms-i*Ss;return n.filter(s=>Date.parse(s.at)>=o).slice(-r)}catch{return[]}}async function Rs(e,t){let n=e.maxEvents??Is,r=e.retentionDays??Cs;if(!Number.isInteger(n)||n<1||!Number.isFinite(r)||r<=0)throw new te("Context usage retention requires positive maxEvents and retentionDays");let i=Ts(e.pmRoot),o=Es.dirname(i),s=await Ce(e.pmRoot,vm,30,`context-usage:${process.pid}`,!1,!1,3e3);try{if(await hm(o,{recursive:!0}),await gm(i,t.map(u=>`${JSON.stringify(u)}
6
- `).join(""),"utf8"),!(e.maxEvents!==void 0||e.retentionDays!==void 0)&&(await bm(i)).size<=km)return;let c=await Ds(e),d=`${i}.${process.pid}.${pm()}.tmp`;await wm(d,`${c.map(u=>JSON.stringify(u)).join(`
7
- `)}
8
- `,"utf8"),await _m(d,i)}finally{await s()}}async function As(e,t){await Rs(e,[t])}async function Yt(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||e.rows.some(t=>!t.id.trim()||!Number.isInteger(t.rank)||t.rank<1))throw new te("Context usage serving requires an author and valid ranked rows");await As(e,{kind:"serve",at:We(e).iso,author:e.author.trim(),surface:e.surface,profile:e.profile.trim()||"balanced",rows:e.rows})}}async function Bb(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||!e.itemId.trim()||!e.intent.trim())throw new te("Context usage touch requires author, itemId, and intent");await As(e,{kind:"touch",at:We(e).iso,author:e.author.trim(),item_id:e.itemId.trim(),intent:e.intent.trim()})}}async function Gb(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1||e.itemIds.length===0)return;let t=e.author.trim(),n=e.intent.trim();if(!t||!n)throw new te("Context usage touch requires author and intent");let r=new Set;for(let s of e.itemIds){if(typeof s!="string")throw new te("Context usage touch requires string itemIds");let a=s.trim();if(!a)throw new te("Context usage touch requires non-empty itemId");r.add(a)}let i=We(e).iso,o=[...r].map(s=>({kind:"touch",at:i,author:t,item_id:s,intent:n}));await Rs(e,o)}function xm(e,t,n,r){return e.find(({entry:i,time:o})=>i.item_id===t&&o>=n&&o-n<=r)?.time}async function Xt(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return{affinity:{},positive_judgments:0,serving_events:0};let t=await Ds(e),n=We(e).ms,r=(e.horizonHours??24)*36e5;if(!Number.isFinite(r)||r<=0)throw new te("Context usage horizonHours must be positive");let i=e.author.trim(),o=t.filter(l=>l.kind==="touch"&&l.author===i).map(l=>({entry:l,time:Date.parse(l.at)})),s=new Map,a=0,c=0;for(let l of t){if(l.kind!=="serve"||l.author!==i)continue;a+=1;let f=Date.parse(l.at);for(let m of l.rows){if(!m.included)continue;let h=xm(o,m.id,f,r);if(h===void 0)continue;c+=1;let y=Math.max(0,(n-h)/Ss);s.set(m.id,(s.get(m.id)??0)+Math.exp(-y/14))}}let d=Math.max(0,...s.values());return{affinity:Object.fromEntries([...s.entries()].map(([l,f])=>[l,.05+.95*(d>0?f/d:0)])),positive_judgments:c,serving_events:a}}import Ve from"node:fs/promises";import Ye from"node:path";import{createHash as Em,randomUUID as Im}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3d0a558b-6a01-5bca-a2f7-21766be6d67c")}catch{}})();var dr=1,ur=1,Fs=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Cm={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function Jt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ns(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Sm(e){let t={};for(let n of Fs){let r=e[n];if(r!==void 0){if(!Ns(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Tm(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function Dm(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function Rm(e,t){return{...t,activityDensity:t.activityDensity??Tm(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??Dm(e)}}function Am(e){if(!Jt(e)||typeof e.id!="string"||!Jt(e.signals))return null;let t={},n=new Set(Fs);for(let[r,i]of Object.entries(e.signals)){if(!n.has(r)||!Ns(i))return null;t[r]=i}return{id:e.id,signals:t}}function Fm(e){if(!Jt(e)||e.format_version!==dr||e.signal_set_version!==ur||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||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=e.items.map(Am);if(t.some(r=>r===null))return null;let n=t;return new Set(n.map(r=>r.id)).size!==n.length||n.some(r=>r.id.trim().length===0)?null:{format_version:dr,signal_set_version:ur,source_cursor:e.source_cursor,generated_at:e.generated_at,source:e.source,items:n.sort((r,i)=>r.id.localeCompare(i.id))}}function Nm(e,t){if(typeof t.sourceCursor!="string"||t.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(t.source!=="derived_index"&&t.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback");let n=Wt(e,Rm(e,t)).map(({id:r,signals:i})=>({id:r,signals:Sm(i)})).sort((r,i)=>r.id.localeCompare(i.id));return Object.freeze({format_version:dr,signal_set_version:ur,source_cursor:t.sourceCursor,generated_at:t.now,source:t.source,items:Object.freeze(n.map(r=>Object.freeze(r)))})}var lr=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=Ye.resolve(t)}async read(){try{return JSON.parse(await Ve.readFile(this.filePath,"utf8"))}catch(t){if(Jt(t)&&tt(t))return null;throw t}}async write(t){let n=Ye.dirname(this.filePath);await Ve.mkdir(n,{recursive:!0});let r=Ye.join(n,`.${Ye.basename(this.filePath)}.${Im()}.tmp`);try{await Ve.writeFile(r,`${JSON.stringify(t)}
9
- `,{encoding:"utf8",flag:"wx"}),await Ve.rename(r,this.filePath)}finally{try{await Ve.rm(r,{force:!0})}catch{}}}},fr=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){let r=[],i=null;try{let l=await this.adapter.read();i=Fm(l),l!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(l=>l.id).sort((l,f)=>l.localeCompare(f)),s=i?.items.map(l=>l.id)??[],a=i!==null&&i.source_cursor===n.sourceCursor&&i.source===n.source&&s.length===o.length&&s.every((l,f)=>l===o[f]),c;if(a&&i!==null)c=i;else{i!==null&&r.push("context_signal_store_stale"),c=Nm(t,n);try{await this.adapter.write(c)}catch{r.push("context_signal_store_write_failed")}}let d=new Map(c.items.map(l=>[l.id,l.signals])),u=Wt(t,n);return{snapshot:c,candidates:u.map(l=>({...l,signals:{...l.signals,...d.get(l.id)}})),cache_status:a?"fresh":"rebuilt",warnings:r,warning_details:r.map(l=>Cm[l])}}};function Lm(e){let t=Em("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function Qt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await Se(t.pmRoot),o=t.sourceCursor??i?.source_cursor??Lm(e),s=t.source??(i===null?"scan_fallback":"derived_index");return new fr(new lr(Ye.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))).readOrRebuild(e,{...t,sourceCursor:o,source:s})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a19662f9-f8b3-5988-bc04-1b5a5edaaaa5")}catch{}})();function Mm(e){for(let t of e.patch){if(t.path==="/metadata/status"||t.path==="/front_matter/status"){if(typeof t.value=="string")return t.value.trim().toLowerCase();continue}if(t.path!==""||typeof t.value!="object")continue;let n=t.value,r=n.metadata??n.front_matter;if(typeof r?.status=="string")return r.status.trim().toLowerCase()}}function Om(e,t,n){let r,i;for(let o of t){let s=Mm(o);if(s===void 0)continue;let a=n.has(s)&&(r!==void 0&&!n.has(r)||r===void 0&&o.op==="create");r=s,a&&Number.isFinite(Date.parse(o.ts))&&(i={id:e,completed_at:o.ts,history_op:o.op})}return i}function Ls(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 Jb(e,t,n){let r=[];for(let i of e){if(i.completed_at!==void 0||!n.has(i.status.trim().toLowerCase()))continue;let o=Om(i.id,t.get(i.id)??[],n);o!==void 0&&r.push(o)}return r.sort((i,o)=>i.id.localeCompare(o.id))}import $m from"node:path";import{createHash as Pm}from"node:crypto";import jm 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 Ms=1,Um=1e4,Os=12;function Bm(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Gm(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function Km(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function zm(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(C(o.status,t.statusRegistry))).map(o=>{let s=Ls(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,c=Bm(a.timestamp),d=`epoch:${c}`,u=i.get(d)??{kind:"epoch",key:c,label:c,items:[]};u.items.push(o),i.set(d,u);let l=Gm(s,r);if(l){let f=`epic:${l.id}`,m=i.get(f)??{kind:"epic",key:l.id,label:l.title,items:[]};m.items.push(o),i.set(f,m)}}return{format_version:Ms,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(Km).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Hm(e){return typeof e=="object"&&e!==null&&"id"in e&&typeof e.id=="string"&&e.id.length>0&&"title"in e&&typeof e.title=="string"}function qm(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(Hm)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Wm(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Ms||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(qm)?t:null}function Vm(e){return`scan:${Pm("sha256").update(ke(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Ym(e,t,n){return n!==void 0?n:(await Se(t))?.source_cursor??Vm(e)}async function Xm(e){try{let t=Wm(JSON.parse(await jm.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&tt(t))}}}async function $s(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Um));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Ym(e,t.pmRoot,t.sourceCursor),i=$m.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Xm(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let c=zm(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await K(i,`${JSON.stringify(c)}
10
- `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:c,cache_status:"rebuilt",warnings:o}}function Jm(e,t,n=Os){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function Ps(e,t,n=Os){if(e.snapshot===null)return;let r=Jm(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 Qm(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function aw(e,t,n=5){let r=Qm(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 js=16;async function Us(e,t,n){let r=O(t,F()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<js;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let c=await le(e,s,t.id_prefix,t.item_format,r);if(!c)break;let d=await fe(c,{schema:t.schema});i.push(d.document.metadata.id),s=d.document.metadata.parent}return i}async function mw(e){await Kr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await Us(e.pmRoot,e.settings,e.itemId)})}async function pw(e){await zr(e)}async function gw(e){await Hr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await Us(e.pmRoot,e.settings,e.itemId)}:{}})}var hw={lineage_depth:js,active_items:64,evidence_rows:32};function Bs(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]="757a0349-9fb6-579d-ab29-fabaad790ce4")}catch{}})();var Zm=["markdown","toon","json","ndjson"],Je=new Set(["Epic","Feature"]),Ws=10,Vs=1e4,Ys=["hierarchy","activity","progress","recently_created","unparented","workload"],ep=[...Ys,"blockers","files","staleness","tests"],tp=/^(\d{4})-(\d{2})-(\d{2})/,np=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,rp=/^(\d{4})(\d{2})(\d{2})$/,ip=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function op(e){if(!e)return;let t=e.trim().toLowerCase();if(!Zm.includes(t))throw new g("Context format must be one of markdown|toon|json|ndjson",p.USAGE);return t}var Gs=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 sp(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Gs.has(r))throw new g(`Context --fields value not projectable: ${r} (valid: ${[...Gs].join(", ")})`,p.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new g("Context --fields requires at least one field name",p.USAGE);return t}function Xe(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function Mw(e,t){let n=op(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new g("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function ap(e,t){return W(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ws)}function gr(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new g("--token-budget must be a positive integer",p.USAGE);return n}function cp(e,t){return t>=Vs&&e===Number.MAX_SAFE_INTEGER?Ws:e}function dp(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!on.includes(n))throw new g(`Context --depth must be one of ${on.join("|")}`,p.USAGE);return n}function up(e,t,n){if(e&&e.length>0){let i=[];for(let o of e){let s=o.trim().toLowerCase();if(!nt.includes(s))throw new g(`Context --section must be one of ${nt.join("|")}`,p.USAGE);i.includes(s)||i.push(s)}return i}return t==="brief"?[]:t==="full"?[...nt]:(t==="deep"?ep:Ys).filter(i=>n.sections[i])}function lp(e,t){return e?W(e,"--activity-limit")??t.activity_limit:t.activity_limit}function fp(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new g("--stale-threshold must be a number of days (e.g. 7 or 7d)",p.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new g("--stale-threshold must be positive",p.USAGE);return i}function Ks(e,t){let n=C(e,t),r=N("in_progress",t),i=N("open",t),o=N("blocked",t),s=N("draft",t);return r&&n===r?0:i&&n===i?1:o&&n===o?2:s&&n===s?3:t.active_statuses.has(n)?4:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Qe(e,t){let n=N("closed",t);return C(e,t)===n}function hr(e,t){let n=N("in_progress",t);return C(e,t)===n}function Xs(e,t){let n=N("open",t);return C(e,t)===n}function mp(e,t){return t.blocked_statuses.has(C(e,t))}var pp=["compact","brief","fields","includeBody","include_body","parent"];function gp(e){let t={...e};for(let n of pp)delete t[n];return t}function yr(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 i=Me(e),o=Ze(r.id,i);return{ids:new Set([r.id,...o.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function hp(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new g("Context --parent requires an item id",p.USAGE);return t}function yp(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function _p(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:x(n,r)}function bp(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function wp(e){let t=tp.exec(e)??np.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=bp(n,r-1)}function kp(e){let t=rp.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=ip.exec(e);if(n){let[,r,i,o,s,a,c,d]=n,u=c?`:${c}`:"",l=d&&d.length===5&&d!=="Z"?`${d.slice(0,3)}:${d.slice(3)}`:d??"";return`${r}-${i}-${o}T${s}:${a}${u}${l}`}return e}function Js(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!wp(t))return Number.NaN;let n=Date.parse(kp(t));return Number.isFinite(n)?n:Number.NaN}function pr(e){let t=Js(e);return Number.isFinite(t)?new Date(t).toISOString():""}function vp(e){let t=Js(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 ye(e,t,n){let r=Ks(e.status,n)-Ks(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=yp(e.order,t.order);if(o!==0)return o;let s=_p(e.deadline,t.deadline);if(s!==0)return s;let a=x(pr(t.updated_at),pr(e.updated_at)),c=e.id.localeCompare(t.id);return a!==0?a:c}function mr(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function br(e,t,n=new Set,r="context"){return xs(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:mr({id:i.id,title:i.item.title}),summary:mr({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:mr(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function wr(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function kr(e,t){return{model:e.model,available_signals:e.available_signals,items:e.ranked.map(n=>({id:n.id,rank:n.rank,baseline_rank:n.baseline_rank,score:n.score,contributions:n.contributions})),...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 Qs(e,t){return t>0?Math.round(e/t*100):0}function Me(e){let t=new Map;for(let n of e){let r=_r(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function et(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 i=Ze(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Qe(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Qs(s,o)}}return r}function xp(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function Zt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Ep(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function Ip(e,t,n,r){let i=new Map;for(let c of e)i.set(c.id,c);let o=Me(e),s=new Set(t.filter(c=>Je.has(c.type)).map(c=>c.id)),a=[];for(let c of s){let d=i.get(c);if(!d)continue;let u=Ze(c,o),l=o.get(c)??[],f=0,m=0,h=0,y=0;for(let b of u)Qe(b.status,n)?f++:hr(b.status,n)?h++:mp(b.status,n)?y++:Xs(b.status,n)&&m++;let _=l.sort((b,w)=>ye(b,w,n)).slice(0,r).map(b=>{let w=Ze(b.id,o),k=w.filter(E=>Qe(E.status,n)).length;return{id:b.id,title:b.title,type:b.type,status:b.status,children_total:w.length,children_closed:k}});a.push({id:d.id,title:d.title,type:d.type,status:d.status,children_total:u.length,children_closed:f,children_open:m,children_in_progress:h,children_blocked:y,children:_})}return a.sort((c,d)=>{let u=i.get(c.id),l=i.get(d.id);return ye(u,l,n)}).slice(0,r)}function Ze(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Cp(e,t){return(await Oi({compact:!0,limit:String(e)},t)).compact_activity??[]}function Sp(e,t,n,r,i){let o=new Map;for(let c of e){if(!c.parent)continue;let d=o.get(c.parent)??[];d.push(c),o.set(c.parent,d)}let s=t.filter(c=>Je.has(c.type)),a=[];for(let c of s){let d=Ze(c.id,o),u=d.length;if(u===0)continue;let l=0,f=0,m=0,h=0;for(let y of d)Qe(y.status,r)?l++:n.has(y.id.trim().toLowerCase())?h++:hr(y.status,r)?m++:Xs(y.status,r)&&f++;a.push({id:c.id,title:c.title,type:c.type,total:u,closed:l,open:f,in_progress:m,blocked:h,completion_pct:Qs(l,u)})}return a.sort((c,d)=>c.completion_pct-d.completion_pct).slice(0,i)}function Tp(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=Bt(o,i,n),a=s.find(d=>!d.resolved)?.id??s[0]?.id??null,c=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:c?.title??null,blocked_by_status:c?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function Dp(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function Rp(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>hr(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function Ap(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function Fp(e,t,n,r){return e.map(i=>({item:i,sortKey:pr(i.created_at)})).sort((i,o)=>{let s=x(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...et(i,t,n),created_at:i.created_at}))}function Np(e,t,n,r){return e.filter(i=>!_r(i.parent)&&!Je.has(i.type)).sort((i,o)=>ye(i,o,t)).slice(0,r).map(i=>et(i,t,n))}function Lp(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let c=a.test_runs??[];if(c.length>0){n++;let d=!1;for(let u of c)r+=u.passed??0,i+=u.failed??0,o+=u.skipped??0,(u.failed??0)>0&&(d=!0);d&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function zs(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Zs(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function Mp(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Op(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`${zs(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${zs(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 Hs(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function $p(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 Pp(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(`- ${Op(n)}`);e.push("")}function jp(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=i.children_total>0?Math.round(i.children_closed/i.children_total*100):0;e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function Up(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 Bp(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${vp(i.created_at)} ${Zs(i)}`);e.push("")}}function Gp(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 Kp(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 zp(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function Hp(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 qp(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 Wp(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 Vp(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 Yp(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 Ow(e){let t=[],n=e.focus_fields,r=o=>n?Mp(o,n):Zs(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),Hs(t,"High-level focus",e.high_level,"No high-level active items.",r),Hs(t,"Low-level focus",e.low_level,"No low-level active items.",r),$p(t,e,r),Pp(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return jp(t,e),Up(t,e),Bp(t,e,n,r),Gp(t,e,r),Kp(t,e),zp(t,e),Hp(t,e),qp(t,e),Wp(t,e),Vp(t,e),Yp(t,e),t.join(`
11
- `)}async function Xp(e,t){let n=S(process.cwd(),t.path),r=await T(n),i=r.context??Dr.context,o=z(r.schema),s=dp(e.depth,i),a=ap(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:up(e.section,s,i),activityLimit:lp(e.activityLimit,i),staleThresholdDays:fp(e.staleThreshold,i),parentScope:hp(e.parent),focusFields:sp(e.fields),baseListOptions:gp(e)}}function vr(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Jp(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Qp(e,t){let n=vr(t.sectionsIncluded),r=await qe(void 0,Jp(t.baseListOptions,{excludeTerminal:!1}),e),i=r.items,o=i.filter(c=>!L(c.status,t.statusRegistry)),s=n||t.parentScope!==void 0?i:o,a=Zp(t.parentScope,i);return a&&(o=o.filter(c=>a.has(c.id.trim().toLowerCase())),s=s.filter(c=>a.has(c.id.trim().toLowerCase()))),{listed:r,listedItemMetadata:o,allItems:s,fullCorpus:i,subtreeIds:a}}function Zp(e,t){if(e===void 0)return;let n=yr(t,e);if(!n.found)throw new g(`Context --parent item not found: ${e}`,p.NOT_FOUND);return n.ids}async function eg(e,t,n,r,i,o,s,a,c,d,u,l,f,m,h){let y=[...e].sort((v,be)=>ye(v,be,i)),_=await Xt({pmRoot:f,author:c,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),b=await Qt(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:c,usageAffinity:_.affinity,claimFocus:h}),w=await Vt("context",b.candidates),k=w.ranked.map(v=>v.item),E=i.active_statuses,I=k.filter(v=>E.has(C(v.status,i))),P=l?Ee(I,d,u,v=>v.id):0,D=l?I.slice(P,P+s):I,U=l&&D.length>0&&P+D.length<I.length,ce=U&&D.length>0?se(u,D[D.length-1].id,P+D.length-1):void 0,B=k.filter(v=>r.has(v.id.trim().toLowerCase())),M=new Set([...D.map(v=>v.id),...B.slice(0,s).map(v=>v.id)]),H=br({...w,ranked:w.ranked.filter(v=>M.has(v.id))},m,new Set(Object.entries(h??{}).filter(([,v])=>v>=1).map(([v])=>v))),Y=H.included.map(v=>v.item),X=Y.filter(v=>E.has(C(v.status,i))),_e=Y.filter(v=>r.has(v.id.trim().toLowerCase())),J=Me(t),ne=vr(o)?J:void 0,re=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),nn=v=>{let be=et(v,i,ne);return r.has(v.id.trim().toLowerCase())&&(be.blocked=!0,be.blocker_ids=Bt(v,re,i).filter(rn=>!rn.resolved).map(rn=>rn.id)),be},pa=X.filter(v=>Je.has(v.type)).slice(0,l?D.length:s).map(nn),ga=X.filter(v=>!Je.has(v.type)).slice(0,l?D.length:s).map(nn),Ir=I.length===0;return{activeItems:X,blockedItems:_e,highLevel:pa,lowLevel:ga,blockedFallback:Ir?_e.slice(0,s).map(nn):[],blockedFallbackUsed:Ir,ranking:w,packing:H,featureStore:b,pageExtras:{...l?{applied_limit:s}:{},...U?{has_more:!0,truncated:!0}:{},...ce?{next_cursor:ce}:{}}}}function tg(e){return de("context",st(e,pi))}function ng(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Vs}async function rg(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await bs(i,e),s=n===void 0?o.events:o.events.filter(d=>n.has(d.item_id.trim().toLowerCase())),a=Ep(s,t.statusRegistry).slice(0,t.limit),c=a.map(d=>r.has(d.item_id)?{at:d.at,date:d.date,kind:d.kind,item_id:d.item_id,reference_only:!0,...d.kind==="reminder"?{reminder_text:d.reminder_text}:{},...d.kind==="event"?{event_title:d.event_title,event_recurring:d.event_recurring}:{}}:d);return{agenda:o,agendaEvents:c,agendaSummary:xp(a)}}function qs(e,t,n){let r=String(t);return e.filter(i=>C(i.status,n)===r).length}async function ig(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,c=Me(n),d=n.filter(l=>!L(l.status,t.statusRegistry)),u=l=>t.sectionsIncluded.includes(l);return{hierarchy:u("hierarchy")?Ip(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:u("activity")?await Cp(t.activityLimit,a):void 0,progress:u("progress")?Sp(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:u("blockers")?Tp(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:u("recently_created")?Fp(d,t.statusRegistry,c,t.limit):void 0,unparented:u("unparented")?Np(d,t.statusRegistry,c,t.limit):void 0,filesSection:u("files")?Dp(o.activeItems,t.limit):void 0,workload:u("workload")?Rp(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:u("staleness")?Ap(d,t.staleThresholdDays,s,t.limit):void 0,tests:u("tests")?Lp(o.activeItems):void 0}}function og(e,t,n){if(!e)return{};let r=N("canceled",n);return{total_items:t.length,closed:t.filter(i=>Qe(i.status,n)).length,canceled:t.filter(i=>C(i.status,n)===r).length}}function sg(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 ag(e,t){t&&(e.focus_fields=t,e.high_level=Xe(e.high_level,t),e.low_level=Xe(e.low_level,t),e.blocked_fallback=Xe(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Xe(e.recently_created,t)),e.unparented&&(e.unparented=Xe(e.unparented,t)))}function cg(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function dg(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 ug(e,t,n,r){try{let i=new Set(t.packing.included.map(o=>o.id));await Yt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:t.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:i.has(o.id)})),enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"})}catch{e.warnings=Zt(e.warnings,["context_usage_feedback_write_failed"])}}async function lg(e,t,n){if(e)return{};let i=(await Mr({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)),o=i.filter(s=>s.status==="degraded").length;return i.length===0?{}:{extension_health:{total:i.length,ok:i.length-o,degraded:o,packages:i.slice(0,20),...i.length>20?{truncated:!0}:{}}}}async function fg(e,t){let n=qr(),r=await Br(e),i=n.instance||Gr(t);return Bs(r.semantic_attribution?.[i])}async function $w(e,t){let n=S(process.cwd(),t.path),r=await Xp(e,t),i=await Qp(t,r),o=cp(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:gr(e.tokenBudget,Math.max(256,o*160))},a=pe(void 0,s.settings.author_default),c=await fg(n,a),d=lg(e.noExtensionHealth===!0,n,s.settings),u=Ge(i.fullCorpus,s.statusRegistry),l=await eg(i.listedItemMetadata,i.allItems,i.fullCorpus,u,s.statusRegistry,s.sectionsIncluded,s.limit,G(),a,e.after,tg(e),ng(e,i.fullCorpus.length),n,s.tokenBudget,c),f=await rg(t,s,i.subtreeIds,new Set([...l.highLevel,...l.lowLevel,...l.blockedFallback].map(E=>E.id))),m=await $s(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),h=Zt(i.listed.warnings,f.agenda.warnings,l.ranking.warnings,[...l.featureStore.warnings],m.warnings),y=qs(l.activeItems,N("in_progress",s.statusRegistry),s.statusRegistry),_=qs(l.activeItems,N("open",s.statusRegistry),s.statusRegistry),b=await ig({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:u,focusGroups:l,now:f.agenda.now,global:t}),w=og(vr(s.sectionsIncluded),i.allItems,s.statusRegistry),k={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{active_items:l.activeItems.length,in_progress:y,open:_,blocked:l.blockedItems.length,blocked_fallback_used:l.blockedFallbackUsed,high_level:l.highLevel.length,low_level:l.lowLevel.length,agenda_events:f.agendaSummary.events,...w},high_level:l.highLevel,low_level:l.lowLevel,blocked_fallback:l.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...l.pageExtras};return k.workspace_memory=Ps(m,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(k,await d),sg(k,b,l.featureStore.warning_details),cg(k,e.noTags===!0),e.explainRanking===!0&&(k.ranking=kr(l.ranking,l.featureStore),k.packing=wr(l.packing)),ag(k,s.focusFields),h.length>0&&(k.warnings=h),dg(k,l.activeItems,l.blockedItems),await ug(k,l,n,a),k}(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]="3431d4d4-e053-5416-b3d1-6dbfbed0142d")}catch{}})();var mg=["markdown","toon","json"],pg=5,gg=1440*60*1e3;function hg(e){if(!e)return;let t=e.trim().toLowerCase();if(!mg.includes(t))throw new g("Next format must be one of markdown|toon|json",p.USAGE);return t}function Vw(e,t){let n=hg(e.format);if(t.json&&n&&n!=="json")throw new g("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"toon"}function ea(e,t,n){let r=W(e,t);return r===void 0||r<=0?n:r}function xr(e,t,n,r){return{...et(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status})),unblocks:e.unblocks,rank:r}}function yg(e,t,n,r){let i=e.item,o=[],s=N("in_progress",t);return o.push(C(i.status,t)===s?"in progress \u2014 resume to finish":"open and ready to start"),r&&o.push("completed container \u2014 governance closeout"),o.push(`priority p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(bg(i.deadline,n)),o.push(ge(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s): ${e.unblocks.join(", ")}`),o}function na(e,t,n){let r=pe(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Yw={partitionCallerOwnedReady:na,resolveNextCallerAuthor:(e,t)=>ra(e,t)};function _g(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 bg(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/gg);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function wg(e,t){let n=N("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function Er(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function kg(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 ta(e,t,n){return[...e].sort((r,i)=>{let o=Er(r.item,t),s=Er(i.item,t);return o!==s?Number(o)-Number(s):ye(r.item,i.item,n)})}function vg(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:yg(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function xg(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 Eg(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 Ig(e){try{let t=new Set(e.packing.included.map(n=>n.id));await Yt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:e.ranking.ranked.map(n=>({id:n.id,rank:n.rank,included:t.has(n.id)})),enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"})}catch{e.result.warnings=Zt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Cg(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=kr(e.readyRanking,e.featureStore),e.result.packing=wr(e.packing)),e.result.suggestions=xg(e.recommended,e.blockedRows),await Ig({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Sg(e,t,n){if(!n)return e;let r=yr(t,n);if(!r.found)throw new g(`Next --parent item not found: ${n}`,p.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function Tg(e,t,n,r,i,o,s){let a=e.filter(y=>!Er(y.item,t)),c=a.length>0?a:e,d=await Xt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await Qt(c.map(y=>y.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:d.affinity}),l=await Vt("next",u.candidates),f=br(l,s,new Set,"next"),m=new Map(c.map(y=>[y.item.id,y]));return{projectedReady:l.ranked.map(y=>m.get(y.id)).filter(y=>y!==void 0),ranking:l,completedContainer:a.length===0,packing:f,featureStore:u}}function ra(e,t){let n=e.assignee?.trim();return pe(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Xw(e,t){let n=S(process.cwd(),t.path),r=await T(n),i=ra(e,r.author_default),o=z(r.schema),s=G(),a=ea(e.limit,"--limit",pg),c=gr(e.tokenBudget,Math.max(192,a*128)),d=ea(e.blockedLimit,"--blocked-limit",a),u=e.readyOnly===!0,l=typeof e.parent=="string"?e.parent.trim():"",f=await qe(void 0,kg(e,{excludeTerminal:!0}),t),m=await qe(void 0,{excludeTerminal:!1,noTruncate:!0},t),h=Sg(f.items,m.items,l),y=m.items,_=Vn(h,y,o),b=Me(y),w=_g(_.ready,e.includeDecisions===!0),k=na(w.agent,r.author_default,i),E=ta(k.available,b,o),I=[..._.blocked].sort((ne,re)=>ye(ne.item,re.item,o)),{projectedReady:P,ranking:D,completedContainer:U,packing:ce,featureStore:B}=await Tg(E,b,o,s,i,n,c),M=P.map((ne,re)=>xr(ne,o,b,re+1)),H=I.map((ne,re)=>xr(ne,o,b,re+1)),Y=ta(w.decisions,b,o).map((ne,re)=>xr(ne,o,b,re+1)),X=vg({projectedReady:P,readyRows:M,statusRegistry:o,now:s,completedContainer:U}),_e=Eg(Y.length,k.held.length,a),J={output_default:"toon",now:s,recommended:X,ready:M.slice(1,a+1),decision_needed:Y.slice(0,a),blocked:u?[]:H.slice(0,d),held_by_others:k.held.slice(0,a),summary:{recommended:X!==null,ready:M.length,blocked:H.length,in_progress:wg(M,o),candidates:_.active_count,containers:_.container_count,decision_needed:Y.length,held_by_others:k.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:l.length>0?l:null,limit:a,blocked_limit:d,ready_only:u,include_decisions:e.includeDecisions===!0,token_budget:c},truncation:_e};return Cg({result:J,recommended:X,blockedRows:H,candidatesWarnings:f.warnings,corpusWarnings:m.warnings,readyRanking:D,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packing:ce,featureStore:B})}function Jw(e){let t=["# pm next","",...Dg(e)];if(t.push(...en("Recommended",Rg(e.recommended),"No ready work.")),t.push(...en("Decision needed",(e.decision_needed??[]).map(n=>`- ${tn(n)}`),"No human-gated decisions.")),t.push(...en("Ready",e.ready.map(n=>`- ${tn(n)}`),"No ready items.")),e.filters.ready_only||t.push(...en("Blocked",e.blocked.map(n=>`- ${Ag(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(`
12
- `).trimEnd()}function Dg(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 Rg(e){return e?[`- ${tn(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function en(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Ag(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${tn(e)} blocked_by:${t}`}function tn(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 Fg}from"node:crypto";import{setTimeout as Ng}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]="3f9853cc-0719-544f-8726-3cfd6063b59e")}catch{}})();var oa=1,sa=/^[A-Za-z0-9_-]+$/,Lg=100,ia=1e3,Mg=250;function V(e){if(e===void 0)return;let t=typeof e=="string"?[e]:e,n=[...new Set(t.flatMap(r=>r.split(",")).map(r=>r.trim()).filter(Boolean))].sort((r,i)=>r.localeCompare(i));return n.length===0?void 0:n}function aa(e){return Fg("sha256").update(ke({type:V(e.type),author:V(e.author),item:V(e.item),harness:V(e.harness),agent_instance:V(e.agentInstance),provenance:V(e.provenanceFilter)})).digest("hex").slice(0,24)}function ca(e,t){let n={version:oa,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 da(e,t){if(typeof e!="object"||e===null)return!1;let n=e;return[n.version===oa,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 ua(e,t){let n=e.trim();if(n.length===0||n.length>4096||!sa.test(n))throw new g("Invalid mutation event cursor.",p.USAGE,{code:"invalid_event_cursor"});let r;try{r=JSON.parse(Buffer.from(n,"base64url").toString("utf8"))}catch{throw new g("Invalid mutation event cursor.",p.USAGE,{code:"invalid_event_cursor"})}if(!da(r,t))throw new g("Mutation event cursor does not match this query.",p.USAGE,{code:"event_cursor_query_mismatch"});return r}function la(e){let t=e??Lg;if(!Number.isSafeInteger(t)||t<0||t>ia)throw new g(`Mutation event limit must be an integer from 0 to ${ia}.`,p.USAGE,{code:"invalid_event_limit"});return t}function fa(e){return e instanceof Error&&e.name==="AbortError"}function ma(e,t){let n=e?.trim();if(!n)return{};if(sa.test(n))return{cursor:ua(n,t)};let r=Date.parse(n);if(!Number.isFinite(r))throw new g("Mutation event --since must be an event cursor or ISO timestamp.",p.USAGE,{code:"invalid_event_since"});return{sinceTimestamp:new Date(r).toISOString()}}async function Og(e,t){let n=await cn(e,t);if(n===null){if(!await Wr(e))throw new g("Mutation events require a runtime with node:sqlite DatabaseSync support.",p.GENERIC_FAILURE,{code:"event_index_unavailable"});n=await cn(e,t)}if(n===null)throw new g("Mutation event index could not be opened after rebuild.",p.GENERIC_FAILURE,{code:"event_index_unavailable"});return n}async function $g(e={}){let t=S(e.cwd??process.cwd(),e.pmRoot);if(!await A($(t)))throw new g(`Tracker is not initialized at ${t}. Run pm init first.`,p.NOT_FOUND);let n=la(e.limit);if(e.full===!0&&e.provenance===!0)throw new g("Mutation event projections are mutually exclusive. Use --provenance or --full.",p.USAGE);let r=await T(t),i=r.agent_identity.identity_vocabulary,o=_t(r.agent_identity.harness_signals),s=bn({provenance:e.provenanceFilter},o),a=V(e.harness),c=aa(e),{cursor:d,sinceTimestamp:u}=ma(e.since,c),l={...d?{after_ts:d.ts,after_stream_id:d.stream_id,after_stream_offset:d.stream_offset}:u?{since_ts:u}:{},ops:V(e.type),authors:V(e.author),harnesses:a,harness_alias_authors:a?Object.entries(i.aliases).filter(([,h])=>a.includes(h)).map(([h])=>h):void 0,agent_instances:V(e.agentInstance),provenance:[...s].map(([h,y])=>({dimension:h,values:[...y]})),stream_ids:V(e.item),limit:n},f=await Og(t,l),m=f.events.map(h=>({cursor:ca(h,c),item_id:h.stream_id,version:h.stream_offset+1,ts:h.entry.ts,author:h.entry.author,type:h.entry.op,...h.entry.message===void 0?{}:{message:h.entry.message},patch_count:h.entry.patch.length,...e.full===!0?{entry:h.entry}:{},...e.provenance===!0?{provenance:bt(h.entry,i,{itemId:h.stream_id,version:h.stream_offset+1})}:{}}));return{events:m,count:m.length,has_more:f.has_more,...m.length===0?{}:{next_cursor:m[m.length-1].cursor},source:"derived_index",...e.provenanceSummary===!0?{provenance_summary:wt(f.events.map(h=>h.entry),i,o)}:{}}}async function*dk(e={}){let t=e.intervalMs??Mg;if(!Number.isSafeInteger(t)||t<10)throw new g("Mutation event follow interval must be an integer of at least 10ms.",p.USAGE,{code:"invalid_event_follow_interval"});let n=e.since;for(;e.signal?.aborted!==!0;){let r=await $g({...e,since:n});if(r.events.length>0){for(let i of r.events)yield i;n=r.next_cursor;continue}try{await Ng(t,void 0,{signal:e.signal})}catch(i){if(fa(i))return;throw i}}}var uk={decodeMutationEventCursor:ua,encodeMutationEventCursor:ca,eventQueryFingerprint:aa,isAbortError:fa,isMutationEventCursorEnvelope:da,parseMutationEventLimit:la,resolveMutationEventStart:ma};(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 fk(e,t){let n=t??{};return e.filter(r=>n[r.id]!==r.updated_at).map(r=>r.id).sort((r,i)=>r.localeCompare(i))}export{gi as a,hi as b,$e as c,yi as d,_i as e,Xg as f,bi as g,yn as h,_h as i,bh as j,Nh as k,Lh as l,gt as m,Di as n,Ri as o,Ph as p,W as q,ht as r,Ai as s,yt as t,_t as u,bn as v,bt as w,Vh as x,wn as y,wt as z,iy as A,Oi as B,$i as C,cc as D,Te as E,ay as F,cy as G,vn as H,De as I,uc as J,En as K,lc as L,Re as M,vt as N,In as O,xt as P,yy as Q,Ui as R,jy as S,Wi as T,Vi as U,Yi as V,Xi as W,Ji as X,Rt as Y,Zi as Z,Lt as _,eo as $,io as aa,Mt as ba,oo as ca,zd as da,$t as ea,$n as fa,Pt as ga,uo as ha,fo as ia,Pn as ja,Be as ka,po as la,Un as ma,Bn as na,Gn as oa,go as pa,Kn as qa,_o as ra,bo as sa,ko as ta,lu as ua,L_ as va,fk as wa,Tu as xa,ge as ya,Ut as za,Ro as Aa,Bt as Ba,Ge as Ca,Vn as Da,Yn as Ea,Ke as Fa,Fo as Ga,No as Ha,Po as Ia,Qn as Ja,Uo as Ka,q_ as La,W_ as Ma,Ko as Na,zo as Oa,Y_ as Pa,Vu as Qa,Qo as Ra,Vo as Sa,Yo as Ta,Yu as Ua,Xu as Va,kb as Wa,nl as Xa,rl as Ya,il as Za,qe as _a,Sb as $a,Tb as ab,Db as bb,bs as cb,cr as db,Wt as eb,Wf as fb,vs as gb,Qf as hb,Vt as ib,Zf as jb,em as kb,im as lb,om as mb,Lb as nb,sm as ob,xs as pb,te as qb,Yt as rb,Bb as sb,Gb as tb,Xt as ub,dr as vb,ur as wb,Cm as xb,Fm as yb,Nm as zb,lr as Ab,fr as Bb,Qt as Cb,Ls as Db,Jb as Eb,Um as Fb,zm as Gb,$s as Hb,Jm as Ib,Ps as Jb,Qm as Kb,aw as Lb,Us as Mb,mw as Nb,pw as Ob,gw as Pb,hw as Qb,Bs as Rb,Zm as Sb,sp as Tb,Xe as Ub,Mw as Vb,gr as Wb,dp as Xb,up as Yb,yr as Zb,ye as _b,br as $b,wr as ac,kr as bc,Me as cc,et as dc,Zt as ec,Ow as fc,cg as gc,$w as hc,mg as ic,Vw as jc,Yw as kc,_g as lc,Xw as mc,Jw as nc,$g as oc,dk as pc,uk as qc};
13
- //# sourceMappingURL=chunk-DL5M5J3V.js.map