@unbrained/pm-cli 2026.8.18 → 2026.8.19

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 (139) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +16 -2
  3. package/dist/cli/error-guidance.js +3 -2
  4. package/dist/cli/help-content.js +32 -13
  5. package/dist/cli/help-json-payload.d.ts +15 -0
  6. package/dist/cli/help-json-payload.js +101 -23
  7. package/dist/cli/main.js +6 -2
  8. package/dist/cli/register-list-query.js +8 -5
  9. package/dist/cli/register-mutation.js +8 -8
  10. package/dist/cli/register-operations.js +6 -6
  11. package/dist/cli-bundle/bundle-manifest.json +139 -139
  12. package/dist/cli-bundle/chunks/chunk-4NRRH7AM.js +2 -0
  13. package/dist/cli-bundle/chunks/{chunk-UYCLQVL2.js → chunk-4THEB6PD.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-BSK2IN3C.js → chunk-BHYMXLAE.js} +2 -2
  15. package/dist/cli-bundle/chunks/chunk-GWMXAQOD.js +197 -0
  16. package/dist/cli-bundle/chunks/chunk-HVFQTLYM.js +35 -0
  17. package/dist/cli-bundle/chunks/chunk-OI4XI562.js +5 -0
  18. package/dist/cli-bundle/chunks/{chunk-YRGOLZA7.js → chunk-OIOKV6NO.js} +3 -3
  19. package/dist/cli-bundle/chunks/{chunk-5UZZAJKR.js → chunk-QXSH7BLM.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-RZQTVMRQ.js → chunk-TOXJM4WA.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-GNFAFIJI.js → chunk-YBMRWW4E.js} +44 -44
  22. package/dist/cli-bundle/chunks/{register-list-query-I23LALEE.js → register-list-query-Y56KINDU.js} +11 -11
  23. package/dist/cli-bundle/chunks/register-mutation-AUWVCW4M.js +20 -0
  24. package/dist/cli-bundle/chunks/register-operations-PZQPHXW5.js +2 -0
  25. package/dist/cli-bundle/chunks/{register-setup-PPPEF3SN.js → register-setup-I4LUHGVW.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-5AF3ZBNB.js → chunk-34QBIYZI.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-V5XTGLK7.js → chunk-BJRYFVSH.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-DKPLYW3L.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-ODOVCP45.js → chunk-EF6ZS5GH.js} +44 -44
  30. package/dist/cli-bundle/focused-chunks/{chunk-EX6MKP2X.js → chunk-ESISGDAY.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-EUEGXZ2A.js → chunk-EXBCLIBU.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-UI6AJ5TD.js → chunk-JDOMQ7VQ.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-L623ZPNK.js +2 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-MCZXYZAF.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-ODHQEECS.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-3TKWMNKF.js → chunk-PRHY2IMX.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-RZU5U6Q7.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/{chunk-M62NO7EI.js → chunk-US7VEYZG.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-TN4AE665.js → chunk-VXDSU5MC.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/chunk-YBMGXBFV.js +16 -0
  41. package/dist/cli-bundle/focused-chunks/chunk-YLVBJ6GF.js +2 -0
  42. package/dist/cli-bundle/focused-chunks/{chunk-K43KKAFS.js → chunk-ZBIQQYMI.js} +2 -2
  43. package/dist/cli-bundle/main.js +13 -13
  44. package/dist/cli-bundle/sdk-authoring.js +1 -1
  45. package/dist/cli-bundle/sdk-contracts.js +2 -1
  46. package/dist/cli-bundle/sdk-core.js +31 -31
  47. package/dist/cli-bundle/sdk-governance.js +1 -1
  48. package/dist/cli-bundle/sdk-graph.js +1 -1
  49. package/dist/cli-bundle/sdk-merge.js +32 -32
  50. package/dist/cli-bundle/sdk-query.js +1 -1
  51. package/dist/cli-bundle/sdk-runtime.js +1 -1
  52. package/dist/cli-bundle/sdk-testing.js +1 -1
  53. package/dist/cli-bundle/sdk.js +5 -4
  54. package/dist/core/shared/errors.d.ts +2 -0
  55. package/dist/core/shared/errors.js +2 -2
  56. package/dist/sdk/agent/refusal-closure.d.ts +41 -0
  57. package/dist/sdk/agent/refusal-closure.js +92 -0
  58. package/dist/sdk/agent/refusal-reachability.d.ts +1 -1
  59. package/dist/sdk/agent-capability-contracts.d.ts +13 -0
  60. package/dist/sdk/agent-capability-contracts.js +104 -7
  61. package/dist/sdk/cli-contracts/command-aliases.js +18 -2
  62. package/dist/sdk/cli-contracts/commander-mutation-options.js +30 -6
  63. package/dist/sdk/cli-contracts/commander-types.js +5 -4
  64. package/dist/sdk/cli-contracts/flag-contracts.d.ts +5 -0
  65. package/dist/sdk/cli-contracts/flag-contracts.js +75 -8
  66. package/dist/sdk/cli-contracts/flag-lexicon-contracts.d.ts +55 -0
  67. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +240 -0
  68. package/dist/sdk/cli-contracts/grammar-contracts.d.ts +81 -0
  69. package/dist/sdk/cli-contracts/grammar-contracts.js +615 -2
  70. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +15 -4
  71. package/dist/sdk/cli-contracts/runtime-contracts.js +42 -12
  72. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +28 -1
  73. package/dist/sdk/cli-contracts/tool-option-contracts.js +38 -3
  74. package/dist/sdk/cli-contracts.d.ts +3 -2
  75. package/dist/sdk/cli-contracts.js +5 -4
  76. package/dist/sdk/context-intent-contracts.d.ts +2 -2
  77. package/dist/sdk/context-intent-contracts.js +22 -7
  78. package/dist/sdk/contracts.d.ts +2 -0
  79. package/dist/sdk/contracts.js +4 -2
  80. package/dist/sdk/flag-invocation-contracts.d.ts +37 -0
  81. package/dist/sdk/flag-invocation-contracts.js +218 -9
  82. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +134 -2
  83. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +154 -22
  84. package/dist/sdk/index.d.ts +7 -5
  85. package/dist/sdk/index.js +7 -5
  86. package/dist/sdk/output-projection.d.ts +2 -0
  87. package/dist/sdk/output-projection.js +11 -5
  88. package/dist/sdk/query/get.js +25 -6
  89. package/dist/sdk/query/list.js +16 -2
  90. package/dist/sdk/query/search-contracts.d.ts +1 -1
  91. package/dist/sdk/query/search-contracts.js +23 -9
  92. package/dist/sdk/query/search.js +3 -3
  93. package/dist/sdk/read-output/continuation.d.ts +1 -1
  94. package/dist/sdk/read-output/continuation.js +7 -24
  95. package/dist/sdk/read-output-contracts.js +55 -6
  96. package/dist/sdk/read-output-rows.d.ts +4 -0
  97. package/dist/sdk/read-output-rows.js +47 -18
  98. package/dist/sdk/runtime.js +9 -5
  99. package/dist/sdk/workspace-snapshot.d.ts +2 -0
  100. package/dist/sdk/workspace-snapshot.js +10 -2
  101. package/docs/COMMANDS.md +16 -4
  102. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +11 -2
  103. package/docs/READ_OUTPUT_CONTRACTS.md +10 -6
  104. package/docs/SDK.md +6 -0
  105. package/docs/TESTING.md +14 -1
  106. package/docs/generated/AGENT_COMMAND_SURFACE.md +78 -78
  107. package/docs/generated/FLAG_LEXICON_BUDGETS.md +76 -0
  108. package/marketplace.json +2 -2
  109. package/package.json +5 -3
  110. package/packages/pm-beads/package.json +1 -1
  111. package/packages/pm-calendar/package.json +1 -1
  112. package/packages/pm-command-kit/package.json +1 -1
  113. package/packages/pm-digital-twin/package.json +1 -1
  114. package/packages/pm-governance-audit/package.json +1 -1
  115. package/packages/pm-guide-shell/package.json +1 -1
  116. package/packages/pm-kanban/package.json +1 -1
  117. package/packages/pm-lifecycle-hooks/package.json +1 -1
  118. package/packages/pm-linked-test-adapters/package.json +1 -1
  119. package/packages/pm-search-advanced/package.json +1 -1
  120. package/packages/pm-templates/package.json +1 -1
  121. package/packages/pm-todos/package.json +1 -1
  122. package/packages/pm-vcs/package.json +1 -1
  123. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  124. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  125. package/scripts/generate-agent-capability-surfaces.mjs +20 -14
  126. package/sdk/public-surface.json +576 -12
  127. package/dist/cli-bundle/chunks/chunk-ALDJGKAK.js +0 -2
  128. package/dist/cli-bundle/chunks/chunk-DY4DMUMC.js +0 -197
  129. package/dist/cli-bundle/chunks/chunk-L5Q2CLPE.js +0 -35
  130. package/dist/cli-bundle/chunks/chunk-PVRUN5ZS.js +0 -5
  131. package/dist/cli-bundle/chunks/register-mutation-6YGU3GPH.js +0 -20
  132. package/dist/cli-bundle/chunks/register-operations-4HTFC6J7.js +0 -2
  133. package/dist/cli-bundle/focused-chunks/chunk-2PN4TJXH.js +0 -2
  134. package/dist/cli-bundle/focused-chunks/chunk-C5IW2NDA.js +0 -2
  135. package/dist/cli-bundle/focused-chunks/chunk-RNDNMARJ.js +0 -16
  136. package/dist/cli-bundle/focused-chunks/chunk-TVV2DONO.js +0 -2
  137. package/dist/cli-bundle/focused-chunks/chunk-WGHQVU6P.js +0 -2
  138. package/dist/cli-bundle/focused-chunks/chunk-XYNBXTDQ.js +0 -2
  139. package/dist/cli-bundle/focused-chunks/chunk-Z56ECT7I.js +0 -2
@@ -1,16 +0,0 @@
1
- import{C as yi,D as Ee,Da as xi,F as fe,G as xe,H as Ce,Ha as Ti,I as _i,L as wi,M as yt,N as bi,O as cn,P as dn,Q as un,R as ki,V as vi,W as ln,da as Si,f as pi,g as hi,h as an,i as gi,ma as Ie,va as Ei}from"./chunk-3TKWMNKF.js";import{Fa as Lr,f as Mr,xa as Dr}from"./chunk-TVV2DONO.js";import{b as Ci,e as fn,f as _t,g as Ii}from"./chunk-M62NO7EI.js";import{A as jr,Aa as Vr,B as Ur,C as Kr,Ca as Yr,D as Br,Da as Xr,E as Hr,Fa as $e,Ha as ae,I as Ne,Ia as sn,Ja as Qr,La as Jr,Ma as Zr,N as Gr,Oa as Pe,Ra as ei,Sa as pt,Ta as ti,U as ee,Ua as ni,V as A,X as S,Y as ft,Z as B,_ as mt,_a as ri,ab as F,cb as ii,db as oi,fb as si,gb as ht,ib as ai,ja as M,ka as O,l as R,la as H,mb as ci,nb as di,o as on,oa as qr,ob as Se,pa as zr,pb as ui,q as Oe,qa as Wr,qb as li,r as $r,ra as G,rb as z,sb as W,tb as gt,u as Pr,ub as ce,vb as fi,xb as mi,ya as ve}from"./chunk-5AF3ZBNB.js";import{$ as Tr,Fa as Ar,G as L,H as dt,M as C,O as Ir,P as $,Q as Me,S as le,Sa as P,Ua as q,V as De,W as N,a as vr,aa as Fr,h as xr,q as D,r as at,s as Cr,t as ct,u as Z,x as rn}from"./chunk-UI6AJ5TD.js";import{a as Nr,c as lt}from"./chunk-WGHQVU6P.js";import{E as we,J as nn,K as ot,Qa as be,R as Sr,Ra as ke,S as st,Sa as Le,W as Er,Wa as ut,Xa as Or,Y as m,Z as p,aa as Rr}from"./chunk-2PN4TJXH.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]="cc342d27-aa2d-5e84-8441-46a35c42dc00")}catch{}})();var Ya=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],mn=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list-all --full --strict-read --no-truncate --output-budget unbounded --json",sdk:"await client.listAllComplete()"}}}};function mh(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function te(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function j(e,t,n,r){t&&e.push({code:n,message:r})}function Xa(e,t){let n=te(e.completeness)?e.completeness:{};j(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),j(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=te(e.filters)?e.filters:{},i=te(r.runtime_filters)?r.runtime_filters:{},o=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return j(t,r.status!=="all"||Object.keys(i).length>0||Object.keys(r).some(s=>!o.has(s)),"filtered_corpus","The list did not explicitly select every lifecycle status."),j(t,r.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),j(t,r.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),r}function Qa(e,t,n){j(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),j(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=te(e.projection)?e.projection:{};j(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=te(e.omission_receipt)?e.omission_receipt:void 0;j(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Ja(e,t){let n=te(e.read_output)?e.read_output:void 0;j(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=te(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;j(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),j(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Za(e,t){let n=e.map(r=>te(r)&&typeof r.id=="string"?r.id.trim():"");j(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),j(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function ec(e){if(!te(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Ya[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Xa(t,n);return Qa(t,r,n),Ja(t,n),Za(t.items,n),{ok:n.length===0,findings:n}}function tc(e){let t=ec(e);if(!t.ok)throw new mn(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function ph(e){tc(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47c087c2-124a-58b7-a5c9-09403235f4a2")}catch{}})();function nc(e,t){let n=-1;return e.forEach((r,i)=>{let o=Date.parse(r.ts);if(!Number.isFinite(o))throw new p(`History for this item contains invalid timestamp at entry ${i+1}.`,m.GENERIC_FAILURE);o<=t&&(n=i)}),n}function rc(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 Fi(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 Ri(e,t,n={}){let r=e.trim(),i=n.errorSubject??"history",o=i==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=rc(t);if(!r)throw new p(`Missing ${i} target. Use a timestamp or version number.`,m.USAGE,s);if(/^\d+$/.test(r)){let l=Number(r);if(!Number.isSafeInteger(l)||l<1||l>t.length)throw new p(`${o} version must be between 1 and ${t.length} for this item.`,m.USAGE,s);return{kind:"version",raw:r,historyIndex:l-1}}let d=Date.parse(r);if(!Number.isFinite(d))throw new p(`Invalid ${i} target "${e}". Use a positive version number or ISO timestamp.`,m.USAGE,s);let c=nc(t,d);if(c<0||n.allowFutureTimestamp!==!0&&d>Date.parse(a))throw new p(i==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,m.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:c}}function je(e,t,n,r){let i=Zr(e,t);if(i.ok)return i.document;let o=Fi(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 p(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${o.reason??String(i.error)}`,m.GENERIC_FAILURE)}function Ai(e,t){let n=structuredClone($e);for(let r=0;r<=t;r+=1){let i=e[r];if(!i)throw new p(`History target entry ${r+1} does not exist.`,m.USAGE);if(ae(n)!==i.before_hash)throw new p(`History hash mismatch before replay at entry ${r+1}.`,m.GENERIC_FAILURE);if(n=je(n,i.patch,r+1,i.op),ae(n)!==i.after_hash)throw new p(`History hash mismatch after replay at entry ${r+1}.`,m.GENERIC_FAILURE)}return n}function Mi(e,t){if(Object.keys(e.metadata).length>0)return e;throw new p(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,m.USAGE)}import pn from"node:fs/promises";import ic 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 oc(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let n=ri(e.settings);if(n.ownership_enforcement==="strict")throw new p(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,m.CONFLICT);return n.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function sc(e){let t=await ct(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new p(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,m.CONFLICT);let n=await z(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),r=n?await W(n,{schema:e.settings.schema}):null;if((r?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new p(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,m.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:n,loadedItemUnderLock:r}}async function Th(e){let t=e.writeHistoryRaw??Z;try{await t(e.historyPath,e.nextHistoryRaw),await ve(e.historyPath)}catch(n){try{e.historyRawUnderLock===null?await ic.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await ve(e.historyPath)}catch(r){throw new AggregateError([n,r],`History rewrite failed and rollback also failed: ${String(n)}`)}throw n}}async function Di(e){let t=[...oc({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],n=await mt(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 sc({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 Li(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function ac(e){let t=[];for(let n of e)t.includes(n)||t.push(n);return t.includes("g")||t.push("g"),t.join("")}function cc(e){let t=e.trim();if(t.length===0)throw new p("history-redact --regex requires a non-empty pattern.",m.USAGE);let n=t,r="g";if(t.startsWith("/")&&t.length>1){let i=t.lastIndexOf("/");i>0&&(n=t.slice(1,i),r=ac(t.slice(i+1)))}if(n.length===0)throw new p("history-redact --regex cannot use an empty pattern.",m.USAGE);try{new RegExp(n,r)}catch{throw new p("Invalid --regex value; provide a valid JavaScript regular expression.",m.USAGE)}return{kind:"regex",source:n,flags:r}}function dc(e,t){let n=[...new Set(Li(e).map(o=>o.trim()))].filter(o=>o.length>0).map(o=>({kind:"literal",value:o})),r=[...new Set(Li(t).map(o=>o.trim()))].filter(o=>o.length>0).map(cc),i=[...n,...r];if(i.length===0)throw new p("history-redact requires at least one matcher via --literal or --regex.",m.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 uc(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 lc(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 Oi(e,t,n){let r=e,i=0;for(let o of t){let s=o.kind==="literal"?uc(r,o.value,n):lc(r,o,n);r=s.value,i+=s.replacements}return{value:r,replacements:i}}function hn(e,t,n){if(typeof e=="string")return Oi(e,t,n);if(Array.isArray(e)){let r=0;return{value:e.map(o=>{let s=hn(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=hn(s,t,n);r+=a.replacements,i[o]=a.value}return{value:i,replacements:r}}return{value:e,replacements:0}}function fc(e){let t=structuredClone($e),n=0,r=0;for(let i=0;i<e.length;i+=1){let o=e[i];ae(t)!==o.before_hash&&(n+=1),t=je(t,o.patch,i+1,o.op),ae(t)!==o.after_hash&&(r+=1)}return{hashMismatchesBefore:n,hashMismatchesAfter:r,finalDocument:t}}function mc(e,t,n){let r=0,i=!1,o=e.message;if(typeof e.message=="string"){let a=Oi(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 d=hn(a.value,t,n);return r+=d.replacements,d.replacements>0?(i=!0,{...a,value:d.value}):a});return{entry:{...e,message:o,patch:s},replacements:r,changed:i}}function pc(e,t,n){let r=structuredClone($e),i=0,o=0,s=[];for(let a=0;a<e.length;a+=1){let d=mc(e[a],t,n);o+=d.replacements,d.changed&&(i+=1);let c=ae(r);r=je(r,d.entry.patch,a+1,d.entry.op);let l=ae(r);s.push({...d.entry,before_hash:c,after_hash:l})}return{entries:s,finalDocument:r,entriesChanged:i,replacements:o}}function hc(e){return Object.keys(e.metadata).length>0}async function gc(e,t){let n=e.located?.itemPath??null;if(!e.located)return{raw:null,path:n,document:null};let r=await W(e.located,{schema:t.schema});return{raw:r.raw,path:n,document:r.document}}function yc(e){if(!hc(e.finalDocument))return{raw:null,path:null,document:null};let t=Wr(sn(e.finalDocument),{schema:e.settings.schema});if(t.metadata.id!==e.subject.id)throw new p("history-redact would change the item id; narrow your patterns.",m.USAGE);return{document:t,path:Me(e.pmRoot,t.metadata.type,e.subject.id,"toon",e.typeToFolder),raw:zr(t,{format:"toon",schema:e.settings.schema})}}function _c(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 wc(e){let t=[...e.rewritten.entries];if(e.dryRun||!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let n=e.nextItemDocument??sn(e.rewritten.finalDocument);return t.push(Xr({nowIso:A(),author:e.author,op:"history_redact",before:n,after:n,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}async function bc(e){let t=[];return Di({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 Z(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 Z(e.subject.historyPath,ei(e.rewrittenEntries))}catch(d){try{await kc(e.subject.historyPath,n,i,o)}finally{await ve(e.subject.historyPath)}throw d}await ve(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 vc(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]})}async function kc(e,t,n,r){t===null?await pn.rm(e,{force:!0}):await Z(e,t);for(let i of n){let o=r.get(i);o===void 0?await pn.rm(i,{force:!0}):await Z(i,o)}}async function vc(e,t){let n=[],r=new Set(t.filter(i=>i!==null));for(let i of r)n.push(...await on({path:i,scope:"project",op:"history_redact"}));return n.push(...await on({path:e,scope:"project",op:"history_redact:history"})),n}async function gn(e,t,n,r){let i=await z(e,t,n.id_prefix,n.item_format,r);if(i)return{id:i.id,historyPath:le(e,i.id),located:i};let o=ht(t,n.id_prefix),s=si(t),a=o===s?[o]:[o,s];for(let d of a){let c=le(e,d);if(await D(c))return{id:d,historyPath:c,located:null}}throw new p(`Item ${t} not found`,m.NOT_FOUND)}async function Xh(e,t,n){let r=C(process.cwd(),n.path);if(!await D($(r)))throw new p(`Tracker is not initialized at ${r}. Run pm init first.`,m.NOT_FOUND);let i=await F(r),o=L(i,R()),s=t.replacement??"",a=s.length===0,d=a?"[redacted]":s,c=dc(t.literal,t.regex),l=await gn(r,e,i,o.type_to_folder);if(!await D(l.historyPath))throw new p(`No history stream exists for ${l.id}.`,m.NOT_FOUND);let u=await ct(l.historyPath),f=await G(l.historyPath,l.id);if(f.length===0)throw new p(`No history entries exist for ${l.id}; nothing to redact.`,m.USAGE);let h=fc(f),y=pc(f,c,d),g=h.hashMismatchesBefore+h.hashMismatchesAfter,k=!!t.dryRun,_=y.replacements>0,w=[];g>0&&w.push(`history_redact_preexisting_hash_mismatches:${g}`),_||w.push("history_redact_no_matches");let b=await gc(l,i),E=yc({pmRoot:r,subject:l,settings:i,typeToFolder:o.type_to_folder,finalDocument:y.finalDocument}),T=(b.path??null)!==(E.path??null)||(b.raw??null)!==(E.raw??null),I=ee(t.author,i.author_default),x=_c(t,y),{rewrittenEntries:de,auditEntryAdded:ge}=wc({rewritten:y,dryRun:k,changed:_,nextItemDocument:E.document,author:I,message:x}),oe=Pe(de);if(!oe.ok)throw new p(`history-redact produced an invalid rewritten chain (${oe.errors.join(", ")}).`,m.GENERIC_FAILURE);return!k&&_&&w.push(...await bc({pmRoot:r,subject:l,settings:i,typeRegistry:o,historyRawBeforeLock:u,currentItem:b,nextItem:E,author:I,force:t.force,rewrittenEntries:de})),{id:l.id,dry_run:k,changed:_,patterns:{literal_count:c.filter(K=>K.kind==="literal").length,regex_count:c.filter(K=>K.kind==="regex").length,total_count:c.length,replacement_is_default:a},history:{path:l.historyPath,entries_scanned:f.length,entries_changed:y.entriesChanged,replacements:y.replacements,hash_mismatches_before:h.hashMismatchesBefore,hash_mismatches_after:h.hashMismatchesAfter,preexisting_hash_mismatches:g,audit_entry_added:ge,verify_ok:oe.ok,verify_errors:oe.errors},item:{existed_before:b.path!==null,exists_after:E.path!==null,path_before:b.path,path_after:E.path,changed:T},warnings:[...new Set(w)].sort((K,se)=>K.localeCompare(se)),generated_at: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]="04f5d4d2-4021-5ce2-b35a-2134d98d2ad7")}catch{}})();function Ni(e,t){let n=Pe(e),r=e.length>0?e[e.length-1].after_hash:Yr(),i=t===void 0?void 0:Vr(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 $i(e,t,n={}){let r=C(n.cwd??process.cwd(),n.pmRoot);if(!await D($(r)))throw new p(`Tracker is not initialized at ${r}. Run pm init first.`,m.NOT_FOUND);let i=await F(r),o=L(i,R()),s=await gn(r,e,i,o.type_to_folder),a=await G(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=Ri(t,a),c=Mi(Ai(a,d.historyIndex),d),l=Qr(c,{schema:i.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex];return{document:l,reconstructed:!0,as_of_version:d.historyIndex+1,as_of_timestamp:u.ts,target:d,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]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function U(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 p(`${t} must be a non-negative integer`,m.USAGE);return r}function wt(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 p(`${t} filter must be 0..4`,m.USAGE);return r}function Pi(e,t,n="--type"){if(e===void 0)return;let r=dt(e,t);if(!r)throw new p(`${n} filter must be one of ${t.types.join("|")}`,m.USAGE);return r}import Ec from"node:fs/promises";import Bi from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b010e79-a73a-5760-ac05-8dc88484cd69")}catch{}})();var yn={version:1,aliases:{}};function bt(e=[]){let t=new Set(Ne),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 ji(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 Sc(e,t=Ne){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 p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function kt(e,t=yn,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 vt(e,t=yn,n=Ne){let r=ji(e.harness),i=ji(e.agentInstance),o=Sc(e,n);return s=>{let d=_n(s,t).agent_harness;if(r&&(!d||!r.has(d))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,l]of o){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function St(e,t=yn,n=Ne){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);_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,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="49304d18-d722-5413-8e4d-4f2c3df4a1ca")}catch{}})();var xc=20,Cc=5,Ic=15,Tc="-24h";function Tg(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 Fc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function wn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function Ui(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return B(i,new Date(t),n)}function Rc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Ki(e,t){return t===void 0?e:e.slice(0,t)}function Ue(e,t=""){return typeof e=="string"?e:t}function Ac(e,t){return{...t,id:e,ts:Ue(t.ts),author:Ue(t.author,"unknown"),op:Ue(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ue(t.before_hash),after_hash:Ue(t.after_hash)}}function Mc(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 Dc(e){try{return(await Ec.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Cr(t))return[];throw t}}function Lc(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 Oc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Ic:n==="compact"?xc:Cc}function Nc(e,t){let n=A(),r=t==="digest",i=Ui(e.to??(r?n:void 0),n,"--to"),o=Ui(e.from??(r?Tc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=fe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:wn(e.id,"Activity --id"),op:wn(e.op,"Activity --op"),author:wn(e.author,"Activity --author"),from:o,to:i,limit:Oc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function $c(e){let t=C(process.cwd(),e.path);if(!await D($(t)))throw new p(`Tracker is not initialized at ${t}. Run pm init first.`,m.NOT_FOUND);return{pmRoot:t,settings:await F(t)}}async function Pc(e){let t=L(e.settings,R()),n=await ce(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await oi({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Bi.join(e.pmRoot,"history");return await Oe({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function jc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Rc(t,n.from,n.to)}async function Uc(e,t){let n=[];for(let r of await Dc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await G(Bi.join(e,r),i);for(let s of o){let a=Ac(i,s);jc(s,a,t)&&n.push(a)}}return n}function Kc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Bc(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 Hc(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,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(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:Bc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function Gc(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 qc(e,t,n,r,i){if(e==="digest"){let s=Hc(t,r),a=Ki(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=Ki(t,n);return e==="compact"?{rows:{compact_activity:Kc(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 Hi(e,t){let n=await $c(t),r=Lc(e),i=Nc(e,r),o=await Pc(n),s=bt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=vt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=Mc(await Uc(o.historyDir,i)).filter(d),l=qc(r,c,i.limit,o.itemsById,f=>kt(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Fc[r]},omission_receipt:lt("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:Gc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:St(c,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]="1035bd62-b012-5249-bd53-31b39f21b2d3")}catch{}})();function bn(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 d=e[s+1];if(d===","||d==="\\"){r+=d,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 p(`${t.label} requires at least one non-empty value`,m.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function V(e,t){let n=bn(e,t);return n===void 0?void 0:new Set(n)}function Et(e,t,n="--type"){let r=bn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=dt(o,t);if(!s)throw new p(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(i)}function xt(e,t="--priority"){let n=bn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>wt(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 Gi(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function Ct(e){return{isTerminal(t){return e.terminal_statuses.has(Gi(t,e))},classify(t){let n=Gi(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 kn(e){return N(e.acceptance_criteria)===void 0}function vn(e){return!Number.isFinite(e.estimated_minutes)}function Vi(e,t){return t.isTerminal(e.status)?N(e.resolution)===void 0:!1}function zc(e){return N(e.reviewer)===void 0}function Wc(e){return N(e.risk)===void 0}function Vc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):N(e.confidence)===void 0}function Yc(e){return N(e.sprint)===void 0}function Xc(e){return N(e.release)===void 0}function Ke(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Qc(e,t,n){return[[t.acMissing,kn(e)],[t.estimatesMissing,vn(e)],[t.resolutionMissing,Vi(e,n)],[t.reviewerMissing,zc(e)],[t.riskMissing,Wc(e)],[t.confidenceMissing,Vc(e)],[t.sprintMissing,Yc(e)],[t.releaseMissing,Xc(e)]].every(([i,o])=>i!==!0||o)}function Jc(e,t){return kn(e)||vn(e)||Vi(e,t)}function It(e,t,n){return Ke(t)?!(!Qc(e,t,n)||t.metadataMissing&&!Jc(e,n)):!0}var Sn=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Zc(e,t){switch(t){case"acceptance_criteria":return!kn(e);case"estimated_minutes":return!vn(e);case"resolution":return N(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return N(e.parent)!==void 0}}function ed(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function td(e,t){return t===0?100:Math.round(e/t*1e3)/10}function qi(){let e={};for(let t of Sn)e[t]={present:0,applicable:0,percent:100};return e}function zi(e,t,n){for(let r of Sn){if(!ed(t,r,n))continue;let i=e[r];i.applicable+=1,Zc(t,r)&&(i.present+=1)}}function Wi(e){for(let t of Sn){let n=e[t];n.percent=td(n.present,n.applicable)}}function Ng(e,t){let n=qi(),r={};for(let i of e){zi(n,i,t);let o=r[i.type]??(r[i.type]=qi());zi(o,i,t)}Wi(n);for(let i of Object.values(r))Wi(i);return{overall:n,by_type:r}}var nd={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function rd(e){return nd[e]}function id(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function od(e,t,n){switch(t){case"assignee":return[N(e.assignee)??null];case"parent":return[N(e.parent)??null];case"type":return[N(e.type)??null];case"status":return[N(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 $g(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let d=n.classify(a.status);for(let c of od(a,t,r)){let l=c??"\0empty",u=i.get(l);u||(u={label:c??rd(t),key:c,buckets:id(),total:0},i.set(l,u)),u.buckets[d]+=1,u.total+=1}}let s=[...i.values()].sort((a,d)=>d.total!==a.total?d.total-a.total:a.key===null?1:d.key===null?-1:a.label.localeCompare(d.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 Te=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function me(e){return Array.isArray(e)&&e.length>0}function sd(e){return typeof e=="string"&&e.trim().length>0}function ad(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 Xi(e,t){switch(t){case"notes":return me(e.notes);case"learnings":return me(e.learnings);case"files":return me(e.files);case"docs":return me(e.docs);case"tests":return me(e.tests);case"comments":return me(e.comments);case"deps":return me(e.dependencies);case"body":return sd(e.body);case"linked_command":return ad(e.tests)}}function Tt(e){return Te.some(t=>e[t]!==void 0)}function Ft(e,t){for(let n of Te){let r=t[n];if(r===void 0)continue;let i=Xi(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Qi(e){return Te.some(t=>t!=="body"&&e[t]!==void 0)}function Ji(e){return e.body!==void 0}function Yi(e,t){return t===0?100:Math.round(e/t*1e3)/10}function cd(){let e={};for(let t of Te)e[t]={present:0,total:0,percent:100};return e}function jg(e){let t=cd(),n=e.length;for(let s of e)for(let a of Te)Xi(s,a)&&(t[a].present+=1);for(let s of Te)t[s].total=n,t[s].percent=Yi(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Yi(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]="41f54a9b-b7ba-52c1-bd84-76aa57021827")}catch{}})();var Rt=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}),Zi=[{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"}],Ge=e=>{let t=Zi.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new p(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(Zi.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},eo=["priority","deadline","updated_at","created_at","title","parent"],to=["asc","desc"],dd=["id","title","status","type","priority","parent","updated_at"],ud=["id","status","type","title"],uy={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"full","list-canceled":"full"},ld=["tree_depth","tree_parent","tree_children","tree_title"],oo=new Set(ci);function fd(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 p(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,m.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 md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var pd=[{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"}],hd=[{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 so(e,t){for(let n of pd)t[n.key]===!0&&(e[n.summaryKey]=!0)}function ao(e,t){for(let n of hd)t[n.key]===!0&&(e[n.summaryKey]=!0)}function En(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 qe(e){let t={};return so(t,e),t}function ze(e){let t={};return ao(t,e),t}var gd=[{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"}],yd=[{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"}],_d=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],wd="-7d";function co(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,d={};return t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency"),En(d,n,gd),lo(d,n),n.filterAcMissing===!0&&(d.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(d.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(d.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(d.filter_metadata_missing=!0),ao(d,n),so(d,n),n.limit!==void 0&&(d.limit=n.limit),n.offset!==void 0&&(d.offset=n.offset),n.includeBody===!0&&(d.include_body=!0),n.fields!==void 0&&(d.fields=n.fields),r&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),o!==void 0&&(d.sort=o,d.order=s),md(a)&&(d.runtime_filters=a),d}function xn(e,t,n){let r=H(e.status,n),i=H(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=S(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function bd(e,t){return[...e].sort((n,r)=>xn(n,r,t))}function no(e,t){if(e!==void 0)return B(e,new Date,t)}function Be(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return B(n,new Date,t)}function uo(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 p("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?Be(wd,"recent"):Be(e.updatedAfter,"updated-after")}function lo(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function fo(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);return new Set(n)}function Cn(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 p("Offset filter must be a non-negative integer",m.USAGE);return n}function mo(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 p("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function po(e){let t=e.compact===!0,n=e.brief===!0,r=e.full===!0,i=mo(e.fields);if(Number(t)+Number(n)+Number(r)+ +(i!==void 0)>1)throw new p("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE);return r?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...ud]}:t?{mode:"compact",fields:[...dd]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Fe(e){return e.startsWith("item.")?e.slice(5):e}function kd(e,t){if(e.mode!=="fields")return;let n=new Set([...st,"body",...ld,...t]),r=e.fields.filter(i=>!n.has(Fe(i)));if(r.length>0)throw new p(`Unknown list --fields value(s): ${r.join(", ")}`,m.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 vd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function ho(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=vd.get(t);if(n)return n;if(!eo.includes(t))throw new p(`Sort field must be one of ${eo.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function go(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!to.includes(t))throw new p(`Sort order must be one of ${to.join("|")}`,m.USAGE);return t}function Sd(e){return U(e,"--tree-depth")}function yo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function ro(e,t){return Ee(e,t,{strict:!0})}function _o(e){return V(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Ed(e,t,n){let r=_o(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 xd(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Cd(e,t,n,r){let i=V(t.assignee,{label:"--assignee"}),o=yo(t.assigneeFilter);xd(i,o);let s=Rt(t),a=Ge(t);return{idsFilter:fo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Et(t.type,n),tagFilters:_o(t.tag),priorityFilter:xt(t.priority),deadlineBefore:no(t.deadlineBefore,"deadline-before"),deadlineAfter:no(t.deadlineAfter,"deadline-after"),updatedAfter:uo(t),updatedBefore:Be(t.updatedBefore,"updated-before"),createdAfter:Be(t.createdAfter,"created-after"),createdBefore:Be(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:V(t.sprint,{label:"--sprint"}),releaseFilter:V(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Ke(s),lifecycleClassifier:Ct(r),contentFieldFilters:a,contentFiltersActive:Tt(a)}}function Id(e,t,n){return Td(e,t,n)&&Fd(e,t)&&Rd(e,t)&&Ad(e,t)}function Td(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&H(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 Fd(e,t){return ft(e,t)}function Rd(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 Ad(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 Md(e,t,n,r){return!(!Id(e,t,n)||t.missingMetadataActive&&!It(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Ft(e,t.contentFieldFilters)||!Ce(e,r))}function wo(e,t,n,r,i,o){let s=Cd(t,n,r,i);return e.filter(a=>Md(a,s,i,o))}function He(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function bo(e,t,n){let r=e,i=typeof r.title=="string"?r.title:"",o=He(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 ko(e,t,n){let r=new Map,i=new Map;for(let c of e){r.set(c.id,c);let l=He(c.parent);if(!l)continue;let u=i.get(l);u?u.push(c):i.set(l,[c])}let o=t?[...i.get(t)??[]]:e.filter(c=>{let l=He(c.parent);return!l||!r.has(l)}),s=[],a=new Set,d=(c,l)=>{if(a.has(c.id))return;a.add(c.id);let u=i.get(c.id)??[];if(s.push(bo(c,l,u.length)),!(n!==void 0&&l>=n))for(let f of u)d(f,l+1)};for(let c of o)d(c,0);return s}function vo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function So(e,t){return e===t?0:e===null?1:t===null?-1:S(e,t)}function Eo(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return So(e.deadline??null,t.deadline??null);case"updated_at":return S(e.updated_at,t.updated_at);case"created_at":return S(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return vo(e.parent??null,t.parent??null);default:return 0}}function xo(e,t,n,r){return t?[...e].sort((i,o)=>{let s=Eo(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=xn(i,o,r);return n==="desc"?-a:a}):bd(e,r)}function Co(e,t,n=!1){let r=Fe(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 In(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=Co(r,o,n);return i})}function Io(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function To(e,t){if(e.noTruncate!==!0)return U(e.limit)??(t>=1e4?20:void 0)}function Dd(e,t,n){return t.after===void 0?Cn(t.offset)??0:ut(e,t.after,n,r=>r.id)}function Fo(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function Ld(e,t){let n=C(process.cwd(),t.path);if(!await D($(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await F(n),i=P(r.schema),o=q(r.schema),s=po(e);return kd(s,Io(o.definitions)),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:xe(e,o,"list"),typeRegistry:L(r,R()),projection:s}}async function Od(e,t,n){let r=t.projection.fields.some(d=>Fe(d)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(d=>oo.has(Fe(d))),o=Ge(e),s=Qi(o),a=Ji(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 gt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await ce(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function Nd(e){let t=ho(e.sort),n=go(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new p("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new p("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Sd(e.treeDepth):void 0,parentRoot:r?He(e.parent):void 0}}function $d(e,t,n){let r=ro(t.status,n),i=r??ro(e,n),o=yi(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 Pd(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new p("List --after cannot be combined with --offset.",m.USAGE);let o=To(t,e.length),s=Dd(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),d=In(a,n,r),c=e.length,l=a.length>0&&s+a.length<c,u=l&&a.length>0?Le(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:d,totalMatched:c,pageExtras:Fo(o,l,u)}}function Ro(e,t,n){return ke("list",{status:e,options:be(t,Mr),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function jd(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(y=>{let g=Fe(y);return g==="body"||oo.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,$r(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([y,g])=>g!==void 0&&!o.has(y))].includes(!0))return null;let d=await Se(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!d)return null;let c=U(t.limit),l=Cn(t.offset)??0,u=await ai({pmRoot:n.pmRoot,expectedSourceCursor:d.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,h=f?Le(Ro(r.filtersStatus,t,i),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:In(u.items,n.projection,!1),totalMatched:u.total,pageExtras:Fo(c,f,h)}}function Ud(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:d}=e,c={};t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency");let l=n;for(let u of yd){let f=l[u.optionKey];f!=null&&(c[u.summaryKey]=f)}for(let u of _d)l[u.key]===!0&&(c[u.summaryKey]=!0);return Object.assign(c,ze(n),qe(n)),lo(c,n),r&&(c.no_truncate=!0),n.strictRead===!0&&(c.strict_read=!0),i&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),s!==void 0&&(c.sort=s,c.order=a),c.runtime_filters=d,c}async function ne(e,t,n){let r=await Ld(t,n),i=[],o=Nd(t),s=$d(e,t,r.statusRegistry),a=t.noTruncate===!0,d=await jd({options:t,runtime:r,statusSelection:s,ordering:o}),c=d;if(!c){let g=await Od(t,r,i);Ed(g,t.tag,i);let k=wo(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters),_=t.dependencyBlocked===!0?(()=>{let E=_t(g,r.statusRegistry);return k.filter(T=>E.has(T.id.trim().toLowerCase()))})():k,w=xo(_,o.sortField,o.sortOrder,r.statusRegistry),b=o.treeEnabled?ko(w,o.parentRoot,o.treeDepth):w;c=Pd(b,t,r.projection,o.treeEnabled,Ro(s.filtersStatus,t,o))}let l=A(),u=[...new Set(i)].sort((g,k)=>g.localeCompare(k)),f=fd(u,d!==null,t.strictRead===!0),h=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=co({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:g,projection:{mode:"compact",fields:h},...u.length>0?{warnings:u}:{}}}return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:Ud({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:h},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var ly={applyFilters:wo,buildCompactListFilterSummary:co,buildContentFilterEcho:qe,buildGovernanceMissingFilterEcho:ze,resolveContentFieldFilters:Ge,resolveMissingMetadataFilters:Rt,compareBySortField:Eo,compareDefaultSort:xn,compareNullableString:vo,compareNullableTimestamp:So,normalizeProjectionField:Fe,parseAssigneeFilter:yo,parseFieldSelectors:mo,parseIdsFilter:fo,parseOffset:Cn,parseProjectionConfig:po,resolveListUpdatedAfter:uo,resolveListPageLimit:To,parseSortField:ho,parseSortOrder:go,orderItemsAsTree:ko,projectListItems:In,readListFieldValue:Co,runtimeMetadataKeysForProjection:Io,sortItems:xo,trimNonEmpty:He,withTreeMetadata:bo};(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]="ab1153b1-2d91-58a5-9b4a-1d9c5f35a54a")}catch{}})();var Kd=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Bd=["filterAcMissing","filterEstimatesMissing","filterResolutionMissing","filterMetadataMissing","filterReviewerMissing","filterRiskMissing","filterConfidenceMissing","filterSprintMissing","filterReleaseMissing","hasNotes","hasLearnings","hasFiles","hasDocs","hasTests","hasComments","hasDeps","hasBody","hasLinkedCommand","noNotes","noLearnings","noFiles","noDocs","noTests","noComments","noDeps","emptyBody","noLinkedCommand"];function Hd(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function my(e,t,n={}){let r=n.includePagination!==!1;return[t,...Kd.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(Hd)||Bd.some(o=>e?.[o]===!0)}function Ao(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(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]="56486369-9164-58d3-ac34-46d57859f96d")}catch{}})();var Mo=["parent","type","priority","status","assignee","tags","sprint","release"];function Lo(e,t){let n=Ee(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Oo(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function No(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=Ei(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!Mo.includes(r))throw new p(`Aggregate group fields must be one of ${Mo.join("|")}; received "${r}"`,m.USAGE);return n}function $o(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function Po(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return $o(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function jo(e,t){let n=e??null,r=t??null;return n===r?0:n===null?1:r===null?-1:typeof n=="number"&&typeof r=="number"?n-r:String(n).localeCompare(String(r))}function Uo(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Gd={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Do(e,t){return t==null||t===""?Gd[e]:String(t)}function qd(e,t){return e.length===1?Do(e[0],t[e[0]]):e.map(n=>`${n}=${Do(n,t[n])}`).join(" | ")}function Ko(e,t,n){for(let r of n){let i=jo(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Bo(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let i=r.trim();if(i.length===0)return null;let o=Number(i);if(Number.isFinite(o))return o}return null}function Ho(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Tn(e,t,n){let r=M(String(t),n)??t;if(r===n.open_status){e.open_count+=1;return}if(r==="in_progress"||n.active_statuses.has(r)&&r!==n.open_status){e.in_progress_count+=1;return}if(n.terminal_done_statuses.has(r)||r===n.close_status){e.closed_count+=1;return}e.other_count+=1}function zd(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function Wd(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Vd(e){e.accumulator.row.count+=1,e.includeCompletion&&Tn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Wd(e.accumulator,e.numericValue)}function Yd(e,t){let n={};for(let r of e)n[r]=Po(r,t);return n}function Xd(e,t,n,r){let i={...e.row,group_label:qd(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=Ho(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function Qd(e){return{group_by:e.groupBy,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function _y(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=C(process.cwd(),t.path),r=await F(n),i=P(r.schema),o=["estimate","estimated_minutes","priority",...q(r.schema).definitions.filter(_=>_.type==="number").map(_=>_.metadata_key)],s=No(e.groupBy),a=Lo(e.status,i),d=Oo(e,[...new Set(o)].sort((_,w)=>_.localeCompare(w))),c=e.completion===!0,l=e.includeUnparented===!0,u=await ne(void 0,{...Ao(e),status:e.status},t),f=new Map,h=0,y=0;for(let _ of u.items){let w=_,b=Yd(s,w);if(s.includes("parent")&&b.parent===null&&!l){h+=1;continue}let E=Uo(s,b),T=f.get(E),I=d===null?null:Bo(w,d.field);if(T)Vd({accumulator:T,item:w,statusRegistry:i,includeCompletion:c,numericAggregation:d,numericValue:I});else{let x=zd(b,I);c&&Tn(x,w.status,i),f.set(E,x)}y+=1}let g=[...f.values()].map(_=>Xd(_,s,c,d)).sort((_,w)=>Ko(_,w,s)),k=u.warnings&&u.warnings.length>0?u.warnings:void 0;return{groups:g,count:g.length,totals:{items_considered:u.items.length,items_grouped:y,items_skipped_unparented:h},filters:Qd({groupBy:s,includeCompletion:c,includeUnparented:l,status:a,options:e,numericAggregation:d}),now:A(),...k?{warnings:k}:{}}}var wy={buildGroupKey:Uo,compareAggregateRows:Ko,compareNullableGroupValue:jo,completionPct:Ho,normalizeTagGroupValue:$o,parseGroupBy:No,parseNumericAggregation:Oo,parseStatus:Lo,readNumericAggregateValue:Bo,resolveGroupValue:Po,updateCompletionCounts:Tn};import{encode as Jd}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 Fn=["agenda","day","week","month"],Rn=["markdown","toon","json"],Zd=["sun","mon","tue","wed","thu","fri","sat"],eu=365,tu=365,zo=28,nu=1e3;function An(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function ru(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 p("Calendar include filter must not be empty",m.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 p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Wo(e,t){let n;for(let r of t){let i=vr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function iu(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Fn.includes(t)){let n=Wo(t,Fn);throw new p(`Calendar view must be one of ${Fn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function ou(e){if(!e)return;let t=e.trim().toLowerCase();if(!Rn.includes(t)){let n=Wo(t,Rn);throw new p(`Calendar format must be one of ${Rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function xy(e,t){let n=ou(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function su(e,t){if(e===void 0)return;let n=M(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function au(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function At(e){return new Date(e).toISOString().slice(0,10)}function Vo(e,t){if(!t||t==="UTC")return At(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 At(e)}function On(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function re(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Yo(e){let t=new Date(On(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return re(t.toISOString(),r)}function cu(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function du(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function uu(e,t){return S(e,t)>=0?e:t}function Go(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function qo(e,t){e.set(t,(e.get(t)??0)+1)}function lu(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 Xo(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 Qo(e){return Zd[new Date(e).getUTCDay()]}function fu(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function mu(e){let t=new Set;for(let n of e??[]){let r=fu(n);r&&t.add(r)}return t}function pu(e,t,n,r,i){let o=e??re(n,-(r??tu)),s=t??re(e??n,i??eu);return{start:o,end:S(s,o)>0?s:re(o,1)}}function hu(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Qo(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??nu,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:mu(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 Mt(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Dt(e,t){let n=Qo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function gu(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Dt(e,t)&&Mt(e,t)==="stop");n+=1)t=re(t,e.interval);return e.occurrences}function yu(e,t,n){let r=we(n),i=re(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 _u(e){let t=Yo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=re(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=yu(e,r,i);if(Dt(e,o)&&Mt(e,o)==="stop")return e.occurrences}}return e.occurrences}function wu(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=Xo(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Dt(e,s))&&Mt(e,s)==="stop")return e.occurrences}}return e.occurrences}function bu(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=Xo(i,n,o,e.startDate);if(!(!s||!Dt(e,s))&&Mt(e,s)==="stop")return e.occurrences}}return e.occurrences}function ku(e,t,n,r){let i=hu(e,t,n,r);return t.freq==="daily"?gu(i):t.freq==="weekly"?_u(i):t.freq==="monthly"?wu(i):bu(i)}function Jo(e){return[...e].sort((t,n)=>{let r=S(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 Nn(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 vu(e){return e.deadline?{at:e.deadline,date:At(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,...Nn(e),item_deadline:e.deadline}:null}function Su(e){return(e.reminders??[]).map(t=>({at:t.at,date:At(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,...Nn(e)}))}function Eu(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function xu(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Cu(e,t,n,r){let i=lu(t.recurrence),o=Eu(t.start_at,t.end_at);return(t.recurrence?ku(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Vo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:xu(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,...Nn(e)}))}function Iu(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?vu(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Su(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Cu(o,a,t,r))}return Jo(i)}function Tu(e,t,n,r,i){let o=Pi(t.type,n),s=t.tag?.trim().toLowerCase(),a=wt(t.priority),d=su(t.status,r),c=t.assignee?.trim(),l=au(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>Fu(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function Fu(e,t){return Ru(e,t)&&Au(e,t)&&Ce(e,t.runtimeFieldFilters)}function Ru(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 Au(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 Mu(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function Mn(e,t,n){return e.trim().toLowerCase()==="today"?On(t):B(e,new Date(t),n)}function Du(e,t,n){let r=t.date?Mn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Mn(t.from,n,"--from"):void 0,a=t.to?Mn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return Lu(r,t,n,i,o,s,a);if(e==="day"){let c=On(r);return Dn(r,n,i,o,c,re(c,1))}if(e==="week"){let c=Yo(r);return Dn(r,n,i,o,c,re(c,7))}let d=cu(r);return Dn(r,n,i,o,d,du(r))}function Lu(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function Dn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:uu(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function Ou(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:Jo(r)}))}function Nu(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),qo(n,d.item_type),qo(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.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:Go(n),by_status:Go(r),recurring_events:a}}function $u(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Zo(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 Ln(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Pu(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Vo(e.event_end,e.event_timezone)?Zo(e.event_end,e.event_timezone):e.event_end:null}function ju(e){let t=`${Zo(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=Pu(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 Cy(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${$u(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: ${Ln(e.summary.by_kind)}`),t.push(`- by-type: ${Ln(e.summary.by_type)}`),t.push(`- by-status: ${Ln(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(`- ${ju(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 Uu(t.join(`
3
- `))}function Iy(e){return Jd(e)}function Uu(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function Ku(e){let t=A(),n=iu(e.view),r=Du(n,e,t),i=U(e.limit),o=ru(e.include),s=An(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=An(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=An(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?zo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Bu(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${zo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Hu(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 Gu(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 es(e,t){let n=C(process.cwd(),t.path);if(!await D($(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=Ku(e),i=await F(n),o=P(i.schema),s=q(i.schema),a=xe(e,s,"calendar"),d=L(i,R()),c=[];Bu(c,r.eventsOnlyCapApplied);let l=await ce(n,i.item_format,d.type_to_folder,c,i.schema),u=Tu(l,e,d,o,a),f=pu(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),y=Iu(u,f,r.includeSources,r.occurrenceLimit).filter(w=>Mu(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?y:y.slice(0,r.limit),k=Ou(g),_=[...new Set(c)].sort((w,b)=>w.localeCompare(b));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Gu(e,r.rangeBounds),filters:Hu(e,a),summary:Nu(g),events:g,days:k,..._.length>0?{warnings:_}:{}}}(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]="7eefe5f0-364d-559a-b365-0e7d539ee19e")}catch{}})();var $n=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],qu=Symbol("no-context-author"),zu=Symbol("no-item-assignee");function ts(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Wu(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 Vu(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 Yu(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 Lt(e,t,n){return e?.[t]??n}function Ot(e,t){let n=c=>{if(typeof c!="string")return"";try{return B(c,new Date(Number.NaN),"updated_at")}catch{return""}},r=[...e].sort((c,l)=>{let u=n(c.updated_at),f=n(l.updated_at);return S(f,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=ts(t.author,qu),a=M("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=ts(c.assignee,zu)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signals:{recency:e.length===1?1:1-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:Lt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:Lt(t.claimFocus,c.id,O(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Wu(c.priority,4),risk_pressure:Yu(c.risk),deadline_pressure:Vu(c.deadline,d),knowledge_density:Lt(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:Lt(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Xu="context_relevance",Qu={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},Ju=new TextEncoder;function Zu(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"||!$n.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 el(e){let t={...Qu};for(let[n,r]of Object.entries(e??{}))r!==void 0&&$n.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 rs(e,t={}){Zu(e);let n=el(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=$n.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of o){let y=c[h];if(y===void 0)continue;let g=y*n[h];l[h]=g,u+=g,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function tl(e,t={}){let n=rs(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 Nt(e,t,n={}){let r=rs(t,n),i=await Pr(Xu,{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 tl(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 nl=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function ns(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function rl(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(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:ns(e.required_ids??[],a),continuity_coverage:ns(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function il(e){return Math.ceil(Ju.encode(JSON.stringify(e)).byteLength/4)}function ol(e){return Math.round(e*1e4)/1e4}function sl(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 al(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:i}=sl(n,e.surface),o={...n,ranking:void 0},s=il(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:rl({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 cl(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=nl;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,ol(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 My(e,t,n){let r=[];for(let i of e)r.push(await al(i,t));return cl(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 dl={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},ul=["identity","summary","full"];function ll(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=ul.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 fl(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=dl[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 ml(e){let t=new Set;for(let n of e){if(ll(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 pl(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 d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function hl(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=pl(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function gl(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,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 is(e,t){let n=fl(t),r=ml(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=hl({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=gl(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import{randomUUID as yl}from"node:crypto";import{appendFile as _l,mkdir as wl,readFile as bl,rename as kl,stat as vl,writeFile as Sl}from"node:fs/promises";import os 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 ss=2048,as=30,cs=864e5,El=262144,xl="context-usage-ledger",Y=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function ds(e){return os.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 Y("Context usage now must be a valid timestamp");return{iso:new Date(n).toISOString(),ms:n}}async function us(e){try{let n=(await bl(ds(e.pmRoot),"utf8")).split(`
5
- `).filter(Boolean).flatMap(s=>{try{return[JSON.parse(s)]}catch{return[]}}),r=e.maxEvents??ss,i=e.retentionDays??as,o=We(e).ms-i*cs;return n.filter(s=>Date.parse(s.at)>=o).slice(-r)}catch{return[]}}async function ls(e,t){let n=e.maxEvents??ss,r=e.retentionDays??as;if(!Number.isInteger(n)||n<1||!Number.isFinite(r)||r<=0)throw new Y("Context usage retention requires positive maxEvents and retentionDays");let i=ds(e.pmRoot),o=os.dirname(i),s=await mt(e.pmRoot,xl,30,`context-usage:${process.pid}`,!1,!1,3e3);try{if(await wl(o,{recursive:!0}),await _l(i,t.map(l=>`${JSON.stringify(l)}
6
- `).join(""),"utf8"),!(e.maxEvents!==void 0||e.retentionDays!==void 0)&&(await vl(i)).size<=El)return;let d=await us(e),c=`${i}.${process.pid}.${yl()}.tmp`;await Sl(c,`${d.map(l=>JSON.stringify(l)).join(`
7
- `)}
8
- `,"utf8"),await kl(c,i)}finally{await s()}}async function fs(e,t){await ls(e,[t])}async function $t(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 Y("Context usage serving requires an author and valid ranked rows");await fs(e,{kind:"serve",at:We(e).iso,author:e.author.trim(),surface:e.surface,profile:e.profile.trim()||"balanced",rows:e.rows})}}async function jy(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||!e.itemId.trim()||!e.intent.trim())throw new Y("Context usage touch requires author, itemId, and intent");await fs(e,{kind:"touch",at:We(e).iso,author:e.author.trim(),item_id:e.itemId.trim(),intent:e.intent.trim()})}}async function ms(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 Y("Context usage touch requires author and intent");let r=new Set;for(let s of e.itemIds){if(typeof s!="string")throw new Y("Context usage touch requires string itemIds");let a=s.trim();if(!a)throw new Y("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 ls(e,o)}function Cl(e,t,n,r){return e.find(({entry:i,time:o})=>i.item_id===t&&o>=n&&o-n<=r)?.time}async function Pt(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return{affinity:{},positive_judgments:0,serving_events:0};let t=await us(e),n=We(e).ms,r=(e.horizonHours??24)*36e5;if(!Number.isFinite(r)||r<=0)throw new Y("Context usage horizonHours must be positive");let i=e.author.trim(),o=t.filter(u=>u.kind==="touch"&&u.author===i).map(u=>({entry:u,time:Date.parse(u.at)})),s=new Map,a=0,d=0;for(let u of t){if(u.kind!=="serve"||u.author!==i)continue;a+=1;let f=Date.parse(u.at);for(let h of u.rows){if(!h.included)continue;let y=Cl(o,h.id,f,r);if(y===void 0)continue;d+=1;let g=Math.max(0,(n-y)/cs);s.set(h.id,(s.get(h.id)??0)+Math.exp(-g/14))}}let c=Math.max(0,...s.values());return{affinity:Object.fromEntries([...s.entries()].map(([u,f])=>[u,.05+.95*(c>0?f/c:0)])),positive_judgments:d,serving_events:a}}import Ve from"node:fs/promises";import Ye from"node:path";import{createHash as Il,randomUUID as Tl}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 Pn=1,jn=1,ps=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Fl={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 hs(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Rl(e){let t={};for(let n of ps){let r=e[n];if(r!==void 0){if(!hs(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Al(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 Ml(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 Dl(e,t){return{...t,activityDensity:t.activityDensity??Al(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??Ml(e)}}function Ll(e){if(!jt(e)||typeof e.id!="string"||!jt(e.signals))return null;let t={},n=new Set(ps);for(let[r,i]of Object.entries(e.signals)){if(!n.has(r)||!hs(i))return null;t[r]=i}return{id:e.id,signals:t}}function Ol(e){if(!jt(e)||e.format_version!==Pn||e.signal_set_version!==jn||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(Ll);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:Pn,signal_set_version:jn,source_cursor:e.source_cursor,generated_at:e.generated_at,source:e.source,items:n.sort((r,i)=>r.id.localeCompare(i.id))}}function Nl(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=Ot(e,Dl(e,t)).map(({id:r,signals:i})=>({id:r,signals:Rl(i)})).sort((r,i)=>r.id.localeCompare(i.id));return Object.freeze({format_version:Pn,signal_set_version:jn,source_cursor:t.sourceCursor,generated_at:t.now,source:t.source,items:Object.freeze(n.map(r=>Object.freeze(r)))})}var Un=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)&&at(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)}.${Tl()}.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{}}}},Kn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){let r=[],i=null;try{let u=await this.adapter.read();i=Ol(u),u!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(u=>u.id).sort((u,f)=>u.localeCompare(f)),s=i?.items.map(u=>u.id)??[],a=i!==null&&i.source_cursor===n.sourceCursor&&i.source===n.source&&s.length===o.length&&s.every((u,f)=>u===o[f]),d;if(a&&i!==null)d=i;else{i!==null&&r.push("context_signal_store_stale"),d=Nl(t,n);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let c=new Map(d.items.map(u=>[u.id,u.signals])),l=Ot(t,n);return{snapshot:d,candidates:l.map(u=>({...u,signals:{...u.signals,...c.get(u.id)}})),cache_status:a?"fresh":"rebuilt",warnings:r,warning_details:r.map(u=>Fl[u])}}};function $l(e){let t=Il("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 Ut(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??$l(e),s=t.source??(i===null?"scan_fallback":"derived_index");return new Kn(new Un(Ye.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))).readOrRebuild(e,{...t,sourceCursor:o,source:s})}import Pl from"node:path";import{createHash as jl}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]="a19662f9-f8b3-5988-bc04-1b5a5edaaaa5")}catch{}})();function gs(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}}import Ul 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 ys=1,Kl=1e4,_s=12;function Bl(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Hl(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 Gl(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 ql(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(O(o.status,t.statusRegistry))).map(o=>{let s=gs(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,d=Bl(a.timestamp),c=`epoch:${d}`,l=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(o),i.set(c,l);let u=Hl(s,r);if(u){let f=`epic:${u.id}`,h=i.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(o),i.set(f,h)}}return{format_version:ys,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(Gl).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function zl(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 Wl(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(zl)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Vl(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ys||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(Wl)?t:null}function Yl(e){return`scan:${jl("sha256").update(Rr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Xl(e,t,n){return n!==void 0?n:(await Se(t))?.source_cursor??Yl(e)}async function Ql(e){try{let t=Vl(JSON.parse(await Ul.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&at(t))}}}async function Kt(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Kl));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Xl(e,t.pmRoot,t.sourceCursor),i=Pl.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Ql(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 d=ql(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Z(i,`${JSON.stringify(d)}
10
- `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function Jl(e,t,n=_s){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 ws(e,t,n=_s){if(e.snapshot===null)return;let r=Jl(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 Zl(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 bs(e,t,n=5){let r=Zl(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 ks=16;async function vs(e,t,n){let r=L(t,R()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<ks;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await z(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await W(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function c_(e){await Kr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await vs(e.pmRoot,e.settings,e.itemId)})}async function d_(e){await Br(e)}async function u_(e){await Hr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await vs(e.pmRoot,e.settings,e.itemId)}:{}})}var l_={lineage_depth:ks,active_items:64,evidence_rows:32};function Ss(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]="ee5279f2-7489-59fb-8f96-f2e035434cce")}catch{}})();var ef=["markdown","toon","json","ndjson"],Qe=new Set(["Epic","Feature"]),Fs=10,Rs=1e4,As=["hierarchy","activity","progress","recently_created","unparented","workload"],tf=[...As,"blockers","files","staleness","tests"],nf=/^(\d{4})-(\d{2})-(\d{2})/,rf=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,of=/^(\d{4})(\d{2})(\d{2})$/,sf=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function af(e){if(!e)return;let t=e.trim().toLowerCase();if(!ef.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var Es=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 cf(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Es.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...Es].join(", ")})`,m.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",m.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 R_(e,t){let n=af(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function df(e,t){return U(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Fs)}function Gn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",m.USAGE);return n}function uf(e,t){return t>=Rs&&e===Number.MAX_SAFE_INTEGER?Fs:e}function lf(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!nn.includes(n))throw new p(`Context --depth must be one of ${nn.join("|")}`,m.USAGE);return n}function ff(e,t,n){if(e&&e.length>0){let i=[];for(let o of e){let s=o.trim().toLowerCase();if(!ot.includes(s))throw new p(`Context --section must be one of ${ot.join("|")}`,m.USAGE);i.includes(s)||i.push(s)}return i}return t==="brief"?[]:t==="full"?[...ot]:(t==="deep"?tf:As).filter(i=>n.sections[i])}function mf(e,t){return e?U(e,"--activity-limit")??t.activity_limit:t.activity_limit}function pf(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",m.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",m.USAGE);return i}function xs(e,t){let n=O(e,t),r=M("in_progress",t),i=M("open",t),o=M("blocked",t),s=M("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 Je(e,t){let n=M("closed",t);return O(e,t)===n}function qn(e,t){let n=M("in_progress",t);return O(e,t)===n}function Ms(e,t){let n=M("open",t);return O(e,t)===n}function hf(e,t){return t.blocked_statuses.has(O(e,t))}var gf=["compact","brief","fields","includeBody","include_body","parent"];function yf(e){let t={...e};for(let n of gf)delete t[n];return t}function zn(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=Re(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 _f(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",m.USAGE);return t}function wf(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function bf(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:S(n,r)}function kf(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function vf(e){let t=nf.exec(e)??rf.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<=kf(n,r-1)}function Sf(e){let t=of.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=sf.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function Ds(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!vf(t))return Number.NaN;let n=Date.parse(Sf(t));return Number.isFinite(n)?n:Number.NaN}function Hn(e){let t=Ds(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Ef(e){let t=Ds(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Wn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function pe(e,t,n){let r=xs(e.status,n)-xs(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=wf(e.order,t.order);if(o!==0)return o;let s=bf(e.deadline,t.deadline);if(s!==0)return s;let a=S(Hn(t.updated_at),Hn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function Bn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Vn(e,t,n=new Set,r="context"){return is(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:Bn({id:i.id,title:i.item.title}),summary:Bn({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Bn(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Yn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Xn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ls(e,t){return t>0?Math.round(e/t*100):0}function Re(e){let t=new Map;for(let n of e){let r=Wn(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:Wn(e.parent)};if(t&&n){let i=Ze(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Je(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Ls(s,o)}}return r}function xf(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 Bt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Cf(e,t){return e.filter(n=>!t.terminal_statuses.has(O(n.item_status,t)))}function If(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=Re(e),s=new Set(t.filter(d=>Qe.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let l=Ze(d,o),u=o.get(d)??[],f=0,h=0,y=0,g=0;for(let _ of l)Je(_.status,n)?f++:qn(_.status,n)?y++:hf(_.status,n)?g++:Ms(_.status,n)&&h++;let k=u.sort((_,w)=>pe(_,w,n)).slice(0,r).map(_=>{let w=Ze(_.id,o),b=w.filter(E=>Je(E.status,n)).length;return{id:_.id,title:_.title,type:_.type,status:_.status,children_total:w.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:y,children_blocked:g,children:k})}return a.sort((d,c)=>{let l=i.get(d.id),u=i.get(c.id);return pe(l,u,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 Tf(e,t){return(await Hi({compact:!0,limit:String(e)},t)).compact_activity??[]}function Ff(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>Qe.has(d.type)),a=[];for(let d of s){let c=Ze(d.id,o),l=c.length;if(l===0)continue;let u=0,f=0,h=0,y=0;for(let g of c)Je(g.status,r)?u++:n.has(g.id.trim().toLowerCase())?y++:qn(g.status,r)?h++:Ms(g.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:y,completion_pct:Ls(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function Rf(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=fn(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function Af(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 Mf(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=>qn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function Df(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 Lf(e,t,n,r){return e.map(i=>({item:i,sortKey:Hn(i.created_at)})).sort((i,o)=>{let s=S(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 Of(e,t,n,r){return e.filter(i=>!Wn(i.parent)&&!Qe.has(i.type)).sort((i,o)=>pe(i,o,t)).slice(0,r).map(i=>et(i,t,n))}function Nf(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&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 Cs(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Os(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 $f(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Pf(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`${Cs(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Cs(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 Is(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 jf(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 Uf(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(`- ${Pf(n)}`);e.push("")}function Kf(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 Bf(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 Hf(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)}`:`- ${Ef(i.created_at)} ${Os(i)}`);e.push("")}}function Gf(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 qf(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 zf(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 Wf(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 Vf(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 Yf(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 Xf(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 Qf(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 A_(e){let t=[],n=e.focus_fields,r=o=>n?$f(o,n):Os(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(""),Is(t,"High-level focus",e.high_level,"No high-level active items.",r),Is(t,"Low-level focus",e.low_level,"No low-level active items.",r),jf(t,e,r),Uf(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 Kf(t,e),Bf(t,e),Hf(t,e,n,r),Gf(t,e,r),qf(t,e),zf(t,e),Wf(t,e),Vf(t,e),Yf(t,e),Xf(t,e),Qf(t,e),t.join(`
11
- `)}async function Jf(e,t){let n=C(process.cwd(),t.path),r=await F(n),i=r.context??Er.context,o=P(r.schema),s=lf(e.depth,i),a=df(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:ff(e.section,s,i),activityLimit:mf(e.activityLimit,i),staleThresholdDays:pf(e.staleThreshold,i),parentScope:_f(e.parent),focusFields:cf(e.fields),baseListOptions:yf(e)}}function Qn(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Zf(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function em(e,t){let n=Qn(t.sectionsIncluded),r=await ne(void 0,Zf(t.baseListOptions,{excludeTerminal:!1}),e),i=r.items,o=i.filter(d=>!H(d.status,t.statusRegistry)),s=n||t.parentScope!==void 0?i:o,a=tm(t.parentScope,i);return a&&(o=o.filter(d=>a.has(d.id.trim().toLowerCase())),s=s.filter(d=>a.has(d.id.trim().toLowerCase()))),{listed:r,listedItemMetadata:o,allItems:s,fullCorpus:i,subtreeIds:a}}function tm(e,t){if(e===void 0)return;let n=zn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}async function nm(e,t,n,r,i,o,s,a,d,c,l,u,f,h,y){let g=[...e].sort((v,_e)=>pe(v,_e,i)),k=await Pt({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),_=await Ut(g,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:k.affinity,claimFocus:y}),w=await Nt("context",_.candidates),b=w.ranked.map(v=>v.item),E=i.active_statuses,T=b.filter(v=>E.has(O(v.status,i))),I=u?ut(T,c,l,v=>v.id):0,x=u?T.slice(I,I+s):T,de=u&&x.length>0&&I+x.length<T.length,ge=de&&x.length>0?Le(l,x[x.length-1].id,I+x.length-1):void 0,oe=b.filter(v=>r.has(v.id.trim().toLowerCase())),K=new Set([...x.map(v=>v.id),...oe.slice(0,s).map(v=>v.id)]),se=Vn({...w,ranked:w.ranked.filter(v=>K.has(v.id))},h,new Set(Object.entries(y??{}).filter(([,v])=>v>=1).map(([v])=>v))),ye=se.included.map(v=>v.item),ue=ye.filter(v=>E.has(O(v.status,i))),it=ye.filter(v=>r.has(v.id.trim().toLowerCase())),Zt=Re(t),Q=Qn(o)?Zt:void 0,J=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),en=v=>{let _e=et(v,i,Q);return r.has(v.id.trim().toLowerCase())&&(_e.blocked=!0,_e.blocker_ids=fn(v,J,i).filter(tn=>!tn.resolved).map(tn=>tn.id)),_e},Wa=ue.filter(v=>Qe.has(v.type)).slice(0,u?x.length:s).map(en),Va=ue.filter(v=>!Qe.has(v.type)).slice(0,u?x.length:s).map(en),kr=T.length===0;return{activeItems:ue,blockedItems:it,highLevel:Wa,lowLevel:Va,blockedFallback:kr?it.slice(0,s).map(en):[],blockedFallbackUsed:kr,ranking:w,packing:se,featureStore:_,pageExtras:{...u?{applied_limit:s}:{},...de?{has_more:!0,truncated:!0}:{},...ge?{next_cursor:ge}:{}}}}function rm(e){return ke("context",be(e,Dr))}function im(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Rs}async function om(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await es(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Cf(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:o,agendaEvents:d,agendaSummary:xf(a)}}function Ts(e,t,n){let r=String(t);return e.filter(i=>O(i.status,n)===r).length}async function sm(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=Re(n),c=n.filter(u=>!H(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?If(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Tf(t.activityLimit,a):void 0,progress:l("progress")?Ff(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Rf(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?Lf(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?Of(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?Af(o.activeItems,t.limit):void 0,workload:l("workload")?Mf(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Df(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Nf(o.activeItems):void 0}}function am(e,t,n){if(!e)return{};let r=M("canceled",n);return{total_items:t.length,closed:t.filter(i=>Je(i.status,n)).length,canceled:t.filter(i=>O(i.status,n)===r).length}}function cm(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 dm(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 um(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 lm(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 fm(e,t,n,r){try{let i=new Set(t.packing.included.map(o=>o.id));await $t({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=Bt(e.warnings,["context_usage_feedback_write_failed"])}}async function mm(e,t,n){if(e)return{};let i=(await Ar({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 pm(e,t){let n=Gr(),r=await jr(e),i=n.instance||Ur(t);return Ss(r.semantic_attribution?.[i])}async function M_(e,t){let n=C(process.cwd(),t.path),r=await Jf(e,t),i=await em(t,r),o=uf(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Gn(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await pm(n,a),c=mm(e.noExtensionHealth===!0,n,s.settings),l=_t(i.fullCorpus,s.statusRegistry),u=await nm(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,A(),a,e.after,rm(e),im(e,i.fullCorpus.length),n,s.tokenBudget,d),f=await om(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),h=await Kt(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),y=Bt(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),g=Ts(u.activeItems,M("in_progress",s.statusRegistry),s.statusRegistry),k=Ts(u.activeItems,M("open",s.statusRegistry),s.statusRegistry),_=await sm({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),w=am(Qn(s.sectionsIncluded),i.allItems,s.statusRegistry),b={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:u.activeItems.length,in_progress:g,open:k,blocked:u.blockedItems.length,blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...w},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return b.workspace_memory=ws(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),cm(b,_,u.featureStore.warning_details),um(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Xn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),b.packing=Yn(u.packing)),dm(b,s.focusFields),y.length>0&&(b.warnings=y),lm(b,u.activeItems,u.blockedItems),await fm(b,u,n,a),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]="3431d4d4-e053-5416-b3d1-6dbfbed0142d")}catch{}})();var hm=["markdown","toon","json"],gm=5,ym=1440*60*1e3;function _m(e){if(!e)return;let t=e.trim().toLowerCase();if(!hm.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function H_(e,t){let n=_m(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"toon"}function Ns(e,t,n){let r=U(e,t);return r===void 0||r<=0?n:r}function Jn(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 wm(e,t,n,r){let i=e.item,o=[],s=M("in_progress",t);return o.push(O(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(km(i.deadline,n)),o.push(Ci(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 Ps(e,t,n){let r=ee(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 G_={partitionCallerOwnedReady:Ps,resolveNextCallerAuthor:(e,t)=>js(e,t)};function bm(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 km(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))/ym);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function vm(e,t){let n=M("in_progress",t);return e.filter(r=>O(r.status,t)===n).length}function Zn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Sm(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 $s(e,t,n){return[...e].sort((r,i)=>{let o=Zn(r.item,t),s=Zn(i.item,t);return o!==s?Number(o)-Number(s):pe(r.item,i.item,n)})}function Em(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:wm(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function xm(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 Cm(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 Im(e){try{let t=new Set(e.packing.included.map(n=>n.id));await $t({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=Bt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Tm(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=Xn(e.readyRanking,e.featureStore),e.result.packing=Yn(e.packing)),e.result.suggestions=xm(e.recommended,e.blockedRows),await Im({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Fm(e,t,n){if(!n)return e;let r=zn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function Rm(e,t,n,r,i,o,s){let a=e.filter(g=>!Zn(g.item,t)),d=a.length>0?a:e,c=await Pt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await Ut(d.map(g=>g.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:c.affinity}),u=await Nt("next",l.candidates),f=Vn(u,s,new Set,"next"),h=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>h.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0,packing:f,featureStore:l}}function js(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function q_(e,t){let n=C(process.cwd(),t.path),r=await F(n),i=js(e,r.author_default),o=P(r.schema),s=A(),a=Ns(e.limit,"--limit",gm),d=Gn(e.tokenBudget,Math.max(192,a*128)),c=Ns(e.blockedLimit,"--blocked-limit",a),l=e.readyOnly===!0,u=typeof e.parent=="string"?e.parent.trim():"",f=await ne(void 0,Sm(e,{excludeTerminal:!0}),t),h=await ne(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=Fm(f.items,h.items,u),g=h.items,k=Ii(y,g,o),_=Re(g),w=bm(k.ready,e.includeDecisions===!0),b=Ps(w.agent,r.author_default,i),E=$s(b.available,_,o),T=[...k.blocked].sort((Q,J)=>pe(Q.item,J.item,o)),{projectedReady:I,ranking:x,completedContainer:de,packing:ge,featureStore:oe}=await Rm(E,_,o,s,i,n,d),K=I.map((Q,J)=>Jn(Q,o,_,J+1)),se=T.map((Q,J)=>Jn(Q,o,_,J+1)),ye=$s(w.decisions,_,o).map((Q,J)=>Jn(Q,o,_,J+1)),ue=Em({projectedReady:I,readyRows:K,statusRegistry:o,now:s,completedContainer:de}),it=Cm(ye.length,b.held.length,a),Zt={output_default:"toon",now:s,recommended:ue,ready:K.slice(1,a+1),decision_needed:ye.slice(0,a),blocked:l?[]:se.slice(0,c),held_by_others:b.held.slice(0,a),summary:{recommended:ue!==null,ready:K.length,blocked:se.length,in_progress:vm(K,o),candidates:k.active_count,containers:k.container_count,decision_needed:ye.length,held_by_others:b.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:u.length>0?u:null,limit:a,blocked_limit:c,ready_only:l,include_decisions:e.includeDecisions===!0,token_budget:d},truncation:it};return Tm({result:Zt,recommended:ue,blockedRows:se,candidatesWarnings:f.warnings,corpusWarnings:h.warnings,readyRanking:x,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packing:ge,featureStore:oe})}function z_(e){let t=["# pm next","",...Am(e)];if(t.push(...Ht("Recommended",Mm(e.recommended),"No ready work.")),t.push(...Ht("Decision needed",(e.decision_needed??[]).map(n=>`- ${Gt(n)}`),"No human-gated decisions.")),t.push(...Ht("Ready",e.ready.map(n=>`- ${Gt(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Ht("Blocked",e.blocked.map(n=>`- ${Dm(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 Am(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 Mm(e){return e?[`- ${Gt(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Ht(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function Dm(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Gt(e)} blocked_by:${t}`}function Gt(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}`}(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]="f18d7526-01eb-593b-bf50-788c08a35e5d")}catch{}})();function Lm(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Om(e,t){return e.map((n,r)=>{let i=new Set,o=Jr(n.patch);for(let s of o)i.add(an(s.path)),s.from&&i.add(an(s.from));return{index:t+r+1,ts:n.ts,op:n.op,author:n.author,patch_ops:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}async function Nm(e,t){let n=C(process.cwd(),t.path);if(!await D($(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await F(n),i=L(r,R()),o=e.trim()===pt,s=o?pt:ht(e,r.id_prefix),a=await z(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?ti(n):le(n,d);if(!a&&!await D(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await ii({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function Z_(e,t,n){let r=fe(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await Nm(e,n),d=await G(i,s),c=a.agent_identity.identity_vocabulary,l=bt(a.agent_identity.harness_signals),u=vt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},c,l),f=d.map((I,x)=>({entry:I,version:x+1})).filter(({entry:I})=>u(I)),h=Lm(f,r),y=h.map(({entry:I})=>I),g=t.compact===!0,k=g?Om(y,Math.max(0,d.length-y.length)):void 0,_=t.provenance===!0?h.map(({entry:I,version:x})=>kt(I,c,{itemId:s,version:x})):void 0,w=t.provenance===!0?"provenance":g?"compact":"full",b={compact:{compact_history:k},provenance:{provenance_history:_},full:{history:y}}[w],T={id:s,...b,compact:g,projection:{mode:w,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[w]},omission_receipt:lt("history",w),count:y.length,limit:r??null,...t.provenanceSummary===!0?{provenance_summary:St(f.map(({entry:I})=>I),c,l)}:{}};if((t.diff||t.field!==void 0)&&(T.diff=gi(d,{windowStartIndex:Math.max(0,d.length-y.length),field:t.field})),t.verify){let I=o?(await W(o,{schema:a.schema})).document:void 0;if(T.verification=Ni(d,I),s===pt&&T.verification.ok){let x=await ni(C(process.cwd(),n.path));T.verification={...T.verification,ok:x.ok,errors:x.ok?T.verification.errors:[...T.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:x.ok,workspace_state_mismatches:x.mismatched_documents,workspace_state_missing:x.missing_documents,workspace_state_unreadable:x.unreadable_documents}}}return 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]="2e14b978-95c9-5922-b8cb-c49d24e6f8c4")}catch{}})();var Us=1e6,Ks=20;function Bs(e,t,n,r=Ks){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0,d=0;for(let f of t){if(d+=1,d>Us)throw new p(`Child projection exceeded the ${Us.toLocaleString("en-US")} item safety bound.`,m.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});if(f.parent?.trim().toLowerCase()!==i)continue;s.push(f);let h=f.status.trim().toLowerCase();o[h]=(o[h]??0)+1,H(h,n)||(a+=1)}s.sort((f,h)=>f.id.localeCompare(h.id));let c=s.slice(0,r).map(f=>({id:f.id,title:f.title,type:f.type,status:f.status,priority:f.priority})),l=s.length>c.length,u=r===0?Ks:r;return{count:s.length,active:a,by_status:Object.fromEntries(Object.entries(o).sort(([f],[h])=>f.localeCompare(h))),sample:c,sample_limit:r,truncated:l,next_offset:l?c.length:null,continuation:l?`pm list --status all --parent ${e} --offset ${c.length} --limit ${u}`:null,scanned:d}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="80981c24-3442-57a2-8c35-e0e00d5425d6")}catch{}})();var $m=new Set(["event","meeting","reminder"]);function Pm(e){return $m.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function er(e){if(!Pm(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events: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]="c35e787c-a9a1-5ffa-9dcf-62780fceed4c")}catch{}})();var jm=["brief","standard","deep"],Um=new Set(["epic","feature","milestone","plan"]),Km=new Set(Object.keys(Sr).map(e=>e.toLowerCase()));function nr(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function Bm(e,t){let n=nr(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,i])=>i>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...er(e)?["schedule"]:[]]}function Gs(e){let t=e.trim().toLowerCase();return t.length>0&&(Um.has(t)||!Km.has(t))}function Hs(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Hm(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?Hs(i):null,last_release:o?Hs(o):null}}function Gm(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(jm.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function qm(e,t){let n=nr(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:i,learnings:o,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function zm(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function zt(e){return e.startsWith("item.")?e.slice(5):e}function Wm(e,t){if(e===null)return;let n=new Set([...st,...t,"notes_count","tests_count","collection_counts"]),r=new Set(["body","linked","claim_state","children","schedule"]),i=new Set(["linked.files","linked.tests","linked.docs"]),o=new Set(["claim_state.claimed","claim_state.assignee","claim_state.last_claim","claim_state.last_release"]),s=new Set(["schedule.deadline","schedule.start_at","schedule.end_at","schedule.location","schedule.reminders","schedule.events"]),a=e.filter(d=>{let c=zt(d);return!n.has(c)&&!r.has(c)&&!i.has(c)&&!o.has(c)&&!s.has(c)});if(a.length>0)throw new p(`Unknown get --fields value(s): ${a.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"]})}var Vm=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Ym(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Vm.has(n)?[]:void 0}function Xm(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:nr(e)},i={id:e.id};for(let o of t){let s=zt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(i[s]=Ym(n,r,s))}return i}function tt(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function qt(e,t){return e.some(n=>{let r=zt(n);return r===t||r.startsWith(`${t}.`)})}function Qm(e){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",m.USAGE);if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",m.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",m.USAGE);return{depth:e.full?"deep":Gm(e.depth),treeDepth:e.tree===!0?U(e.treeDepth,"--tree-depth"):void 0,fields:zm(e.fields),fieldProjection:e.fields!==void 0}}async function Jm(e,t,n){let r=C(process.cwd(),t.path);if(!await D($(r)))throw new p(`Tracker is not initialized at ${r}. Run pm init first.`,m.NOT_FOUND);let i=await F(r),o=L(i,R());if(n!==void 0){let d=await $i(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await z(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await mi(r,e,i.id_prefix,o.type_to_folder);let a=await W(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Zm(e,t,n){let r=q(t.schema).definitions.map(i=>i.metadata_key);if(Wm(e,r),n&&qt(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function tr(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?tt(r,i):qt(r,i):n!=="brief"}async function ep(e,t){if(!t)return;let n=le(e.pmRoot,e.locatedId),r=await G(n,e.locatedId);return Hm(e.metadata.assignee,e.historical?r.slice(0,e.historical.as_of_version):r)}function tp(e,t,n,r){let i=r||tt(n,"linked.files"),o=r||tt(n,"linked.tests"),s=r||tt(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function np(e,t,n,r){if(!t)return;let i=P(e.settings.schema),o=await ce(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema),s=Bs(e.locatedId,o,i,r?void 0:0);return s.count>0||n?s:void 0}function rp(e,t,n,r){if(!r)return;let i=er(t.metadata);if(i){if(n===null||tt(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>zt(s)===`schedule.${o}`)))}}async function ip(e,t,n,r){if(t.tree!==!0)return;let i=await ne(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:i.count,items:i.items.map(o=>o)}}async function gw(e,t,n={}){let r=Qm(n),i=await Jm(e,t,n.at);Zm(r.fields,i.settings,i.historical!==void 0);let o=tr({...r,field:"body"}),s=tr({...r,field:"linked"}),a=tr({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?qt(r.fields,"children"):r.depth!=="brief"&&Gs(i.metadata.type)),c=r.fieldProjection?qt(r.fields,"schedule"):r.depth!=="brief",l=await ep(i,a),u={item:r.fieldProjection?Xm(i.metadata,r.fields):qm(i.metadata,r.depth)};o&&(u.item.body=i.body),tp(u,i,r.fields,s),l&&(u.claim_state=l),rp(u,i,r.fields,c);let f=await np(i,d,r.fieldProjection,r.fieldProjection||r.depth==="deep");f!==void 0&&(u.children=f);let h=await ip(i,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await ms({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return Nr(u,Bm(i.metadata,i.body)),u}var yw={shouldAutoIncludeGetChildren:Gs};(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]="b0abcc02-bd6e-536a-b876-e13cfc8ea741")}catch{}})();function qs(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var op=[{optionKey:"status",summaryKey:"status",normalize:e=>qs(e)?"all":e},{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:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function nt(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return En(l,r,op),Object.assign(l,ze(r)),Object.assign(l,qe(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function rt(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||qs(r.status)?"all":r.status,type:f(r.type),tag:f(r.tag),priority:f(r.priority),deadline_before:f(r.deadlineBefore),deadline_after:f(r.deadlineAfter),updated_after:f(r.updatedAfter),updated_before:f(r.updatedBefore),created_after:f(r.createdAfter),created_before:f(r.createdBefore),assignee:f(r.assignee),sprint:f(r.sprint),release:f(r.release),parent:f(r.parent),...ze(r),...qe(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:f(r.limit),runtime_filters:u}}(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]="0fc9ed92-daf5-5fa2-b9a4-ee6c36256ed1")}catch{}})();function sp(e){return ke("search",{query:e.query.trim(),mode:e.mode,options:be(e.searchOptions,Lr)})}function zs(e){let t=Or(e.sorted,{cursor:e.searchOptions.after,fingerprint:sp(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(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]="47576eb5-4ddf-5e04-9e1d-c961da39b754")}catch{}})();var ap=["id","title","status","type","priority","updated_at","score","matched_fields"],cp=new Set(["score","matched_fields","highlights"]),dp=new Set(["id","title","description","type","status","priority","tags","created_at","updated_at","deadline","assignee","author","estimated_minutes","acceptance_criteria","dependencies","comments","notes","learnings","reminders","events","files","tests","docs","close_reason","parent","reviewer","risk","confidence","sprint","release","blocked_by","blocked_reason","reporter","severity","environment","repro_steps","resolution","expected_result","actual_result","affected_version","fixed_version","component","regression","customer_impact","definition_of_ready","order","rank","goal","objective","value","impact","outcome","why_now","plan"]);function Ws(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",m.USAGE);return t}function Wt(e){return e===!0}function Vs(e){return Fr(e,0,1)??void 0}function Ys(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",m.USAGE);return t}function Xs(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",m.USAGE);return t}function Ae(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return B(n,new Date,t)}function ie(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function rr(e,t){if(e!==void 0)return B(e,new Date,t)}function up(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 p("Search --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function ir(e){let t=e.compact===!0,n=e.full===!0,r=up(e.fields);if(Number(t)+Number(n)+ +(r!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE);return t?{mode:"compact",fields:[...ap]}:n?{mode:"full",fields:[]}:r?{mode:"fields",fields:r}:{mode:"full",fields:[]}}function or(e,t){if(e.mode!=="fields")return;let n=new Set(t.definitions.flatMap(i=>[i.key,i.metadata_key])),r=e.fields.filter(i=>{let o=i.trim(),s=o.startsWith("item.")?o.slice(5):o;return!cp.has(o)&&!dp.has(s)&&!n.has(s)});if(r.length>0)throw new p(`Unknown search --fields value(s): ${r.join(", ")}`,m.USAGE,{examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."]})}function sr(e){let t=ie(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function ar(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}function cr(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function dr(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function ur(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import Yt from"node:fs/promises";import gr 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]="42fde1a1-ee4b-5564-93b2-78d5a0fc7555")}catch{}})();var lr=4,lp=20,fp=200,mp=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function fr(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function pp(e){let t=e.toLowerCase();return t.length>4&&t.endsWith("ies")?`${t.slice(0,-3)}y`:t.length>4&&(t.endsWith("ches")||t.endsWith("shes")||t.endsWith("xes")||t.endsWith("zes")||t.endsWith("sses"))?t.slice(0,-2):t.length>3&&t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("as")?t.slice(0,-1):t}function hp(e){let t=e.toLowerCase();return t.length>2&&(!t.endsWith("s")||t.endsWith("ss"))?t.endsWith("y")&&!/[aeiou]y$/u.test(t)?`${t.slice(0,-1)}ies`:t.endsWith("ch")||t.endsWith("sh")||t.endsWith("x")||t.endsWith("z")||t.endsWith("ss")?`${t}es`:`${t}s`:t}function Qs(e,t=lr){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=Ie(n);if(r.length===0)return[n];let i=r.filter(a=>!mp.has(a.toLowerCase())),o=r.map(a=>pp(a)),s=i.map(a=>hp(a));return fr([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function Js(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?fr(t.filter(n=>typeof n=="string"),lr):[]}function Zs(e,t,n){return fr([...e,...t],Math.max(1,n))}function ea(e,t){let r=e.search?.query_expansion,i=De(r?.provider);return{enabled:r?.enabled===!0,provider:i??t,max_queries:lr}}function ta(e,t){let r=e.search?.rerank,i=De(r?.model),s=Tr(r?.top_k)??lp;return{enabled:r?.enabled===!0,model:i??t,top_k:Math.min(fp,s)}}function na(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=De(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function gp(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function ra(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function yp(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=gp(e,t),i=ra(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function ia(e,t,n,r,i){if(r.length===0)return new Map;let o=De(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(f=>f.text)],d=await yt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=ra(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],y=d[f+1];if(!y)continue;let g=yp(c,y,l);u.set(h.id,Math.max(0,Math.min(1,(g+1)/2)))}return u}(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]="3fd6ed70-6633-5886-90a6-3d4cc16b3ef0")}catch{}})();var _p=1.2,wp=.75;function mr(e){return Ie(e)}function bp(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function sa(e){let t=[],n=new Map,r=0;for(let o of e){let s=mr(o.text),a=bp(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function kp(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function aa(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,kp(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function oa(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function ca(e){let t=n=>typeof n=="string"?[n]:typeof n=="number"?[String(n)]:Array.isArray(n)?n.flatMap(t):typeof n=="object"&&n!==null?Object.values(n).flatMap(t):[];return t(Object.values(e)).join(" ")}function da(e){let t=e?.search?.bm25;return{k1:oa(t?.k1,_p,0,1e3),b:oa(t?.b,wp,0,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]="1750b332-dd40-5497-b410-26c8c7436329")}catch{}})();var vp=2,Sp=120,Ep=6,xp=40,Cp=1e3,Ip=900,Tp="\xAB",Fp="\xBB",ua=60,ma=["tag","status","type","priority"];function pa(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function ha(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=pa(e),r=`${t} ${n}`;return r.includes("timed out")||r.includes("timeout")||r.includes("etimedout")?"timeout":r.includes("econnrefused")||r.includes("connection refused")||r.includes("connect ")||r.includes("enotfound")||r.includes("eai_again")||r.includes("econnreset")||r.includes("fetch failed")?"connection":"error"}function ga(e,t){let n=ha(t);return`search_${e}_fallback:${n}:using_keyword_mode`}async function ya(e,t,n){try{let r=await Si(e);r.warnings.length>0&&n.push(...r.warnings);let i=xi(t.map(o=>({id:o.metadata.id,updated_at:o.metadata.updated_at})),r.entries);if(i.length===0)return;n.push(`vector_index_stale:${i.length}`),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 they will be missing from semantic/hybrid results until you run 'pm reindex --mode hybrid'. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
13
- `)}catch{}}var kb={applyFilters:Sa,applyExactQueryFilters:va,applyInlineQueryFilters:wa,buildHitHighlights:Ra,buildVerboseSearchFilters:rt,buildExplicitSemanticFallbackWarning:ga,buildCompactSearchFilterSummary:nt,buildHybridLexicalScore:Da,buildRerankCorpus:Ba,buildSemanticHits:Pa,classifyImplicitSemanticFallbackReason:ha,collectErrorCauseCodes:pa,collectExactPhraseFields:ba,collectLinkedPaths:Ea,combineHybridHits:br,computeBuiltInBm25Hits:Ua,computeSemanticOrHybridHits:Ha,resolveBuiltInBm25Mode:ja,countOccurrences:_r,dependencyEntries:yr,documentContainsExactPhrase:ka,emptySearchResult:La,highlightFieldSnippet:Fa,loadDocuments:Ga,markTokenRuns:Ta,parseInlineQueryFilters:_a,maybeEmitVectorIndexStaleWarning:ya,loadLinkedCorpus:Ca,mergeVectorHitsById:Ka,normalizeExtensionProviderHits:$a,normalizeScoreMap:pr,parseProjectionConfig:ir,parseTimestampWindow:Ae,parseTokens:sr,projectSearchHits:za,readSearchFieldValue:qa,requireSemanticDependencies:wr,resolveExtensionSearchProvider:Oa,resolveExtensionSearchProviderByName:Jt,resolveExtensionVectorAdapter:Na,resolveLinkedCorpusRoots:xa,scoreDocument:Aa,sortHits:Ma,stringArray:Qt,textEntries:he,validateSearchProjectionFields:or};function _a(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=ma.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function wa(e,t,n){let r={...e};for(let i of ma){let o=t[i];if(o!==void 0){if(N(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Qt(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function he(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function yr(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ba(e){let t=e.metadata;return[t.title,t.description,t.status,Qt(t.tags).join(" "),e.body,he(t.comments).map(n=>n.text).join(" "),he(t.notes).map(n=>n.text).join(" "),he(t.learnings).map(n=>n.text).join(" "),cn(t).join(" "),dn(t).join(" "),yr(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),un(t)]}function ka(e,t){return ba(e).some(n=>ie(n).includes(t))}function va(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&ie(r.metadata.title)!==t||n.phraseExact&&!ka(r,t)))}function Rp(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function Ap(e,t,n){let r=V(e.assignee,{label:"--assignee"});Rp(r);let i=Rt(e),o=Ge(e);return{typeFilter:Et(e.type,t),tagFilter:V(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:xt(e.priority),deadlineBefore:rr(e.deadlineBefore,"deadline-before"),deadlineAfter:rr(e.deadlineAfter,"deadline-after"),updatedAfter:Ae(e.updatedAfter,"updated-after"),updatedBefore:Ae(e.updatedBefore,"updated-before"),createdAfter:Ae(e.createdAfter,"created-after"),createdBefore:Ae(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:V(e.sprint,{label:"--sprint"}),releaseFilter:V(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:Ke(i),contentFieldFilters:o,contentFiltersActive:Tt(o)}}function Mp(e,t){return Dp(e,t)&&Lp(e,t)&&Op(e,t)}function Dp(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let n=t.tagFilter;return!(n&&!Qt(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function Lp(e,t){return ft(e,t)}function Op(e,t){return!(t.assigneeFilter!==void 0&&(e.assignee===void 0||!t.assigneeFilter.has(e.assignee))||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))||t.releaseFilter!==void 0&&(e.release===void 0||!t.releaseFilter.has(e.release))||t.parentFilter!==void 0&&e.parent!==t.parentFilter)}function Np(e,t,n,r){let i=e.metadata;return!(!Mp(i,t)||!Ce(i,n)||t.missingMetadataActive&&!It(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Ft(i,t.contentFieldFilters))}function Sa(e,t,n,r,i,o){let s=Ap(t,n,i);return e.filter(a=>Np(a,s,r,o))}function _r(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}function $p(e){return Ie(e)}function Ea(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function la(e){let t=gr.resolve(e);try{let n=await Yt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function xa(e,t){let[n,r]=await Promise.all([la(e),la(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function Ca(e,t){let n=Ea(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=gr.resolve(o.resolved,i.path);if(!rn(o.resolved,s))continue;let a;try{a=await Yt.realpath(s)}catch{continue}if(rn(o.realpath,a))try{await Oe({path:s,scope:i.scope}),r.push(await Yt.readFile(s,"utf8"))}catch{}}return r.join(`
14
- `)}var Ia=[{name:"title",weightKey:"title_weight",value:e=>e.metadata.title},{name:"description",weightKey:"description_weight",value:e=>e.metadata.description},{name:"tags",weightKey:"tags_weight",value:e=>Qt(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>he(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>he(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>he(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>cn(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>dn(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>yr(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>un(e.metadata)}],Pp=new Map(Ia.map(e=>[e.name,e]));function jp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ta(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(jp);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${Tp}${i}${Fp}`)}function Fa(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-ua),s=Math.min(e.length,r+i+ua),a=Ta(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Ra(e,t,n){let r=[];for(let i of t){let o=Pp.get(i);if(o===void 0)continue;let s=Fa(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Up(e,t,n){return[...Ia.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Kp(e,t,n){let r=ie(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=ie(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Cp:Ip,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Bp(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=_r(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Hp(e,t,n,r){ie(e.title)===t&&(r.score+=Sp,r.matched.add("title"));for(let o of n){let s=_r(ie(o.value),t);s>0&&(r.score+=s*o.weight*Ep,r.matched.add(o.name))}}function Aa(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Kp(a,n,o);if(d)return d;let c=new Map;for(let g of $p(a.title))c.set(g,(c.get(g)??0)+1);let l=Up(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Bp(t,c,l,i,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=xp),t.length>=vp&&n.includes(" ")&&Hp(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,k)=>g.localeCompare(k)),matched_all_terms:h}}function Ma(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=H(n.item.status,t),s=H(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function Da(e,t,n,r,i,o,s,a=!1){return Aa(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function pr(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(o=>[o,1]));let i=new Map;for(let[o,s]of e)i.set(o,(s-n)/(r-n));return i}function La(e,t,n,r,i,o,s,a,d,c,l,u,f=!1){let h=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let k=nt({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,items:[],count:0,...h,filters:k,...l.length>0?{warnings:l}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,items:[],count:0,...h,filters:rt({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:A(),...l.length>0?{warnings:l}:{}}}function wr(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,m.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var X=N;function Jt(e){let t=R(),n=pi(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=X(r.name)??X(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function Oa(e){let t=X(e.search?.provider),n=Jt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Na(e){let t=R(),n=X(e.vector_store?.adapter),r=hi(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:X(i.name)??X(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function $a(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,m.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=X(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function Pa(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Xt(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),i=e.filter(c=>!r.has(c.item.id)),o=i.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=o+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...i]}function br(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=pr(t),d=pr(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,y=d.get(u)??0,g=h*r+y*l;if(g<=0)return null;let k=new Set;t.has(u)&&k.add(i);for(let _ of s.get(u)??[])k.add(_);return{item:f.metadata,score:g,matched_fields:[...k].sort((_,w)=>_.localeCompare(w))}}).filter(u=>u!==null)}function ja(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Ua(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:ca(ki(s,{fields:e.corpusFields}))})),n=sa(t),r=aa(n,mr(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return Xt(s,e.keywordHits)}let o=br(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Xt(o,e.keywordHits)}function Ka(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function Ba(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
15
- `)}async function Gp(e,t){let n=e.queryExpansion.enabled?Qs(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Zs(r,Js(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function qp(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await ln(e.vectorStore,t,n,r)}if(e.vectorStore)return await ln(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function zp(e,t,n){return[...e].sort((i,o)=>i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)).slice(0,n).map(i=>{let o=t.get(i.item.id);return o?{hit:i,text:Ba(o)}:null}).filter(i=>i!==null)}async function Wp(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=na(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function Vp(e,t,n){let r=await Wp(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await ia(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Yp(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function Xp(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=zp(n,r,e.rerank.top_k),o=await Vp(e,t,i);return o&&o.size>0?Yp(n,o):n}async function Ha(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await Gp(e,i),s=await yt(e.provider,o,n),a=await Promise.all(s.map(async y=>await qp(e,y,t,r))),d=Ka(a),c=new Map(e.filteredDocuments.map(y=>[y.metadata.id,y])),{semanticHits:l,semanticScores:u}=Pa(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Xt(l,e.keywordHits),vectorMatchCount:f};let h=await Xp(e,i,br(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Xt(h,e.keywordHits),vectorMatchCount:f}}async function Ga(e,t,n,r){let i=xr(R()),o=async(c,l,u)=>{let f=async(h,y)=>{await Oe({path:h,scope:"project"});let g=await Yt.readFile(h,"utf8");return qr(g,{format:y,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",y=Me(e,c.type,c.id,h,n);try{return await f(y,h)}catch{return s.push(`item_list_item_read_failed:${gr.relative(e,y)}`),""}}},s=[],a=await li(e,t,n,s,r),d=[];if(a.length===0){let c=await gt(e,t,n,s,r);for(let l of c){let u=Me(e,l.type,l.id,t,n),f=await o(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}function qa(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function za(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=qa(n,i);return r})}function Qp(e){let t=Jt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Jp(e){let t=Jt(X(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function Zp(e,t){let n=[],r=_a(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=wa(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Wt(s.includeLinked),titleExact:Wt(s.titleExact),phraseExact:Wt(s.phraseExact),matchMode:Ys(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Xs(s.minScore),countOnly:s.count===!0,tokens:sr(o),normalizedQuery:ie(o),limit:fe(s.limit),projection:ir(s),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function eh(e,t){let n=C(process.cwd(),t.path);if(!await D($(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await F(n),i=_i(r).settings,o=P(i.schema),s=q(i.schema);or(e.projection,s);let a=xe(e.options,s,"search"),d=L(i,R()),c=wi(i),l=vi(i,n),u=Oa(i),f=Na(i),h=Vs(e.options.semanticWeight),y=ea(i,c.active?.name??null),g=ta(i,c.active?.model??X(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:ar(i),scoreThreshold:e.minScoreOverride??cr(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??dr(i),tuning:ur(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:ja({configuredProvider:X(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:y,queryExpansionExtension:Qp(y),rerank:g,rerankExtension:Jp(i),effectiveMode:Ws(e.options.mode)}}async function th(e,t){let n=await Ga(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=Ee(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Ct(t.statusRegistry),o=Sa(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:va(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function nh(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await xa(i,Ir(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await Ca(a,o)]));for(let[a,d]of s)r.set(a,d);return r}async function rh(e,t,n){let r=await nh(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>Da(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}function fa(e,t){return La(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t)}async function ih(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Ua({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:bi(t.settings),bm25Params:da(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function oh(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return $a(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,m.GENERIC_FAILURE);return null}}function sh(e,t,n,r){return t.vectorMatchCount>0?t.hits:(r.push(`search_${e}_degraded:no_vector_matches:results_are_lexical`),e==="semantic"?n:t.hits)}async function ah(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await ya(e.pmRoot,n,r),e.extensionSearchProvider||wr(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function ch(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await ih(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await ah(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await oh(t,n,r,l)??a,a===i){let{provider:u,vectorStore:f}=wr(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ha({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=sh(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(ga(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function dh(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return hr({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:nt({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return hr({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:rt({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:e.projection.mode,fields:n},now:A()},e.warnings)}function hr(e,t){return t.length===0?e:{...e,warnings:t}}function Vt(e,t){return t?{...e,workspace_memory:t}:e}function uh(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:Ra(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function lh(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return hr({query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:nt({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:rt({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:i.mode,fields:a},now:A(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function fh(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function vb(e,t,n){fh(t);let r=Zp(e,t),i=await eh(r,n),o=await th(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await Kt(o.allDocuments.map(E=>E.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:A()});s.push(...a.warnings);let d=bs(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Vt(fa({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await rh(r,i,o.filteredDocuments),u=await ch({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Vt(fa({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(E=>E.exact_id_match===!0||E.score>=i.scoreThreshold),h=Ma(f,i.statusRegistry),y=h.length,g=zs({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),k={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Vt(dh(k,y),d);let{hits:_,projection:w}=uh(r,o.filteredDocuments,g.limited),b=za(_,w);return Vt(lh(k,b,y,g.limited.length,w,g.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6152efa9-8338-57f0-b3de-5707befed019")}catch{}})();async function Ib(e,t={}){let n=await Ti({pmRoot:C(process.cwd(),e.path),...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{Ya as a,mn as b,mh as c,ec as d,tc as e,ph as f,Ri as g,je as h,Ai as i,Mi as j,Th as k,Di as l,gn as m,Xh as n,$i as o,U as p,wt as q,Pi as r,bt as s,Sc as t,kt as u,St as v,Tg as w,Hi as x,my as y,bn as z,V as A,Et as B,xt as C,Ct as D,Ng as E,$g as F,jg as G,Rt as H,Ge as I,eo as J,to as K,dd as L,ud as M,uy as N,En as O,qe as P,ze as Q,ne as R,ly as S,_y as T,wy as U,xy as V,Cy as W,Iy as X,es as Y,$n as Z,Ot as _,Xu as $,rs as aa,tl as ba,Nt as ca,nl as da,rl as ea,al as fa,cl as ga,My as ha,dl as ia,is as ja,Y as ka,$t as la,jy as ma,ms as na,Pt as oa,Pn as pa,jn as qa,Fl as ra,Ol as sa,Nl as ta,Un as ua,Kn as va,Ut as wa,Kl as xa,ql as ya,Kt as za,Jl as Aa,ws as Ba,Zl as Ca,bs as Da,vs as Ea,c_ as Fa,d_ as Ga,u_ as Ha,l_ as Ia,Ss as Ja,ef as Ka,cf as La,Xe as Ma,R_ as Na,Gn as Oa,lf as Pa,ff as Qa,zn as Ra,pe as Sa,Vn as Ta,Yn as Ua,Xn as Va,Re as Wa,et as Xa,Bt as Ya,A_ as Za,um as _a,M_ as $a,hm as ab,H_ as bb,G_ as cb,bm as db,q_ as eb,z_ as fb,Z_ as gb,Us as hb,Ks as ib,Bs as jb,gw as kb,yw as lb,nt as mb,rt as nb,sp as ob,zs as pb,ar as qb,cr as rb,dr as sb,ur as tb,pa as ub,ha as vb,kb as wb,vb as xb,Ib as yb};
16
- //# sourceMappingURL=chunk-RNDNMARJ.js.map