@unbrained/pm-cli 2026.8.8 → 2026.8.10

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 (222) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +59 -0
  3. package/dist/cli/commander-usage.js +17 -12
  4. package/dist/cli/help-json-payload.js +51 -16
  5. package/dist/cli/main.js +7 -6
  6. package/dist/cli-bundle/bundle-manifest.json +162 -162
  7. package/dist/cli-bundle/chunks/chunk-2QYH4QMI.js +30 -0
  8. package/dist/cli-bundle/chunks/{chunk-2ZMXX3Q6.js → chunk-EBO7OUUE.js} +70 -70
  9. package/dist/cli-bundle/chunks/{chunk-NUXRRNAB.js → chunk-ETML5C6H.js} +48 -48
  10. package/dist/cli-bundle/chunks/chunk-JUDU4RO4.js +194 -0
  11. package/dist/cli-bundle/chunks/chunk-JZSNADRR.js +5 -0
  12. package/dist/cli-bundle/chunks/chunk-MENWVGJW.js +2 -0
  13. package/dist/cli-bundle/chunks/{chunk-ALDHXLPS.js → chunk-S4EITGLA.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-TIGKWVLA.js +13 -0
  15. package/dist/cli-bundle/chunks/{chunk-CBLA33YK.js → chunk-TRWXF476.js} +2 -2
  16. package/dist/cli-bundle/chunks/chunk-TSLDTJLQ.js +2 -0
  17. package/dist/cli-bundle/chunks/{register-list-query-WFZAMJHZ.js → register-list-query-OJ6ZXKV4.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-mutation-SOKKOTHQ.js → register-mutation-DKI7QC7O.js} +2 -2
  19. package/dist/cli-bundle/chunks/register-operations-P5OGMT6I.js +2 -0
  20. package/dist/cli-bundle/chunks/{register-setup-2HL5ZHMK.js → register-setup-S3KT2LTH.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/{chunk-ANTMGYLI.js → chunk-2COZ67XT.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-2EXI2DKR.js +4 -0
  23. package/dist/cli-bundle/focused-chunks/{chunk-YSAHYUXX.js → chunk-34SX654S.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/chunk-36FTZ2NT.js +2 -0
  25. package/dist/cli-bundle/focused-chunks/chunk-3CQECMKR.js +16 -0
  26. package/dist/cli-bundle/focused-chunks/chunk-75774JWP.js +6 -0
  27. package/dist/cli-bundle/focused-chunks/chunk-7UN6BHHO.js +2 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-TCSAPH33.js → chunk-CHIBMEZR.js} +6 -6
  29. package/dist/cli-bundle/focused-chunks/chunk-DZGAHZZV.js +3 -0
  30. package/dist/cli-bundle/focused-chunks/chunk-FF4MNAYB.js +153 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-GHTN2ILR.js +2 -0
  32. package/dist/cli-bundle/focused-chunks/chunk-I4YM2I7S.js +2 -0
  33. package/dist/cli-bundle/focused-chunks/chunk-IMDTEN7K.js +2 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-IW43E4XL.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-JMVA4HKR.js +5 -0
  36. package/dist/cli-bundle/focused-chunks/{chunk-PL2EYDJK.js → chunk-KR5RVXLQ.js} +31 -29
  37. package/dist/cli-bundle/focused-chunks/chunk-KSNJG4KI.js +16 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-M6RPIXKC.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/chunk-MXYSIQ56.js +18 -0
  40. package/dist/cli-bundle/focused-chunks/chunk-RIIN5V4N.js +2 -0
  41. package/dist/cli-bundle/focused-chunks/chunk-RKWSCYYN.js +2 -0
  42. package/dist/cli-bundle/main.js +13 -13
  43. package/dist/cli-bundle/sdk-authoring.js +1 -1
  44. package/dist/cli-bundle/sdk-contracts.js +1 -1
  45. package/dist/cli-bundle/sdk-core.js +38 -38
  46. package/dist/cli-bundle/sdk-governance.js +1 -1
  47. package/dist/cli-bundle/sdk-graph.js +1 -1
  48. package/dist/cli-bundle/sdk-merge.js +1 -1
  49. package/dist/cli-bundle/sdk-query.js +1 -1
  50. package/dist/cli-bundle/sdk-runtime.js +1 -1
  51. package/dist/cli-bundle/sdk-testing.js +1 -1
  52. package/dist/cli-bundle/sdk.js +2 -2
  53. package/dist/core/diagnostics/remediation.js +19 -9
  54. package/dist/core/fs/fs-utils.d.ts +10 -0
  55. package/dist/core/fs/fs-utils.js +16 -4
  56. package/dist/core/history/history.js +13 -4
  57. package/dist/core/item/actionability.d.ts +7 -1
  58. package/dist/core/item/actionability.js +71 -15
  59. package/dist/core/item/item-format.js +3 -32
  60. package/dist/core/schema/fields-file.d.ts +1 -2
  61. package/dist/core/schema/fields-file.js +4 -11
  62. package/dist/core/schema/runtime-schema.js +3 -10
  63. package/dist/core/schema/status-defs-file.d.ts +1 -2
  64. package/dist/core/schema/status-defs-file.js +4 -32
  65. package/dist/core/schema/status-token.d.ts +2 -0
  66. package/dist/core/schema/status-token.js +32 -0
  67. package/dist/core/schema/type-workflows.d.ts +1 -2
  68. package/dist/core/schema/type-workflows.js +4 -11
  69. package/dist/core/shared/author.d.ts +25 -0
  70. package/dist/core/shared/author.js +128 -10
  71. package/dist/core/shared/errors.d.ts +4 -0
  72. package/dist/core/shared/errors.js +2 -2
  73. package/dist/core/shared/text-normalization.d.ts +1 -1
  74. package/dist/core/shared/text-normalization.js +2 -2
  75. package/dist/sdk/actionability.d.ts +1 -1
  76. package/dist/sdk/actionability.js +3 -3
  77. package/dist/sdk/agent/command-recovery.d.ts +4 -0
  78. package/dist/sdk/agent/command-recovery.js +52 -0
  79. package/dist/sdk/agent/command-suggestions.d.ts +4 -0
  80. package/dist/sdk/agent/command-suggestions.js +67 -0
  81. package/dist/sdk/agent/create-option-policy.d.ts +12 -0
  82. package/dist/sdk/agent/create-option-policy.js +32 -0
  83. package/dist/sdk/agent/item-addressing.d.ts +19 -0
  84. package/dist/sdk/agent/item-addressing.js +208 -0
  85. package/dist/sdk/cli-bootstrap.d.ts +1 -1
  86. package/dist/sdk/cli-bootstrap.js +20 -5
  87. package/dist/sdk/cli-contracts/commander-mutation-options.js +16 -4
  88. package/dist/sdk/cli-contracts/flag-contracts.js +62 -21
  89. package/dist/sdk/cli-contracts/registration-helpers.js +10 -2
  90. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +8 -0
  91. package/dist/sdk/cli-contracts/runtime-contracts.js +20 -3
  92. package/dist/sdk/cli-contracts/tool-option-contracts.d.ts +6 -0
  93. package/dist/sdk/cli-contracts/tool-option-contracts.js +4 -2
  94. package/dist/sdk/cli-contracts/tool-parameter-tables.js +19 -4
  95. package/dist/sdk/cli-contracts/tool-schema.js +17 -4
  96. package/dist/sdk/context-intent-runtime.js +8 -5
  97. package/dist/sdk/context-signal-store.d.ts +34 -0
  98. package/dist/sdk/context-signal-store.js +24 -2
  99. package/dist/sdk/core-governance.d.ts +1 -1
  100. package/dist/sdk/core-governance.js +3 -3
  101. package/dist/sdk/dependencies.d.ts +2 -0
  102. package/dist/sdk/dependencies.js +7 -6
  103. package/dist/sdk/dependency-flag-validation.d.ts +15 -1
  104. package/dist/sdk/dependency-flag-validation.js +54 -2
  105. package/dist/sdk/extension/bundled-catalog.js +19 -6
  106. package/dist/sdk/generated-error-code-catalog.js +110 -2
  107. package/dist/sdk/governance/health.js +38 -12
  108. package/dist/sdk/governance/provenance-health.d.ts +39 -0
  109. package/dist/sdk/governance/provenance-health.js +185 -0
  110. package/dist/sdk/governance/validate-item-reader.d.ts +13 -0
  111. package/dist/sdk/governance/validate-item-reader.js +18 -0
  112. package/dist/sdk/governance/validate.d.ts +2 -2
  113. package/dist/sdk/governance/validate.js +25 -11
  114. package/dist/sdk/governance.d.ts +1 -0
  115. package/dist/sdk/governance.js +3 -2
  116. package/dist/sdk/graph/assembly.d.ts +4 -0
  117. package/dist/sdk/graph/assembly.js +22 -2
  118. package/dist/sdk/graph/run.d.ts +2 -0
  119. package/dist/sdk/graph/run.js +3 -2
  120. package/dist/sdk/index.d.ts +4 -0
  121. package/dist/sdk/index.js +6 -2
  122. package/dist/sdk/lifecycle/close.js +27 -19
  123. package/dist/sdk/lifecycle/create.d.ts +2 -0
  124. package/dist/sdk/lifecycle/create.js +66 -19
  125. package/dist/sdk/lifecycle/plan.js +6 -3
  126. package/dist/sdk/lifecycle/update-many.js +39 -27
  127. package/dist/sdk/lifecycle/update.d.ts +6 -1
  128. package/dist/sdk/lifecycle/update.js +51 -28
  129. package/dist/sdk/merge/driver.d.ts +2 -1
  130. package/dist/sdk/merge/driver.js +7 -4
  131. package/dist/sdk/merge/index.d.ts +1 -1
  132. package/dist/sdk/merge/index.js +3 -3
  133. package/dist/sdk/merge/install.d.ts +4 -0
  134. package/dist/sdk/merge/install.js +29 -17
  135. package/dist/sdk/merge/receipts.d.ts +17 -1
  136. package/dist/sdk/merge/receipts.js +112 -20
  137. package/dist/sdk/merge/reconcile.js +21 -4
  138. package/dist/sdk/merge/three-way.d.ts +6 -2
  139. package/dist/sdk/merge/three-way.js +24 -10
  140. package/dist/sdk/output-projection.js +24 -4
  141. package/dist/sdk/query/context.d.ts +2 -0
  142. package/dist/sdk/query/context.js +7 -4
  143. package/dist/sdk/query/get.d.ts +11 -0
  144. package/dist/sdk/query/get.js +37 -3
  145. package/dist/sdk/query/light-metadata.d.ts +3 -0
  146. package/dist/sdk/query/light-metadata.js +19 -0
  147. package/dist/sdk/read-output-contracts.d.ts +1 -1
  148. package/dist/sdk/read-output-contracts.js +23 -4
  149. package/dist/sdk/relationship-kinds/contract.d.ts +48 -0
  150. package/dist/sdk/relationship-kinds/contract.js +22 -0
  151. package/dist/sdk/relationships.d.ts +6 -41
  152. package/dist/sdk/relationships.js +12 -126
  153. package/dist/sdk/runtime-primitives.d.ts +1 -1
  154. package/dist/sdk/runtime-primitives.js +3 -3
  155. package/dist/sdk/runtime.d.ts +4 -1
  156. package/dist/sdk/runtime.js +8 -3
  157. package/dist/sdk/schema-migration.js +7 -9
  158. package/dist/sdk/similarity-scoring.d.ts +1 -2
  159. package/dist/sdk/similarity-scoring.js +4 -16
  160. package/dist/sdk/similarity.d.ts +5 -0
  161. package/dist/sdk/similarity.js +40 -10
  162. package/dist/sdk/structured-mutations.js +5 -2
  163. package/dist/sdk/test/linked-command-detection.d.ts +2 -7
  164. package/dist/sdk/test/linked-command-detection.js +22 -9
  165. package/dist/sdk/workspace-snapshot.d.ts +4 -0
  166. package/dist/sdk/workspace-snapshot.js +24 -11
  167. package/docs/AGENT_GUIDE.md +5 -2
  168. package/docs/COMMANDS.md +27 -6
  169. package/docs/DEPENDENCY_KIND_CONTRACT.md +29 -0
  170. package/docs/ITEM_READ_PROJECTIONS.md +26 -0
  171. package/docs/MERGE_SAFETY.md +17 -8
  172. package/docs/README.md +2 -5
  173. package/docs/READ_OUTPUT_CONTRACTS.md +2 -2
  174. package/docs/RELATIONSHIP_GRAPH.md +1 -1
  175. package/docs/SDK.md +33 -8
  176. package/docs/SDK_AGENT_SESSION_CONTEXT.md +36 -2
  177. package/docs/SDK_CONTEXT.md +97 -0
  178. package/docs/SDK_CONTEXT_INTEGRITY.md +33 -3
  179. package/docs/SENTRY_CONTRACT_EPOCHS.md +20 -0
  180. package/docs/agent-task-token-baseline.json +2 -2
  181. package/marketplace.json +2 -2
  182. package/package.json +5 -4
  183. package/packages/pm-beads/package.json +1 -1
  184. package/packages/pm-calendar/package.json +1 -1
  185. package/packages/pm-command-kit/package.json +1 -1
  186. package/packages/pm-digital-twin/package.json +1 -1
  187. package/packages/pm-governance-audit/package.json +1 -1
  188. package/packages/pm-guide-shell/package.json +1 -1
  189. package/packages/pm-kanban/package.json +1 -1
  190. package/packages/pm-lifecycle-hooks/package.json +1 -1
  191. package/packages/pm-linked-test-adapters/package.json +1 -1
  192. package/packages/pm-search-advanced/package.json +1 -1
  193. package/packages/pm-templates/package.json +1 -1
  194. package/packages/pm-todos/package.json +1 -1
  195. package/packages/pm-vcs/package.json +1 -1
  196. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  197. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  198. package/sdk/public-surface.json +415 -43
  199. package/dist/cli-bundle/chunks/chunk-GKA54IJM.js +0 -5
  200. package/dist/cli-bundle/chunks/chunk-KRY7SRUO.js +0 -2
  201. package/dist/cli-bundle/chunks/chunk-MNJ4NNSY.js +0 -26
  202. package/dist/cli-bundle/chunks/chunk-OJPCFDDY.js +0 -13
  203. package/dist/cli-bundle/chunks/chunk-PFSD3DAN.js +0 -194
  204. package/dist/cli-bundle/chunks/chunk-SQ7QZFQ6.js +0 -2
  205. package/dist/cli-bundle/chunks/register-operations-5XQETS6E.js +0 -2
  206. package/dist/cli-bundle/focused-chunks/chunk-54EU2UVO.js +0 -2
  207. package/dist/cli-bundle/focused-chunks/chunk-5FLBTZJQ.js +0 -2
  208. package/dist/cli-bundle/focused-chunks/chunk-5GJ57YKN.js +0 -2
  209. package/dist/cli-bundle/focused-chunks/chunk-CMDS3KYT.js +0 -14
  210. package/dist/cli-bundle/focused-chunks/chunk-DMKOMTTY.js +0 -6
  211. package/dist/cli-bundle/focused-chunks/chunk-F5B3HBEZ.js +0 -5
  212. package/dist/cli-bundle/focused-chunks/chunk-FI6DWU2M.js +0 -2
  213. package/dist/cli-bundle/focused-chunks/chunk-FNOKJG6N.js +0 -16
  214. package/dist/cli-bundle/focused-chunks/chunk-FPDYXZBK.js +0 -4
  215. package/dist/cli-bundle/focused-chunks/chunk-GWI6YIKJ.js +0 -3
  216. package/dist/cli-bundle/focused-chunks/chunk-HCUC62AB.js +0 -2
  217. package/dist/cli-bundle/focused-chunks/chunk-HGNKPSCB.js +0 -153
  218. package/dist/cli-bundle/focused-chunks/chunk-IAS7PMLG.js +0 -2
  219. package/dist/cli-bundle/focused-chunks/chunk-SM2PJGP3.js +0 -2
  220. package/dist/cli-bundle/focused-chunks/chunk-U646T7Z6.js +0 -18
  221. package/dist/cli-bundle/focused-chunks/chunk-YKPE4PPY.js +0 -2
  222. package/dist/cli-bundle/focused-chunks/chunk-ZOLDTUU7.js +0 -2
@@ -1,16 +0,0 @@
1
- import{d as Xr,f as Qr}from"./chunk-5GJ57YKN.js";import{a as Vr,b as Qt,c as tt,d as Yr}from"./chunk-5FLBTZJQ.js";import{a as Cr,c as xr,d as Tr,g as Nr}from"./chunk-YSAHYUXX.js";import{B as Ur,C as me,E as ne,F as pe,G as he,H as Kr,K as Br,L as et,M as Gr,N as Wt,O as Vt,P as Yt,Q as zr,U as qr,V as Xt,ca as Hr,e as $r,f as Pr,g as Ht,h as jr,wa as Wr}from"./chunk-U646T7Z6.js";import{Ea as pr,f as fr,wa as mr}from"./chunk-SM2PJGP3.js";import{$ as F,$a as Rr,Ca as qt,Da as Er,K as te,L as D,La as I,M as v,N as Xe,Na as Ir,O as j,Oa as Fr,P as _r,Ra as Ar,Ta as Mr,Xa as Dr,Za as fe,_ as T,aa as U,ab as Qe,bb as Je,cb as Ze,da as wr,db as J,eb as Lr,ga as V,gb as Or,k as M,na as br,oa as kr,p as Se,q as gr,t as yr,va as vr,xa as Sr,z as Ee,za as zt}from"./chunk-HGNKPSCB.js";import{D as O,E as He,J as C,Ka as $,L as ar,M as N,Ma as G,N as Gt,P as We,S as ke,T as A,Y as cr,Z as dr,a as nr,h as or,p as L,r as sr,u as Bt,za as lr}from"./chunk-FPDYXZBK.js";import{j as Ve,l as ue,m as le,n as ve,q as Ye,r as hr}from"./chunk-FI6DWU2M.js";import{E as de,J as Kt,K as ze,R as rr,S as qe,W as ir,Y as m,Z as p,aa as ur}from"./chunk-54EU2UVO.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]="bccbd81b-988f-569d-8dbf-c0998d813953")}catch{}})();function Jr(e,t){let n=zt(e),r=e.length>0?e[e.length-1].after_hash:kr(),i=t===void 0?void 0:br(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 Zr(e,t,n={}){let r=C(n.cwd??process.cwd(),n.pmRoot);if(!await L(N(r)))throw new p(`Tracker is not initialized at ${r}. Run pm init first.`,m.NOT_FOUND);let i=await I(r),o=O(i,M()),s=await Nr(r,e,i,o.type_to_folder),a=await V(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=Cr(t,a),c=Tr(xr(a,d.historyIndex),d),u=vr(c,{schema:i.schema});if(u.metadata.id!==s.id)throw new p(`History target resolved to item ${u.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let l=a[d.historyIndex];return{document:u,reconstructed:!0,as_of_version:d.historyIndex+1,as_of_timestamp:l.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 P(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 nt(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 ei(e,t,n="--type"){if(e===void 0)return;let r=He(e,t);if(!r)throw new p(`${n} filter must be one of ${t.types.join("|")}`,m.USAGE);return r}import da from"node:fs/promises";import ri 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 Jt={version:1,aliases:{}};function rt(e=[]){let t=new Set(Ee),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 ti(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 Zt(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 ca(e,t=Ee){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 it(e,t=Jt,n={}){let r=Zt(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 ot(e,t=Jt,n=Ee){let r=ti(e.harness),i=ti(e.agentInstance),o=ca(e,n);return s=>{let d=Zt(s,t).agent_harness;if(r&&(!d||!r.has(d))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,u]of o){let l=s.agent_provenance?.[c];if(!l||!u.has(l.value))return!1}return!0}}function st(e,t=Jt,n=Ee){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);Zt(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 u=c.agent_provenance?.[s];u===null?d+=1:u!==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]="a7efa5e0-5610-51ca-8288-4f5410dbcf51")}catch{}})();var ua=20,la=5;function en(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 ni(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 j(i,new Date(t),n)}function fa(e,t,n){return!(e.ts.length===0&&(t||n)||t&&v(e.ts,t)<0||n&&v(e.ts,n)>=0)}function ma(e,t){return t===void 0?e:e.slice(0,t)}function Ce(e,t=""){return typeof e=="string"?e:t}function pa(e,t){return{...t,id:e,ts:Ce(t.ts),author:Ce(t.author,"unknown"),op:Ce(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ce(t.before_hash),after_hash:Ce(t.after_hash)}}function ha(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 ga(e){try{return(await da.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(t.code==="ENOENT")return[];throw t}}function ya(e){let t=D(),n=ni(e.from,t,"--from"),r=ni(e.to,t,"--to");if(n&&r&&v(n,r)>=0)throw new p("Activity --from must be before --to",m.USAGE);let i=ne(e.limit);if(e.unbounded===!0&&i!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:en(e.id,"Activity --id"),op:en(e.op,"Activity --op"),author:en(e.author,"Activity --author"),from:n,to:r,limit:e.unbounded===!0?void 0:i??(e.compact===!0?ua:la),limitSource:e.unbounded===!0||i!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function _a(e){let t=C(process.cwd(),e.path);if(!await L(N(t)))throw new p(`Tracker is not initialized at ${t}. Run pm init first.`,m.NOT_FOUND);return{pmRoot:t,settings:await I(t)}}async function wa(e){let t=O(e.settings,M()),n=await J(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Fr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=ri.join(e.pmRoot,"history");return await Se({path:r,scope:"project"}),r}function ba(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:fa(t,n.from,n.to)}async function ka(e,t){let n=[];for(let r of await ga(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await V(ri.join(e,r),i);for(let s of o){let a=pa(i,s);ba(s,a,t)&&n.push(a)}}return n}function va(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}async function ii(e,t){let n=await _a(t),r=ya(e),i=await wa(n),o=rt(n.settings.agent_identity.harness_signals),s=n.settings.agent_identity.identity_vocabulary,a=ot({harness:r.harness,agentInstance:r.agentInstance,provenance:r.provenance},s,o),d=ha(await ka(i,r)).filter(a),c=ma(d,r.limit),u=e.compact===!0,l=u?va(c):void 0,f=e.provenance===!0?c.map(b=>it(b,s,{itemId:b.id})):void 0,h=d.length-c.length,y=e.provenance===!0?"provenance":u?"compact":"full";return{...{compact:{compact_activity:l},provenance:{provenance_activity:f},full:{activity:c}}[y],compact:u,projection:{mode:y,row_key:y==="compact"?"compact_activity":y==="provenance"?"provenance_activity":"activity"},omission_receipt:Ve("activity",y),count:c.length,total_count:d.length,limit:r.limit??null,omitted_count:h,has_more:h>0,...e.provenanceSummary===!0?{provenance_summary:st(d,s,o)}:{},applied_bound:{kind:r.limit===void 0?"unbounded":"limit",source:r.limitSource,value:r.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 tn(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 z(e,t){let n=tn(e,t);return n===void 0?void 0:new Set(n)}function at(e,t,n="--type"){let r=tn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=He(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 ct(e,t="--priority"){let n=tn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>nt(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 oi(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function dt(e){return{isTerminal(t){return e.terminal_statuses.has(oi(t,e))},classify(t){let n=oi(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 nn(e){return A(e.acceptance_criteria)===void 0}function rn(e){return!Number.isFinite(e.estimated_minutes)}function di(e,t){return t.isTerminal(e.status)?A(e.resolution)===void 0:!1}function Sa(e){return A(e.reviewer)===void 0}function Ea(e){return A(e.risk)===void 0}function Ca(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):A(e.confidence)===void 0}function xa(e){return A(e.sprint)===void 0}function Ta(e){return A(e.release)===void 0}function xe(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Ia(e,t,n){return[[t.acMissing,nn(e)],[t.estimatesMissing,rn(e)],[t.resolutionMissing,di(e,n)],[t.reviewerMissing,Sa(e)],[t.riskMissing,Ea(e)],[t.confidenceMissing,Ca(e)],[t.sprintMissing,xa(e)],[t.releaseMissing,Ta(e)]].every(([i,o])=>i!==!0||o)}function Fa(e,t){return nn(e)||rn(e)||di(e,t)}function ut(e,t,n){return xe(t)?!(!Ia(e,t,n)||t.metadataMissing&&!Fa(e,n)):!0}var on=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Aa(e,t){switch(t){case"acceptance_criteria":return!nn(e);case"estimated_minutes":return!rn(e);case"resolution":return A(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return A(e.parent)!==void 0}}function Ma(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Da(e,t){return t===0?100:Math.round(e/t*1e3)/10}function si(){let e={};for(let t of on)e[t]={present:0,applicable:0,percent:100};return e}function ai(e,t,n){for(let r of on){if(!Ma(t,r,n))continue;let i=e[r];i.applicable+=1,Aa(t,r)&&(i.present+=1)}}function ci(e){for(let t of on){let n=e[t];n.percent=Da(n.present,n.applicable)}}function Ep(e,t){let n=si(),r={};for(let i of e){ai(n,i,t);let o=r[i.type]??(r[i.type]=si());ai(o,i,t)}ci(n);for(let i of Object.values(r))ci(i);return{overall:n,by_type:r}}var Ra={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function La(e){return Ra[e]}function Oa(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Na(e,t,n){switch(t){case"assignee":return[A(e.assignee)??null];case"parent":return[A(e.parent)??null];case"type":return[A(e.type)??null];case"status":return[A(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 Cp(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 Na(a,t,r)){let u=c??"\0empty",l=i.get(u);l||(l={label:c??La(t),key:c,buckets:Oa(),total:0},i.set(u,l)),l.buckets[d]+=1,l.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 ge=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function re(e){return Array.isArray(e)&&e.length>0}function $a(e){return typeof e=="string"&&e.trim().length>0}function Pa(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 li(e,t){switch(t){case"notes":return re(e.notes);case"learnings":return re(e.learnings);case"files":return re(e.files);case"docs":return re(e.docs);case"tests":return re(e.tests);case"comments":return re(e.comments);case"deps":return re(e.dependencies);case"body":return $a(e.body);case"linked_command":return Pa(e.tests)}}function lt(e){return ge.some(t=>e[t]!==void 0)}function ft(e,t){for(let n of ge){let r=t[n];if(r===void 0)continue;let i=li(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function fi(e){return ge.some(t=>t!=="body"&&e[t]!==void 0)}function mi(e){return e.body!==void 0}function ui(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ja(){let e={};for(let t of ge)e[t]={present:0,total:0,percent:100};return e}function Tp(e){let t=ja(),n=e.length;for(let s of e)for(let a of ge)li(s,a)&&(t[a].present+=1);for(let s of ge)t[s].total=n,t[s].percent=ui(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:ui(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0c4c57-e3c2-54b3-bcf4-b4ab3b1d964e")}catch{}})();var mt=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}),pi=[{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"}],Fe=e=>{let t=pi.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(pi.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},hi=["priority","deadline","updated_at","created_at","title","parent"],gi=["asc","desc"],Ua=["id","title","status","type","priority","parent","updated_at"],Ka=["id","status","type","title"],Jp={list:"brief","list-all":"full","list-draft":"full","list-open":"brief","list-in-progress":"brief","list-blocked":"brief","list-closed":"full","list-canceled":"full"},Ba=["tree_depth","tree_parent","tree_children","tree_title"],bi=new Set(Dr);function Ga(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 za(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var qa=[{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"}],Ha=[{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 ki(e,t){for(let n of qa)t[n.key]===!0&&(e[n.summaryKey]=!0)}function vi(e,t){for(let n of Ha)t[n.key]===!0&&(e[n.summaryKey]=!0)}function sn(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 Ae(e){let t={};return ki(t,e),t}function Me(e){let t={};return vi(t,e),t}var Wa=[{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"}],Va=[{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"}],Ya=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Xa="-7d";function Si(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"),sn(d,n,Wa),Ci(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),vi(d,n),ki(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),za(a)&&(d.runtime_filters=a),d}function an(e,t,n){let r=U(e.status,n),i=U(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=v(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Qa(e,t){return[...e].sort((n,r)=>an(n,r,t))}function yi(e,t){if(e!==void 0)return j(e,new Date,t)}function Te(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return j(n,new Date,t)}function Ei(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?Te(Xa,"recent"):Te(e.updatedAfter,"updated-after")}function Ci(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function xi(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 Ti(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 Ii(e){let t=e.compact===!0,n=e.brief===!0,r=e.full===!0,i=Ti(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:[...Ka]}:t?{mode:"compact",fields:[...Ua]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function ye(e){return e.startsWith("item.")?e.slice(5):e}function Ja(e,t){if(e.mode!=="fields")return;let n=new Set([...qe,"body",...Ba,...t]),r=e.fields.filter(i=>!n.has(ye(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 Za=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Fi(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Za.get(t);if(n)return n;if(!hi.includes(t))throw new p(`Sort field must be one of ${hi.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function Ai(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!gi.includes(t))throw new p(`Sort order must be one of ${gi.join("|")}`,m.USAGE);return t}function ec(e){return P(e,"--tree-depth")}function Mi(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 _i(e,t){return me(e,t,{strict:!0})}function Di(e){return z(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function tc(e,t,n){let r=Di(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 nc(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 rc(e,t,n,r){let i=z(t.assignee,{label:"--assignee"}),o=Mi(t.assigneeFilter);nc(i,o);let s=mt(t),a=Fe(t);return{idsFilter:xi(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:at(t.type,n),tagFilters:Di(t.tag),priorityFilter:ct(t.priority),deadlineBefore:yi(t.deadlineBefore,"deadline-before"),deadlineAfter:yi(t.deadlineAfter,"deadline-after"),updatedAfter:Ei(t),updatedBefore:Te(t.updatedBefore,"updated-before"),createdAfter:Te(t.createdAfter,"created-after"),createdBefore:Te(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:z(t.sprint,{label:"--sprint"}),releaseFilter:z(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:xe(s),lifecycleClassifier:dt(r),contentFieldFilters:a,contentFiltersActive:lt(a)}}function ic(e,t,n){return oc(e,t,n)&&sc(e,t)&&ac(e,t)&&cc(e,t)}function oc(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&U(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 sc(e,t){return Xe(e,t)}function ac(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 cc(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 dc(e,t,n,r){return!(!ic(e,t,n)||t.missingMetadataActive&&!ut(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!ft(e,t.contentFieldFilters)||!he(e,r))}function Ri(e,t,n,r,i,o){let s=rc(t,n,r,i);return e.filter(a=>dc(a,s,i,o))}function Ie(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Li(e,t,n){let r=e,i=typeof r.title=="string"?r.title:"",o=Ie(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 Oi(e,t,n){let r=new Map,i=new Map;for(let c of e){r.set(c.id,c);let u=Ie(c.parent);if(!u)continue;let l=i.get(u);l?l.push(c):i.set(u,[c])}let o=t?[...i.get(t)??[]]:e.filter(c=>{let u=Ie(c.parent);return!u||!r.has(u)}),s=[],a=new Set,d=(c,u)=>{if(a.has(c.id))return;a.add(c.id);let l=i.get(c.id)??[];if(s.push(Li(c,u,l.length)),!(n!==void 0&&u>=n))for(let f of l)d(f,u+1)};for(let c of o)d(c,0);return s}function Ni(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function $i(e,t){return e===t?0:e===null?1:t===null?-1:v(e,t)}function Pi(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return $i(e.deadline??null,t.deadline??null);case"updated_at":return v(e.updated_at,t.updated_at);case"created_at":return v(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return Ni(e.parent??null,t.parent??null);default:return 0}}function ji(e,t,n,r){return t?[...e].sort((i,o)=>{let s=Pi(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=an(i,o,r);return n==="desc"?-a:a}):Qa(e,r)}function Ui(e,t,n=!1){let r=ye(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 dn(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=Ui(r,o,n);return i})}function Ki(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function Bi(e,t){if(e.noTruncate!==!0)return P(e.limit)??(t>=1e4?20:void 0)}function uc(e,t,n){return t.after===void 0?cn(t.offset)??0:Ye(e,t.after,n,r=>r.id)}function Gi(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function lc(e,t){let n=C(process.cwd(),t.path);if(!await L(N(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await I(n),i=$(r.schema),o=G(r.schema),s=Ii(e);return Ja(s,Ki(o.definitions)),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:pe(e,o,"list"),typeRegistry:O(r,M()),projection:s}}async function fc(e,t,n){let r=t.projection.fields.some(d=>ye(d)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(d=>bi.has(ye(d))),o=Fe(e),s=fi(o),a=mi(o);return e.includeBody||r||a?await Lr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await Ze(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await J(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function mc(e){let t=Fi(e.sort),n=Ai(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?ec(e.treeDepth):void 0,parentRoot:r?Ie(e.parent):void 0}}function pc(e,t,n){let r=_i(t.status,n),i=r??_i(e,n),o=Ur(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 hc(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=Bi(t,e.length),s=uc(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),d=dn(a,n,r),c=e.length,u=a.length>0&&s+a.length<c,l=u&&a.length>0?ve(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:d,totalMatched:c,pageExtras:Gi(o,u,l)}}function zi(e,t,n){return le("list",{status:e,options:ue(t,fr),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function gc(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=ye(y);return g==="body"||bi.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,gr(),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 fe(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!d)return null;let c=P(t.limit),u=cn(t.offset)??0,l=await Mr({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:u}});if(!l)return null;let f=l.items.length>0&&u+l.items.length<l.total,h=f?ve(zi(r.filtersStatus,t,i),l.items.at(-1).id,u+l.items.length-1):void 0;return{projected:dn(l.items,n.projection,!1),totalMatched:l.total,pageExtras:Gi(c,f,h)}}function yc(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 u=n;for(let l of Va){let f=u[l.optionKey];f!=null&&(c[l.summaryKey]=f)}for(let l of Ya)u[l.key]===!0&&(c[l.summaryKey]=!0);return Object.assign(c,Me(n),Ae(n)),Ci(c,n),r&&(c.no_truncate=!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 Y(e,t,n){let r=await lc(t,n),i=[],o=mc(t),s=pc(e,t,r.statusRegistry),a=t.noTruncate===!0,d=await gc({options:t,runtime:r,statusSelection:s,ordering:o}),c=d;if(!c){let g=await fc(t,r,i);tc(g,t.tag,i);let b=Ri(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters),_=t.dependencyBlocked===!0?(()=>{let x=tt(g,r.statusRegistry);return b.filter(R=>x.has(R.id.trim().toLowerCase()))})():b,w=ji(_,o.sortField,o.sortOrder,r.statusRegistry),E=o.treeEnabled?Oi(w,o.parentRoot,o.treeDepth):w;c=hc(E,t,r.projection,o.treeEnabled,zi(s.filtersStatus,t,o))}let u=D(),l=[...new Set(i)].sort((g,b)=>g.localeCompare(b)),f=Ga(l,d!==null,t.strictRead===!0),h=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=Si({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},...l.length>0?{warnings:l}:{}}}return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:yc({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:u,...l.length>0?{warnings:l}:{}}}var Zp={applyFilters:Ri,buildCompactListFilterSummary:Si,buildContentFilterEcho:Ae,buildGovernanceMissingFilterEcho:Me,resolveContentFieldFilters:Fe,resolveMissingMetadataFilters:mt,compareBySortField:Pi,compareDefaultSort:an,compareNullableString:Ni,compareNullableTimestamp:$i,normalizeProjectionField:ye,parseAssigneeFilter:Mi,parseFieldSelectors:Ti,parseIdsFilter:xi,parseOffset:cn,parseProjectionConfig:Ii,resolveListUpdatedAfter:Ei,resolveListPageLimit:Bi,parseSortField:Fi,parseSortOrder:Ai,orderItemsAsTree:Oi,projectListItems:dn,readListFieldValue:Ui,runtimeMetadataKeysForProjection:Ki,sortItems:ji,trimNonEmpty:Ie,withTreeMetadata:Li};(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 _c=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],wc=["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 bc(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function th(e,t,n={}){let r=n.includePagination!==!1;return[t,..._c.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(bc)||wc.some(o=>e?.[o]===!0)}function qi(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 Hi=["parent","type","priority","status","assignee","tags","sprint","release"];function Vi(e,t){let n=me(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Yi(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 Xi(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=Wr(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(!Hi.includes(r))throw new p(`Aggregate group fields must be one of ${Hi.join("|")}; received "${r}"`,m.USAGE);return n}function Qi(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 Ji(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 Qi(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Zi(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 eo(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var kc={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Wi(e,t){return t==null||t===""?kc[e]:String(t)}function vc(e,t){return e.length===1?Wi(e[0],t[e[0]]):e.map(n=>`${n}=${Wi(n,t[n])}`).join(" | ")}function to(e,t,n){for(let r of n){let i=Zi(e.group[r],t.group[r]);if(i!==0)return i}return 0}function no(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 ro(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function un(e,t,n){let r=T(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 Sc(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 Ec(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Cc(e){e.accumulator.row.count+=1,e.includeCompletion&&un(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Ec(e.accumulator,e.numericValue)}function xc(e,t){let n={};for(let r of e)n[r]=Ji(r,t);return n}function Tc(e,t,n,r){let i={...e.row,group_label:vc(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=ro(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 Ic(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 sh(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 I(n),i=$(r.schema),o=["estimate","estimated_minutes","priority",...G(r.schema).definitions.filter(_=>_.type==="number").map(_=>_.metadata_key)],s=Xi(e.groupBy),a=Vi(e.status,i),d=Yi(e,[...new Set(o)].sort((_,w)=>_.localeCompare(w))),c=e.completion===!0,u=e.includeUnparented===!0,l=await Y(void 0,{...qi(e),status:e.status},t),f=new Map,h=0,y=0;for(let _ of l.items){let w=_,E=xc(s,w);if(s.includes("parent")&&E.parent===null&&!u){h+=1;continue}let x=eo(s,E),R=f.get(x),S=d===null?null:no(w,d.field);if(R)Cc({accumulator:R,item:w,statusRegistry:i,includeCompletion:c,numericAggregation:d,numericValue:S});else{let K=Sc(E,S);c&&un(K,w.status,i),f.set(x,K)}y+=1}let g=[...f.values()].map(_=>Tc(_,s,c,d)).sort((_,w)=>to(_,w,s)),b=l.warnings&&l.warnings.length>0?l.warnings:void 0;return{groups:g,count:g.length,totals:{items_considered:l.items.length,items_grouped:y,items_skipped_unparented:h},filters:Ic({groupBy:s,includeCompletion:c,includeUnparented:u,status:a,options:e,numericAggregation:d}),now:D(),...b?{warnings:b}:{}}}var ah={buildGroupKey:eo,compareAggregateRows:to,compareNullableGroupValue:Zi,completionPct:ro,normalizeTagGroupValue:Qi,parseGroupBy:Xi,parseNumericAggregation:Yi,parseStatus:Vi,readNumericAggregateValue:no,resolveGroupValue:Ji,updateCompletionCounts:un};import{encode as Fc}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 ln=["agenda","day","week","month"],fn=["markdown","toon","json"],Ac=["sun","mon","tue","wed","thu","fri","sat"],Mc=365,Dc=365,so=28,Rc=1e3;function mn(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 Lc(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 ao(e,t){let n;for(let r of t){let i=nr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Oc(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!ln.includes(t)){let n=ao(t,ln);throw new p(`Calendar view must be one of ${ln.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Nc(e){if(!e)return;let t=e.trim().toLowerCase();if(!fn.includes(t)){let n=ao(t,fn);throw new p(`Calendar format must be one of ${fn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function mh(e,t){let n=Nc(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 $c(e,t){if(e===void 0)return;let n=T(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 Pc(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 pt(e){return new Date(e).toISOString().slice(0,10)}function co(e,t){if(!t||t==="UTC")return pt(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 pt(e)}function yn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function X(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function uo(e){let t=new Date(yn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return X(t.toISOString(),r)}function jc(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Uc(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Kc(e,t){return v(e,t)>=0?e:t}function io(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function oo(e,t){e.set(t,(e.get(t)??0)+1)}function Bc(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)=>de(r)-de(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 lo(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 fo(e){return Ac[new Date(e).getUTCDay()]}function Gc(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function zc(e){let t=new Set;for(let n of e??[]){let r=Gc(n);r&&t.add(r)}return t}function qc(e,t,n,r,i){let o=e??X(n,-(r??Dc)),s=t??X(e??n,i??Mc);return{start:o,end:v(s,o)>0?s:X(o,1)}}function Hc(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[fo(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??Rc,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:zc(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)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function ht(e,t){return v(t,e.startAt)<0?"continue":e.until&&v(t,e.until)>0||v(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,v(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function gt(e,t){let n=fo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Wc(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(gt(e,t)&&ht(e,t)==="stop");n+=1)t=X(t,e.interval);return e.occurrences}function Vc(e,t,n){let r=de(n),i=X(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 Yc(e){let t=uo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=X(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Vc(e,r,i);if(gt(e,o)&&ht(e,o)==="stop")return e.occurrences}}return e.occurrences}function Xc(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=lo(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!gt(e,s))&&ht(e,s)==="stop")return e.occurrences}}return e.occurrences}function Qc(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=lo(i,n,o,e.startDate);if(!(!s||!gt(e,s))&&ht(e,s)==="stop")return e.occurrences}}return e.occurrences}function Jc(e,t,n,r){let i=Hc(e,t,n,r);return t.freq==="daily"?Wc(i):t.freq==="weekly"?Yc(i):t.freq==="monthly"?Xc(i):Qc(i)}function mo(e){return[...e].sort((t,n)=>{let r=v(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 _n(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 Zc(e){return e.deadline?{at:e.deadline,date:pt(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,..._n(e),item_deadline:e.deadline}:null}function ed(e){return(e.reminders??[]).map(t=>({at:t.at,date:pt(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,..._n(e)}))}function td(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function nd(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function rd(e,t,n,r){let i=Bc(t.recurrence),o=td(t.start_at,t.end_at);return(t.recurrence?Jc(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):co(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:nd(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,..._n(e)}))}function id(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Zc(o):null;s&&i.push(s),n.has("reminders")&&i.push(...ed(o));for(let a of n.has("events")?o.events??[]:[])i.push(...rd(o,a,t,r))}return mo(i)}function od(e,t,n,r,i){let o=ei(t.type,n),s=t.tag?.trim().toLowerCase(),a=nt(t.priority),d=$c(t.status,r),c=t.assignee?.trim(),u=Pc(t.assigneeFilter),l=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&&u==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>sd(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:u,sprintFilter:l,releaseFilter:f,runtimeFieldFilters:i}))}function sd(e,t){return ad(e,t)&&cd(e,t)&&he(e,t.runtimeFieldFilters)}function ad(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 cd(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 dd(e,t,n){return!(t&&v(e.at,t)<0||n&&v(e.at,n)>=0)}function pn(e,t,n){return e.trim().toLowerCase()==="today"?yn(t):j(e,new Date(t),n)}function ud(e,t,n){let r=t.date?pn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?pn(t.from,n,"--from"):void 0,a=t.to?pn(t.to,n,"--to"):void 0;if(s&&a&&v(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 ld(r,t,n,i,o,s,a);if(e==="day"){let c=yn(r);return hn(r,n,i,o,c,X(c,1))}if(e==="week"){let c=uo(r);return hn(r,n,i,o,c,X(c,7))}let d=jc(r);return hn(r,n,i,o,d,Uc(r))}function ld(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 hn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Kc(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function fd(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:mo(r)}))}function md(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),oo(n,d.item_type),oo(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:io(n),by_status:io(r),recurring_events:a}}function pd(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function po(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 gn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function hd(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===co(e.event_end,e.event_timezone)?po(e.event_end,e.event_timezone):e.event_end:null}function gd(e){let t=`${po(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=hd(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 ph(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${pd(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: ${gn(e.summary.by_kind)}`),t.push(`- by-type: ${gn(e.summary.by_type)}`),t.push(`- by-status: ${gn(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(`- ${gd(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 yd(t.join(`
3
- `))}function hh(e){return Fc(e)}function yd(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function _d(e){let t=D(),n=Oc(e.view),r=ud(n,e,t),i=P(e.limit),o=Lc(e.include),s=mn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=mn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=mn(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"),u=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,l=c&&!u;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:l?so:s,recurrenceLookbackWindowDays:l&&a===void 0?0:a,eventsOnlyCapApplied:l}}function wd(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${so}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function bd(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 kd(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 ho(e,t){let n=C(process.cwd(),t.path);if(!await L(N(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=_d(e),i=await I(n),o=$(i.schema),s=G(i.schema),a=pe(e,s,"calendar"),d=O(i,M()),c=[];wd(c,r.eventsOnlyCapApplied);let u=await J(n,i.item_format,d.type_to_folder,c,i.schema),l=od(u,e,d,o,a),f=qc(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),y=id(l,f,r.includeSources,r.occurrenceLimit).filter(w=>dd(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?y:y.slice(0,r.limit),b=fd(g),_=[...new Set(c)].sort((w,E)=>w.localeCompare(E));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:kd(e,r.rangeBounds),filters:bd(e,a),summary:md(g),events:g,days:b,..._.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]="1f898377-b606-5bfd-932d-6ce5f2f9c717")}catch{}})();var wn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],vd=Symbol("no-context-author"),Sd=Symbol("no-item-assignee");function go(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Ed(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 Cd(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 xd(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 yt(e,t,n){return e?.[t]??n}function _t(e,t){let n=c=>{if(typeof c!="string")return"";try{return j(c,new Date(Number.NaN),"updated_at")}catch{return""}},r=[...e].sort((c,u)=>{let l=n(c.updated_at),f=n(u.updated_at);return v(f,l)||c.id.localeCompare(u.id)}),i=new Map(r.map((c,u)=>[c.id,u])),o=Math.max(e.length-1,1),s=go(t.author,vd),a=T("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let u=go(c.assignee,Sd)===s,l=(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:yt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:yt(t.claimFocus,c.id,F(c.status,t.statusRegistry)===a?1:u?.75:0),priority_pressure:Ed(c.priority,4),risk_pressure:xd(c.risk),deadline_pressure:Cd(c.deadline,d),knowledge_density:yt(t.knowledgeDensity,c.id,Math.min(l/5,1)),author_affinity:yt(t.authorAffinity,c.id,u?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Td="context_relevance",Id={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},Fd=new TextEncoder;function Ad(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"||!wn.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 Md(e){let t={...Id};for(let[n,r]of Object.entries(e??{}))r!==void 0&&wn.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 _o(e,t={}){Ad(e);let n=Md(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=wn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},u={},l=0,f=0;for(let h of o){let y=c[h];if(y===void 0)continue;let g=y*n[h];u[h]=g,l+=g,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:l/f,contributions:u}});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 Dd(e,t={}){let n=_o(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 wt(e,t,n={}){let r=_o(t,n),i=await yr(Td,{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 Dd(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 Rd=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function yo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Ld(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,u)=>u-c).slice(0,n.length||1),i=c=>c.reduce((u,l,f)=>u+(2**l-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:yo(e.required_ids??[],a),continuity_coverage:yo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Od(e){return Math.ceil(Fd.encode(JSON.stringify(e)).byteLength/4)}function Nd(e){return Math.round(e*1e4)/1e4}function $d(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 Pd(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0}):await t.next({...e.options,explainRanking:!0}),{rankedIds:r,attribution:i}=$d(n,e.surface),o={...n,ranking:void 0},s=Od(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Ld({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 jd(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Rd;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,Nd(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 bh(e,t,n){let r=[];for(let i of e)r.push(await Pd(i,t));return jd(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 Ud={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Kd=["identity","summary","full"];function Bd(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=Kd.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 Gd(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=Ud[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 zd(e){let t=new Set;for(let n of e){if(Bd(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 qd(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],u=n(d)/d.token_costs.identity,l=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(u>l||u===l&&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 Hd(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let u=c.lineage??c.cluster,l=u&&t.has(u)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*l)},o=c=>{let u=c.token_costs.identity;n.push({...c,projection:"identity",tokens:u,marginal_value:i(c)}),r-=u;let l=c.lineage??c.cluster;l&&t.add(l)};for(let c of e.ordered.filter(u=>u.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=qd(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 Wd(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 wo(e,t){let n=Gd(t),r=zd(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Hd({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=Wd(a,s.remaining);a.sort((u,l)=>u.rank-l.rank||u.id.localeCompare(l.id));let c=new Set(a.map(u=>u.id));return{included:a,omitted_ids:r.filter(u=>!c.has(u.id)).map(u=>u.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(u=>u.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import{randomUUID as Vd}from"node:crypto";import{appendFile as Yd,mkdir as Xd,readFile as Qd,rename as Jd,stat as Zd,writeFile as eu}from"node:fs/promises";import bo 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 ko=2048,vo=30,So=864e5,tu=262144,nu="context-usage-ledger",q=class extends TypeError{code="context_usage_validation_failed";constructor(t){super(t),this.name="ContextUsageValidationError"}};function Eo(e){return bo.join(e,"runtime","context-usage.jsonl")}function De(e){let t=e.now??new Date().toISOString(),n=Date.parse(t);if(!Number.isFinite(n))throw new q("Context usage now must be a valid timestamp");return{iso:new Date(n).toISOString(),ms:n}}async function Co(e){try{let n=(await Qd(Eo(e.pmRoot),"utf8")).split(`
5
- `).filter(Boolean).flatMap(s=>{try{return[JSON.parse(s)]}catch{return[]}}),r=e.maxEvents??ko,i=e.retentionDays??vo,o=De(e).ms-i*So;return n.filter(s=>Date.parse(s.at)>=o).slice(-r)}catch{return[]}}async function xo(e,t){let n=e.maxEvents??ko,r=e.retentionDays??vo;if(!Number.isInteger(n)||n<1||!Number.isFinite(r)||r<=0)throw new q("Context usage retention requires positive maxEvents and retentionDays");let i=Eo(e.pmRoot),o=bo.dirname(i),s=await _r(e.pmRoot,nu,30,`context-usage:${process.pid}`,!1,!1,3e3);try{if(await Xd(o,{recursive:!0}),await Yd(i,t.map(u=>`${JSON.stringify(u)}
6
- `).join(""),"utf8"),!(e.maxEvents!==void 0||e.retentionDays!==void 0)&&(await Zd(i)).size<=tu)return;let d=await Co(e),c=`${i}.${process.pid}.${Vd()}.tmp`;await eu(c,`${d.map(u=>JSON.stringify(u)).join(`
7
- `)}
8
- `,"utf8"),await Jd(c,i)}finally{await s()}}async function To(e,t){await xo(e,[t])}async function bt(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 q("Context usage serving requires an author and valid ranked rows");await To(e,{kind:"serve",at:De(e).iso,author:e.author.trim(),surface:e.surface,profile:e.profile.trim()||"balanced",rows:e.rows})}}async function Th(e){if(!(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)){if(!e.author.trim()||!e.itemId.trim()||!e.intent.trim())throw new q("Context usage touch requires author, itemId, and intent");await To(e,{kind:"touch",at:De(e).iso,author:e.author.trim(),item_id:e.itemId.trim(),intent:e.intent.trim()})}}async function Io(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 q("Context usage touch requires author and intent");let r=new Set;for(let s of e.itemIds){if(typeof s!="string")throw new q("Context usage touch requires string itemIds");let a=s.trim();if(!a)throw new q("Context usage touch requires non-empty itemId");r.add(a)}let i=De(e).iso,o=[...r].map(s=>({kind:"touch",at:i,author:t,item_id:s,intent:n}));await xo(e,o)}function ru(e,t,n,r){return e.find(({entry:i,time:o})=>i.item_id===t&&o>=n&&o-n<=r)?.time}async function kt(e){if(process.env.PM_CONTEXT_USAGE_DISABLED==="1"||e.enabled===!1)return{affinity:{},positive_judgments:0,serving_events:0};let t=await Co(e),n=De(e).ms,r=(e.horizonHours??24)*36e5;if(!Number.isFinite(r)||r<=0)throw new q("Context usage horizonHours must be positive");let i=e.author.trim(),o=t.filter(l=>l.kind==="touch"&&l.author===i).map(l=>({entry:l,time:Date.parse(l.at)})),s=new Map,a=0,d=0;for(let l of t){if(l.kind!=="serve"||l.author!==i)continue;a+=1;let f=Date.parse(l.at);for(let h of l.rows){if(!h.included)continue;let y=ru(o,h.id,f,r);if(y===void 0)continue;d+=1;let g=Math.max(0,(n-y)/So);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(([l,f])=>[l,.05+.95*(c>0?f/c:0)])),positive_judgments:d,serving_events:a}}import Re from"node:fs/promises";import Le from"node:path";import{createHash as iu,randomUUID as ou}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]="a502be8f-57da-53c2-8de0-118a15688d93")}catch{}})();var bn=1,kn=1,Fo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"];function vt(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ao(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function su(e){let t={};for(let n of Fo){let r=e[n];if(r!==void 0){if(!Ao(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function au(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 cu(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 du(e,t){return{...t,activityDensity:t.activityDensity??au(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??cu(e)}}function uu(e){if(!vt(e)||typeof e.id!="string"||!vt(e.signals))return null;let t={},n=new Set(Fo);for(let[r,i]of Object.entries(e.signals)){if(!n.has(r)||!Ao(i))return null;t[r]=i}return{id:e.id,signals:t}}function lu(e){if(!vt(e)||e.format_version!==bn||e.signal_set_version!==kn||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(uu);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:bn,signal_set_version:kn,source_cursor:e.source_cursor,generated_at:e.generated_at,source:e.source,items:n.sort((r,i)=>r.id.localeCompare(i.id))}}function fu(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=_t(e,du(e,t)).map(({id:r,signals:i})=>({id:r,signals:su(i)})).sort((r,i)=>r.id.localeCompare(i.id));return Object.freeze({format_version:bn,signal_set_version:kn,source_cursor:t.sourceCursor,generated_at:t.now,source:t.source,items:Object.freeze(n.map(r=>Object.freeze(r)))})}var vn=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=Le.resolve(t)}async read(){try{return JSON.parse(await Re.readFile(this.filePath,"utf8"))}catch(t){if(vt(t)&&t.code==="ENOENT")return null;throw t}}async write(t){let n=Le.dirname(this.filePath);await Re.mkdir(n,{recursive:!0});let r=Le.join(n,`.${Le.basename(this.filePath)}.${ou()}.tmp`);try{await Re.writeFile(r,`${JSON.stringify(t)}
9
- `,{encoding:"utf8",flag:"wx"}),await Re.rename(r,this.filePath)}finally{try{await Re.rm(r,{force:!0})}catch{}}}},Sn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){let r=[],i=null;try{let l=await this.adapter.read();i=lu(l),l!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(l=>l.id).sort((l,f)=>l.localeCompare(f)),s=i?.items.map(l=>l.id)??[],a=i!==null&&i.source_cursor===n.sourceCursor&&i.source===n.source&&s.length===o.length&&s.every((l,f)=>l===o[f]),d;if(a&&i!==null)d=i;else{i!==null&&r.push("context_signal_store_stale"),d=fu(t,n);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let c=new Map(d.items.map(l=>[l.id,l.signals])),u=_t(t,n);return{snapshot:d,candidates:u.map(l=>({...l,signals:{...l.signals,...c.get(l.id)}})),cache_status:a?"fresh":"rebuilt",warnings:r}}};function mu(e){let t=iu("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 St(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 fe(t.pmRoot),o=t.sourceCursor??i?.source_cursor??mu(e),s=t.source??(i===null?"scan_fallback":"derived_index");return new Sn(new vn(Le.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))).readOrRebuild(e,{...t,sourceCursor:o,source:s})}import pu from"node:path";import{createHash as hu}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 Mo(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 gu 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]="2e225010-1b53-59e9-8188-dcbe4a4f7eb7")}catch{}})();var Do=1,yu=1e4,Ro=12;function _u(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function wu(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 bu(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 ku(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(F(o.status,t.statusRegistry))).map(o=>{let s=Mo(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=_u(a.timestamp),c=`epoch:${d}`,u=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};u.items.push(o),i.set(c,u);let l=wu(s,r);if(l){let f=`epic:${l.id}`,h=i.get(f)??{kind:"epic",key:l.id,label:l.title,items:[]};h.items.push(o),i.set(f,h)}}return{format_version:Do,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(bu).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function vu(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 Su(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(vu)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function Eu(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Do||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(Su)?t:null}function Cu(e){return`scan:${hu("sha256").update(ur(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function xu(e,t,n){return n!==void 0?n:(await fe(t))?.source_cursor??Cu(e)}async function Tu(e){try{let t=Eu(JSON.parse(await gu.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&t.code==="ENOENT")}}}async function Et(e,t){let n=Math.max(1,Math.floor(t.minimumItems??yu));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await xu(e,t.pmRoot,t.sourceCursor),i=pu.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Tu(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=ku(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await sr(i,`${JSON.stringify(d)}
10
- `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function Iu(e,t,n=Ro){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 Lo(e,t,n=Ro){if(e.snapshot===null)return;let r=Iu(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 Fu(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 Oo(e,t,n=5){let r=Fu(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]="dbcd4e0e-3fa0-5ce9-8bbc-6de05779d729")}catch{}})();var Au=["markdown","toon","json","ndjson"],Ne=new Set(["Epic","Feature"]),Ko=10,Bo=1e4,Go=["hierarchy","activity","progress","recently_created","unparented","workload"],Mu=[...Go,"blockers","files","staleness","tests"],Du=/^(\d{4})-(\d{2})-(\d{2})/,Ru=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Lu=/^(\d{4})(\d{2})(\d{2})$/,Ou=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Nu(e){if(!e)return;let t=e.trim().toLowerCase();if(!Au.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var No=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 $u(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!No.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...No].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 Oe(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function og(e,t){let n=Nu(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 Pu(e,t){return P(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ko)}function xn(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 ju(e,t){return t>=Bo&&e===Number.MAX_SAFE_INTEGER?Ko:e}function Uu(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Kt.includes(n))throw new p(`Context --depth must be one of ${Kt.join("|")}`,m.USAGE);return n}function Ku(e,t,n){if(e&&e.length>0){let i=[];for(let o of e){let s=o.trim().toLowerCase();if(!ze.includes(s))throw new p(`Context --section must be one of ${ze.join("|")}`,m.USAGE);i.includes(s)||i.push(s)}return i}return t==="brief"?[]:t==="full"?[...ze]:(t==="deep"?Mu:Go).filter(i=>n.sections[i])}function Bu(e,t){return e?P(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Gu(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 $o(e,t){let n=F(e,t),r=T("in_progress",t),i=T("open",t),o=T("blocked",t),s=T("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 $e(e,t){let n=T("closed",t);return F(e,t)===n}function Tn(e,t){let n=T("in_progress",t);return F(e,t)===n}function zo(e,t){let n=T("open",t);return F(e,t)===n}function zu(e,t){return t.blocked_statuses.has(F(e,t))}var qu=["compact","brief","fields","includeBody","include_body","parent"];function Hu(e){let t={...e};for(let n of qu)delete t[n];return t}function In(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=_e(e),o=Pe(r.id,i);return{ids:new Set([r.id,...o.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Wu(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 Vu(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Yu(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:v(n,r)}function Xu(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Qu(e){let t=Du.exec(e)??Ru.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<=Xu(n,r-1)}function Ju(e){let t=Lu.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Ou.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,u=d?`:${d}`:"",l=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${u}${l}`}return e}function qo(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Qu(t))return Number.NaN;let n=Date.parse(Ju(t));return Number.isFinite(n)?n:Number.NaN}function Cn(e){let t=qo(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Zu(e){let t=qo(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Fn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=$o(e.status,n)-$o(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=Vu(e.order,t.order);if(o!==0)return o;let s=Yu(e.deadline,t.deadline);if(s!==0)return s;let a=v(Cn(t.updated_at),Cn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function En(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function An(e,t,n=new Set,r="context"){return wo(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:En({id:i.id,title:i.item.title}),summary:En({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:En(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Mn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Dn(e,t){return{model:e.model,available_signals:e.available_signals,items:e.ranked.map(n=>({id:n.id,rank:n.rank,baseline_rank:n.baseline_rank,score:n.score,contributions:n.contributions})),...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ho(e,t){return t>0?Math.round(e/t*100):0}function _e(e){let t=new Map;for(let n of e){let r=Fn(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function je(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:Fn(e.parent)};if(t&&n){let i=Pe(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>$e(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Ho(s,o)}}return r}function el(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 Ct(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function tl(e,t){return e.filter(n=>!t.terminal_statuses.has(F(n.item_status,t)))}function nl(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=_e(e),s=new Set(t.filter(d=>Ne.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let u=Pe(d,o),l=o.get(d)??[],f=0,h=0,y=0,g=0;for(let _ of u)$e(_.status,n)?f++:Tn(_.status,n)?y++:zu(_.status,n)?g++:zo(_.status,n)&&h++;let b=l.sort((_,w)=>ie(_,w,n)).slice(0,r).map(_=>{let w=Pe(_.id,o),E=w.filter(x=>$e(x.status,n)).length;return{id:_.id,title:_.title,type:_.type,status:_.status,children_total:w.length,children_closed:E}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:u.length,children_closed:f,children_open:h,children_in_progress:y,children_blocked:g,children:b})}return a.sort((d,c)=>{let u=i.get(d.id),l=i.get(c.id);return ie(u,l,n)}).slice(0,r)}function Pe(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 rl(e,t){return(await ii({compact:!0,limit:String(e)},t)).compact_activity??[]}function il(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=>Ne.has(d.type)),a=[];for(let d of s){let c=Pe(d.id,o),u=c.length;if(u===0)continue;let l=0,f=0,h=0,y=0;for(let g of c)$e(g.status,r)?l++:n.has(g.id.trim().toLowerCase())?y++:Tn(g.status,r)?h++:zo(g.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:u,closed:l,open:f,in_progress:h,blocked:y,completion_pct:Ho(l,u)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function ol(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=Qt(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 sl(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 al(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=>Tn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function cl(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 dl(e,t,n,r){return e.map(i=>({item:i,sortKey:Cn(i.created_at)})).sort((i,o)=>{let s=v(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...je(i,t,n),created_at:i.created_at}))}function ul(e,t,n,r){return e.filter(i=>!Fn(i.parent)&&!Ne.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>je(i,t,n))}function ll(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 u of d)r+=u.passed??0,i+=u.failed??0,o+=u.skipped??0,(u.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 Po(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Wo(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 fl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function ml(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`${Po(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Po(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 jo(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 pl(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 hl(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(`- ${ml(n)}`);e.push("")}function gl(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 yl(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 _l(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)}`:`- ${Zu(i.created_at)} ${Wo(i)}`);e.push("")}}function wl(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 bl(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 kl(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 vl(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 Sl(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 El(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 Cl(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 xl(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 sg(e){let t=[],n=e.focus_fields,r=o=>n?fl(o,n):Wo(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(""),jo(t,"High-level focus",e.high_level,"No high-level active items.",r),jo(t,"Low-level focus",e.low_level,"No low-level active items.",r),pl(t,e,r),hl(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 gl(t,e),yl(t,e),_l(t,e,n,r),wl(t,e,r),bl(t,e),kl(t,e),vl(t,e),Sl(t,e),El(t,e),Cl(t,e),xl(t,e),t.join(`
11
- `)}async function Tl(e,t){let n=C(process.cwd(),t.path),r=await I(n),i=r.context??ir.context,o=$(r.schema),s=Uu(e.depth,i),a=Pu(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Ku(e.section,s,i),activityLimit:Bu(e.activityLimit,i),staleThresholdDays:Gu(e.staleThreshold,i),parentScope:Wu(e.parent),focusFields:$u(e.fields),baseListOptions:Hu(e)}}function Rn(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Il(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Fl(e,t){let n=Rn(t.sectionsIncluded),r=await Y(void 0,Il(t.baseListOptions,{excludeTerminal:!1}),e),i=r.items,o=i.filter(d=>!U(d.status,t.statusRegistry)),s=n||t.parentScope!==void 0?i:o,a=Al(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 Al(e,t){if(e===void 0)return;let n=In(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}async function Ml(e,t,n,r,i,o,s,a,d,c,u,l,f,h){let y=[...e].sort((k,ce)=>ie(k,ce,i)),g=await kt({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),b=await St(y,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:g.affinity}),_=await wt("context",b.candidates),w=_.ranked.map(k=>k.item),E=i.active_statuses,x=w.filter(k=>E.has(F(k.status,i))),R=l?Ye(x,c,u,k=>k.id):0,S=l?x.slice(R,R+s):x,K=l&&S.length>0&&R+S.length<x.length,Ge=K&&S.length>0?ve(u,S[S.length-1].id,R+S.length-1):void 0,Nt=w.filter(k=>r.has(k.id.trim().toLowerCase())),$t=new Set([...S.map(k=>k.id),...Nt.slice(0,s).map(k=>k.id)]),Z=An({..._,ranked:_.ranked.filter(k=>$t.has(k.id))},h),se=Z.included.map(k=>k.item),ee=se.filter(k=>E.has(F(k.status,i))),ae=se.filter(k=>r.has(k.id.trim().toLowerCase())),Pt=_e(t),jt=Rn(o)?Pt:void 0,W=new Map(n.map(k=>[k.id.trim().toLowerCase(),k])),B=k=>{let ce=je(k,i,jt);return r.has(k.id.trim().toLowerCase())&&(ce.blocked=!0,ce.blocker_ids=Qt(k,W,i).filter(Ut=>!Ut.resolved).map(Ut=>Ut.id)),ce},sa=ee.filter(k=>Ne.has(k.type)).slice(0,l?S.length:s).map(B),aa=ee.filter(k=>!Ne.has(k.type)).slice(0,l?S.length:s).map(B),tr=x.length===0;return{activeItems:ee,blockedItems:ae,highLevel:sa,lowLevel:aa,blockedFallback:tr?ae.slice(0,s).map(B):[],blockedFallbackUsed:tr,ranking:_,packing:Z,featureStore:b,pageExtras:{...l?{applied_limit:s}:{},...K?{has_more:!0,truncated:!0}:{},...Ge?{next_cursor:Ge}:{}}}}function Dl(e){return le("context",ue(e,mr))}function Rl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Bo}async function Ll(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await ho(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=tl(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:el(a)}}function Uo(e,t,n){let r=String(t);return e.filter(i=>F(i.status,n)===r).length}async function Ol(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=_e(n),c=n.filter(l=>!U(l.status,t.statusRegistry)),u=l=>t.sectionsIncluded.includes(l);return{hierarchy:u("hierarchy")?nl(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:u("activity")?await rl(t.activityLimit,a):void 0,progress:u("progress")?il(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:u("blockers")?ol(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:u("recently_created")?dl(c,t.statusRegistry,d,t.limit):void 0,unparented:u("unparented")?ul(c,t.statusRegistry,d,t.limit):void 0,filesSection:u("files")?sl(o.activeItems,t.limit):void 0,workload:u("workload")?al(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:u("staleness")?cl(c,t.staleThresholdDays,s,t.limit):void 0,tests:u("tests")?ll(o.activeItems):void 0}}function Nl(e,t,n){if(!e)return{};let r=T("canceled",n);return{total_items:t.length,closed:t.filter(i=>$e(i.status,n)).length,canceled:t.filter(i=>F(i.status,n)===r).length}}function $l(e,t){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)}function Pl(e,t){t&&(e.focus_fields=t,e.high_level=Oe(e.high_level,t),e.low_level=Oe(e.low_level,t),e.blocked_fallback=Oe(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Oe(e.recently_created,t)),e.unparented&&(e.unparented=Oe(e.unparented,t)))}function jl(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 Ul(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 Kl(e,t,n,r){try{let i=new Set(t.packing.included.map(o=>o.id));await bt({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=Ct(e.warnings,["context_usage_feedback_write_failed"])}}async function Bl(e,t,n){if(e)return{};let i=(await lr({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 ag(e,t){let n=C(process.cwd(),t.path),r=await Tl(e,t),i=await Fl(t,r),o=ju(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:xn(e.tokenBudget,Math.max(256,o*160))},a=te(void 0,s.settings.author_default),d=Bl(e.noExtensionHealth===!0,n,s.settings),c=tt(i.fullCorpus,s.statusRegistry),u=await Ml(i.listedItemMetadata,i.allItems,i.fullCorpus,c,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,Dl(e),Rl(e,i.fullCorpus.length),n,s.tokenBudget),l=await Ll(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(E=>E.id))),f=await Et(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:l.agenda.now}),h=Ct(i.listed.warnings,l.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],f.warnings),y=Uo(u.activeItems,T("in_progress",s.statusRegistry),s.statusRegistry),g=Uo(u.activeItems,T("open",s.statusRegistry),s.statusRegistry),b=await Ol({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:c,focusGroups:u,now:l.agenda.now,global:t}),_=Nl(Rn(s.sectionsIncluded),i.allItems,s.statusRegistry),w={output_default:"toon",now:l.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:l.agenda.anchor,start:l.agenda.range.start,end:l.agenda.range.end,past:l.agenda.range.past,from:l.agenda.range.from,to:l.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??l.agenda.filters.runtime_filters??{}},summary:{active_items:u.activeItems.length,in_progress:y,open:g,blocked:u.blockedItems.length,blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:l.agendaSummary.events,..._},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:l.agendaSummary,events:l.agendaEvents},...u.pageExtras};return w.workspace_memory=Lo(f,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await d),$l(w,b),jl(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=Dn(u.ranking,u.featureStore),w.packing=Mn(u.packing)),Pl(w,s.focusFields),h.length>0&&(w.warnings=h),Ul(w,u.activeItems,u.blockedItems),await Kl(w,u,n,a),w}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3431d4d4-e053-5416-b3d1-6dbfbed0142d")}catch{}})();var Gl=["markdown","toon","json"],zl=5,ql=1440*60*1e3;function Hl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Gl.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function _g(e,t){let n=Hl(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 Vo(e,t,n){let r=P(e,t);return r===void 0||r<=0?n:r}function Ln(e,t,n,r){return{...je(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 Wl(e,t,n,r){let i=e.item,o=[],s=T("in_progress",t);return o.push(F(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(Yl(i.deadline,n)),o.push(Vr(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 Xo(e,t,n){let r=te(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 wg={partitionCallerOwnedReady:Xo,resolveNextCallerAuthor:(e,t)=>Qo(e,t)};function Vl(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 Yl(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))/ql);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function Xl(e,t){let n=T("in_progress",t);return e.filter(r=>F(r.status,t)===n).length}function On(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Ql(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 Yo(e,t,n){return[...e].sort((r,i)=>{let o=On(r.item,t),s=On(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function Jl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Wl(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Zl(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 ef(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 tf(e){try{let t=new Set(e.packing.included.map(n=>n.id));await bt({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=Ct(e.result.warnings,["context_usage_feedback_write_failed"])}}async function nf(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=Dn(e.readyRanking,e.featureStore),e.result.packing=Mn(e.packing)),e.result.suggestions=Zl(e.recommended,e.blockedRows),await tf({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function rf(e,t,n){if(!n)return e;let r=In(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 of(e,t,n,r,i,o,s){let a=e.filter(g=>!On(g.item,t)),d=a.length>0?a:e,c=await kt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await St(d.map(g=>g.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:c.affinity}),l=await wt("next",u.candidates),f=An(l,s,new Set,"next"),h=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:l.ranked.map(g=>h.get(g.id)).filter(g=>g!==void 0),ranking:l,completedContainer:a.length===0,packing:f,featureStore:u}}function Qo(e,t){let n=e.assignee?.trim();return te(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function bg(e,t){let n=C(process.cwd(),t.path),r=await I(n),i=Qo(e,r.author_default),o=$(r.schema),s=D(),a=Vo(e.limit,"--limit",zl),d=xn(e.tokenBudget,Math.max(192,a*128)),c=Vo(e.blockedLimit,"--blocked-limit",a),u=e.readyOnly===!0,l=typeof e.parent=="string"?e.parent.trim():"",f=await Y(void 0,Ql(e,{excludeTerminal:!0}),t),h=await Y(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=rf(f.items,h.items,l),g=h.items,b=Yr(y,g,o),_=_e(g),w=Vl(b.ready,e.includeDecisions===!0),E=Xo(w.agent,r.author_default,i),x=Yo(E.available,_,o),R=[...b.blocked].sort((W,B)=>ie(W.item,B.item,o)),{projectedReady:S,ranking:K,completedContainer:Ge,packing:Nt,featureStore:$t}=await of(x,_,o,s,i,n,d),Z=S.map((W,B)=>Ln(W,o,_,B+1)),se=R.map((W,B)=>Ln(W,o,_,B+1)),ee=Yo(w.decisions,_,o).map((W,B)=>Ln(W,o,_,B+1)),ae=Jl({projectedReady:S,readyRows:Z,statusRegistry:o,now:s,completedContainer:Ge}),Pt=ef(ee.length,E.held.length,a),jt={output_default:"toon",now:s,recommended:ae,ready:Z.slice(1,a+1),decision_needed:ee.slice(0,a),blocked:u?[]:se.slice(0,c),held_by_others:E.held.slice(0,a),summary:{recommended:ae!==null,ready:Z.length,blocked:se.length,in_progress:Xl(Z,o),candidates:b.active_count,containers:b.container_count,decision_needed:ee.length,held_by_others:E.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:l.length>0?l:null,limit:a,blocked_limit:c,ready_only:u,include_decisions:e.includeDecisions===!0,token_budget:d},truncation:Pt};return nf({result:jt,recommended:ae,blockedRows:se,candidatesWarnings:f.warnings,corpusWarnings:h.warnings,readyRanking:K,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packing:Nt,featureStore:$t})}function kg(e){let t=["# pm next","",...sf(e)];if(t.push(...xt("Recommended",af(e.recommended),"No ready work.")),t.push(...xt("Decision needed",(e.decision_needed??[]).map(n=>`- ${Tt(n)}`),"No human-gated decisions.")),t.push(...xt("Ready",e.ready.map(n=>`- ${Tt(n)}`),"No ready items.")),e.filters.ready_only||t.push(...xt("Blocked",e.blocked.map(n=>`- ${cf(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 sf(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 af(e){return e?[`- ${Tt(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function xt(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function cf(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Tt(e)} blocked_by:${t}`}function Tt(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]="1638ef81-7558-5d51-8561-99c958de2d03")}catch{}})();function df(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function uf(e,t){return e.map((n,r)=>{let i=new Set,o=Sr(n.patch);for(let s of o)i.add(Ht(s.path)),s.from&&i.add(Ht(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 lf(e,t){let n=C(process.cwd(),t.path);if(!await L(N(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await I(n),i=O(r,M()),o=e.trim()===qt,s=o?qt:Ar(e,r.id_prefix),a=await Qe(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?Er(n):We(n,d);if(!a&&!await L(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Ir({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function Ig(e,t,n){let r=ne(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await lf(e,n),d=await V(i,s),c=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),l=ot({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},c,u),f=d.map((S,K)=>({entry:S,version:K+1})).filter(({entry:S})=>l(S)),h=df(f,r),y=h.map(({entry:S})=>S),g=t.compact===!0,b=g?uf(y,Math.max(0,d.length-y.length)):void 0,_=t.provenance===!0?h.map(({entry:S,version:K})=>it(S,c,{itemId:s,version:K})):void 0,w=t.provenance===!0?"provenance":g?"compact":"full",E={compact:{compact_history:b},provenance:{provenance_history:_},full:{history:y}}[w],R={id:s,...E,compact:g,projection:{mode:w,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[w]},omission_receipt:Ve("history",w),count:y.length,limit:r??null,...t.provenanceSummary===!0?{provenance_summary:st(f.map(({entry:S})=>S),c,u)}:{}};if((t.diff||t.field!==void 0)&&(R.diff=jr(d,{windowStartIndex:Math.max(0,d.length-y.length),field:t.field})),t.verify){let S=o?(await Je(o,{schema:a.schema})).document:void 0;R.verification=Jr(d,S)}return R}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e14b978-95c9-5922-b8cb-c49d24e6f8c4")}catch{}})();var Jo=1e6,Zo=20;function es(e,t,n,r=Zo){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>Jo)throw new p(`Child projection exceeded the ${Jo.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,U(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})),u=s.length>c.length,l=r===0?Zo: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:u,next_offset:u?c.length:null,continuation:u?`pm list --status all --parent ${e} --offset ${c.length} --limit ${l}`: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 ff=new Set(["event","meeting","reminder"]);function mf(e){return ff.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function ts(e){if(!mf(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]="5536c6eb-5d51-5b67-879d-c1d0bfa5b692")}catch{}})();var pf=["brief","standard","deep"],hf=new Set(["epic","feature","milestone","plan"]),gf=new Set(Object.keys(rr).map(e=>e.toLowerCase()));function rs(e){let t=e.trim().toLowerCase();return t.length>0&&(hf.has(t)||!gf.has(t))}function ns(e){return{ts:e.ts,author:e.author,message:e.message??null}}function yf(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?ns(i):null,last_release:o?ns(o):null}}function _f(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(pf.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function wf(e,t){if(t==="deep")return e;let{comments:n,notes:r,learnings:i,files:o,tests:s,docs:a,reminders:d,events:c,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0}}function bf(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 Ft(e){return e.startsWith("item.")?e.slice(5):e}function kf(e,t){if(e===null)return;let n=new Set([...qe,...t,"notes_count","tests_count"]),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=Ft(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"]})}function vf(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0},i={};for(let o of t){let s=Ft(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]=Object.hasOwn(r,s)?r[s]:n[s])}return i}function Ue(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function It(e,t){return e.some(n=>{let r=Ft(n);return r===t||r.startsWith(`${t}.`)})}function Sf(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":_f(e.depth),treeDepth:e.tree===!0?P(e.treeDepth,"--tree-depth"):void 0,fields:bf(e.fields),fieldProjection:e.fields!==void 0}}async function Ef(e,t,n){let r=C(process.cwd(),t.path);if(!await L(N(r)))throw new p(`Tracker is not initialized at ${r}. Run pm init first.`,m.NOT_FOUND);let i=await I(r),o=O(i,M());if(n!==void 0){let d=await Zr(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 Qe(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Or(r,e,i.id_prefix,o.type_to_folder);let a=await Je(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 Cf(e,t,n){let r=G(t.schema).definitions.map(i=>i.metadata_key);if(kf(e,r),n&&It(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Nn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?Ue(r,i):It(r,i):n!=="brief"}async function xf(e,t){if(!t)return;let n=We(e.pmRoot,e.locatedId),r=await V(n,e.locatedId);return yf(e.metadata.assignee,e.historical?r.slice(0,e.historical.as_of_version):r)}function Tf(e,t,n,r){let i=r||Ue(n,"linked.files"),o=r||Ue(n,"linked.tests"),s=r||Ue(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 If(e,t,n,r){if(!t)return;let i=$(e.settings.schema),o=await J(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema),s=es(e.locatedId,o,i,r?void 0:0);return s.count>0||n?s:void 0}function Ff(e,t,n,r){if(!r)return;let i=ts(t.metadata);if(i){if(n===null||Ue(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Ft(s)===`schedule.${o}`)))}}async function Af(e,t,n,r){if(t.tree!==!0)return;let i=await Y(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 zg(e,t,n={}){let r=Sf(n),i=await Ef(e,t,n.at);Cf(r.fields,i.settings,i.historical!==void 0);let o=Nn({...r,field:"body"}),s=Nn({...r,field:"linked"}),a=Nn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?It(r.fields,"children"):r.depth!=="brief"&&rs(i.metadata.type)),c=r.fieldProjection?It(r.fields,"schedule"):r.depth!=="brief",u=await xf(i,a),l={item:r.fieldProjection?vf(i.metadata,r.fields):wf(i.metadata,r.depth)};o&&(l.item.body=i.body),Tf(l,i,r.fields,s),u&&(l.claim_state=u),Ff(l,i,r.fields,c);let f=await If(i,d,r.fieldProjection,r.fieldProjection||r.depth==="deep");f!==void 0&&(l.children=f);let h=await Af(i,n,r.treeDepth,t);if(h!==void 0&&(l.tree=h),i.historical&&(l.reconstructed=!0,l.as_of_version=i.historical.as_of_version,l.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await Io({pmRoot:i.pmRoot,author:te(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return l}var qg={shouldAutoIncludeGetChildren:rs};(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 is(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 Mf=[{optionKey:"status",summaryKey:"status",normalize:e=>is(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 Ke(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,u={};return sn(u,r,Mf),Object.assign(u,Me(r)),Object.assign(u,Ae(r)),n!==void 0&&n!=="or"&&(u.match_mode=n),i&&(u.include_linked=!0),o&&(u.title_exact=!0),s&&(u.phrase_exact=!0),a>0&&(u.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(u.hybrid_semantic_weight=d),r.limit!==void 0&&(u.limit=r.limit),c&&Object.keys(c).length>0&&(u.runtime_filters=c),u}function Be(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:u,runtimeFieldFilters:l}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||is(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),...Me(r),...Ae(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:u.enabled,rerank_model:u.model,rerank_top_k:u.top_k,limit:f(r.limit),runtime_filters:l}}(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 Df(e){return le("search",{query:e.query.trim(),mode:e.mode,options:ue(e.searchOptions,pr)})}function os(e){let t=hr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Df(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 Rf=["id","title","status","type","priority","updated_at","score","matched_fields"],Lf=new Set(["score","matched_fields","highlights"]),Of=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 ss(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 At(e){return e===!0}function as(e){return dr(e,0,1)??void 0}function cs(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 ds(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 we(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return j(n,new Date,t)}function Q(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function $n(e,t){if(e!==void 0)return j(e,new Date,t)}function Nf(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 Pn(e){let t=e.compact===!0,n=e.full===!0,r=Nf(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:[...Rf]}:n?{mode:"full",fields:[]}:r?{mode:"fields",fields:r}:{mode:"full",fields:[]}}function jn(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!Lf.has(o)&&!Of.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 Un(e){let t=Q(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function Kn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}function Bn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Gn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function zn(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 Dt from"node:fs/promises";import Xn 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]="7288620a-5aa7-50f9-a271-45b2722a4887")}catch{}})();function $f(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function be(e){return $f(e).split(/[^a-z0-9]+/).filter(t=>t.length>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]="42fde1a1-ee4b-5564-93b2-78d5a0fc7555")}catch{}})();var qn=4,Pf=20,jf=200,Uf=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function Hn(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 Kf(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 Bf(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 us(e,t=qn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=be(n);if(r.length===0)return[n];let i=r.filter(a=>!Uf.has(a.toLowerCase())),o=r.map(a=>Kf(a)),s=i.map(a=>Bf(a));return Hn([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function ls(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Hn(t.filter(n=>typeof n=="string"),qn):[]}function fs(e,t,n){return Hn([...e,...t],Math.max(1,n))}function ms(e,t){let r=e.search?.query_expansion,i=ke(r?.provider);return{enabled:r?.enabled===!0,provider:i??t,max_queries:qn}}function ps(e,t){let r=e.search?.rerank,i=ke(r?.model),s=cr(r?.top_k)??Pf;return{enabled:r?.enabled===!0,model:i??t,top_k:Math.min(jf,s)}}function hs(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=ke(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 Gf(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function gs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function zf(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Gf(e,t),i=gs(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 ys(e,t,n,r,i){if(r.length===0)return new Map;let o=ke(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(f=>f.text)],d=await et(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let u=gs(c),l=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],y=d[f+1];if(!y)continue;let g=zf(c,y,u);l.set(h.id,Math.max(0,Math.min(1,(g+1)/2)))}return l}(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 qf=1.2,Hf=.75;function Wn(e){return be(e)}function Wf(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function ws(e){let t=[],n=new Map,r=0;for(let o of e){let s=Wn(o.text),a=Wf(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 Vf(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function bs(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,Vf(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 u=s.termFrequencies.get(d);if(u===void 0)continue;let l=1-n.b+n.b*s.length/e.averageDocumentLength,f=u+n.k1*l;a+=c*(u*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function _s(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function ks(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 vs(e){let t=e?.search?.bm25;return{k1:_s(t?.k1,qf,0,1e3),b:_s(t?.b,Hf,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 Yf=2,Xf=120,Qf=6,Jf=40,Zf=1e3,em=900,tm="\xAB",nm="\xBB",Ss=60,xs=["tag","status","type","priority"];function Ts(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 Is(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Ts(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 Fs(e,t){let n=Is(t);return`search_${e}_fallback:${n}:using_keyword_mode`}async function As(e,t,n){try{let r=await Hr(e);r.warnings.length>0&&n.push(...r.warnings);let i=Qr(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 Xy={applyFilters:Ns,applyExactQueryFilters:Os,applyInlineQueryFilters:Ds,buildHitHighlights:Gs,buildVerboseSearchFilters:Be,buildExplicitSemanticFallbackWarning:Fs,buildCompactSearchFilterSummary:Ke,buildHybridLexicalScore:Hs,buildRerankCorpus:ta,buildSemanticHits:Qs,classifyImplicitSemanticFallbackReason:Is,collectErrorCauseCodes:Ts,collectExactPhraseFields:Rs,collectLinkedPaths:$s,combineHybridHits:er,computeBuiltInBm25Hits:Zs,computeSemanticOrHybridHits:na,resolveBuiltInBm25Mode:Js,countOccurrences:Jn,dependencyEntries:Qn,documentContainsExactPhrase:Ls,emptySearchResult:Ws,highlightFieldSnippet:Bs,loadDocuments:ra,markTokenRuns:Ks,parseInlineQueryFilters:Ms,maybeEmitVectorIndexStaleWarning:As,loadLinkedCorpus:js,mergeVectorHitsById:ea,normalizeExtensionProviderHits:Xs,normalizeScoreMap:Vn,parseProjectionConfig:Pn,parseTimestampWindow:we,parseTokens:Un,projectSearchHits:oa,readSearchFieldValue:ia,requireSemanticDependencies:Zn,resolveExtensionSearchProvider:Vs,resolveExtensionSearchProviderByName:Ot,resolveExtensionVectorAdapter:Ys,resolveLinkedCorpusRoots:Ps,scoreDocument:zs,sortHits:qs,stringArray:Lt,textEntries:oe,validateSearchProjectionFields:jn};function Ms(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=xs.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 Ds(e,t,n){let r={...e};for(let i of xs){let o=t[i];if(o!==void 0){if(A(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Lt(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function oe(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Qn(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function Rs(e){let t=e.metadata;return[t.title,t.description,t.status,Lt(t.tags).join(" "),e.body,oe(t.comments).map(n=>n.text).join(" "),oe(t.notes).map(n=>n.text).join(" "),oe(t.learnings).map(n=>n.text).join(" "),Wt(t).join(" "),Vt(t).join(" "),Qn(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),Yt(t)]}function Ls(e,t){return Rs(e).some(n=>Q(n).includes(t))}function Os(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&Q(r.metadata.title)!==t||n.phraseExact&&!Ls(r,t)))}function rm(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 im(e,t,n){let r=z(e.assignee,{label:"--assignee"});rm(r);let i=mt(e),o=Fe(e);return{typeFilter:at(e.type,t),tagFilter:z(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:ct(e.priority),deadlineBefore:$n(e.deadlineBefore,"deadline-before"),deadlineAfter:$n(e.deadlineAfter,"deadline-after"),updatedAfter:we(e.updatedAfter,"updated-after"),updatedBefore:we(e.updatedBefore,"updated-before"),createdAfter:we(e.createdAfter,"created-after"),createdBefore:we(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:z(e.sprint,{label:"--sprint"}),releaseFilter:z(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:xe(i),contentFieldFilters:o,contentFiltersActive:lt(o)}}function om(e,t){return sm(e,t)&&am(e,t)&&cm(e,t)}function sm(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&&!Lt(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function am(e,t){return Xe(e,t)}function cm(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 dm(e,t,n,r){let i=e.metadata;return!(!om(i,t)||!he(i,n)||t.missingMetadataActive&&!ut(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ft(i,t.contentFieldFilters))}function Ns(e,t,n,r,i,o){let s=im(t,n,i);return e.filter(a=>dm(a,s,r,o))}function Jn(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 um(e){return be(e)}function $s(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 Es(e){let t=Xn.resolve(e);try{let n=await Dt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function Ps(e,t){let[n,r]=await Promise.all([Es(e),Es(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function js(e,t){let n=$s(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=Xn.resolve(o.resolved,i.path);if(!Bt(o.resolved,s))continue;let a;try{a=await Dt.realpath(s)}catch{continue}if(Bt(o.realpath,a))try{await Se({path:s,scope:i.scope}),r.push(await Dt.readFile(s,"utf8"))}catch{}}return r.join(`
14
- `)}var Us=[{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=>Lt(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=>oe(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>oe(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>oe(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>Wt(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>Vt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Qn(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>Yt(e.metadata)}],lm=new Map(Us.map(e=>[e.name,e]));function fm(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ks(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(fm);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${tm}${i}${nm}`)}function Bs(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let u of t){if(u.length===0)continue;let l=n.indexOf(u);l>=0&&(r<0||l<r)&&(r=l,i=u.length)}if(r<0)return null;let o=Math.max(0,r-Ss),s=Math.min(e.length,r+i+Ss),a=Ks(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Gs(e,t,n){let r=[];for(let i of t){let o=lm.get(i);if(o===void 0)continue;let s=Bs(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function mm(e,t,n){return[...Us.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function pm(e,t,n){let r=Q(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=Q(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?Zf:em,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function hm(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=Jn(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function gm(e,t,n,r){Q(e.title)===t&&(r.score+=Xf,r.matched.add("title"));for(let o of n){let s=Jn(Q(o.value),t);s>0&&(r.score+=s*o.weight*Qf,r.matched.add(o.name))}}function zs(e,t,n,r,i,o,s=!1){let a=e.metadata,d=pm(a,n,o);if(d)return d;let c=new Map;for(let g of um(a.title))c.set(g,(c.get(g)??0)+1);let u=mm(e,r,i),l={score:0,matched:new Set,matchedTokens:new Set};hm(t,c,u,i,l);let f=new Set(t),h=f.size>0&&l.matchedTokens.size===f.size;return s&&f.size>1&&h&&(l.score+=Jf),t.length>=Yf&&n.includes(" ")&&gm(a,n,u,l),l.score<=0?null:{item:a,score:l.score,matched_fields:[...l.matched].sort((g,b)=>g.localeCompare(b)),matched_all_terms:h}}function qs(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=U(n.item.status,t),s=U(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=v(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function Hs(e,t,n,r,i,o,s,a=!1){return zs(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Vn(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 Ws(e,t,n,r,i,o,s,a,d,c,u,l,f=!1){let h=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let b=Ke({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:l});return{query:e.trim(),mode:t,items:[],count:0,...h,filters:b,...u.length>0?{warnings:u}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,items:[],count:0,...h,filters:Be({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:l??{}}),projection:{mode:c.mode,fields:g},now:D(),...u.length>0?{warnings:u}:{}}}function Zn(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 H=A;function Ot(e){let t=M(),n=$r(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=H(r.name)??H(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 Vs(e){let t=H(e.search?.provider),n=Ot(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Ys(e){let t=M(),n=H(e.vector_store?.adapter),r=Pr(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:H(i.name)??H(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function Xs(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=H(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 u=s.matched_fields,l=Array.isArray(u)&&u.every(f=>typeof f=="string")?[...new Set(u.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:l})}return o}function Qs(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 Rt(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,u)=>Math.max(c,u.score),0),s=n.sort((c,u)=>u.score-c.score),a=o+s.length+1;return[...s.map((c,u)=>({...c,score:a-u,matched_fields:["id"]})),...i]}function er(e,t,n,r,i="semantic"){let o=new Map(n.map(l=>[l.item.id,l.score])),s=new Map(n.map(l=>[l.item.id,l.matched_fields])),a=Vn(t),d=Vn(o),c=new Set([...t.keys(),...o.keys()]),u=1-r;return[...c].map(l=>{let f=e.get(l),h=a.get(l)??0,y=d.get(l)??0,g=h*r+y*u;if(g<=0)return null;let b=new Set;t.has(l)&&b.add(i);for(let _ of s.get(l)??[])b.add(_);return{item:f.metadata,score:g,matched_fields:[...b].sort((_,w)=>_.localeCompare(w))}}).filter(l=>l!==null)}function Js(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Zs(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:ks(zr(s,{fields:e.corpusFields}))})),n=ws(t),r=bs(n,Wn(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 Rt(s,e.keywordHits)}let o=er(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Rt(o,e.keywordHits)}function ea(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 ta(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 ym(e,t){let n=e.queryExpansion.enabled?us(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 fs(r,ls(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 _m(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 Xt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Xt(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 wm(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:ta(o)}:null}).filter(i=>i!==null)}async function bm(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=hs(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 km(e,t,n){let r=await bm(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await ys(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function vm(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 Sm(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=wm(n,r,e.rerank.top_k),o=await km(e,t,i);return o&&o.size>0?vm(n,o):n}async function na(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 ym(e,i),s=await et(e.provider,o,n),a=await Promise.all(s.map(async y=>await _m(e,y,t,r))),d=ea(a),c=new Map(e.filteredDocuments.map(y=>[y.metadata.id,y])),{semanticHits:u,semanticScores:l}=Qs(d,c),f=l.size;if(e.requestedMode==="semantic")return{hits:Rt(u,e.keywordHits),vectorMatchCount:f};let h=await Sm(e,i,er(c,l,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Rt(h,e.keywordHits),vectorMatchCount:f}}async function ra(e,t,n,r){let i=or(M()),o=async(c,u,l)=>{let f=async(h,y)=>{await Se({path:h,scope:"project"});let g=await Dt.readFile(h,"utf8");return wr(g,{format:y,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await f(u,l)}catch{let h=l==="toon"?"json_markdown":"toon",y=Gt(e,c.type,c.id,h,n);try{return await f(y,h)}catch{return s.push(`item_list_item_read_failed:${Xn.relative(e,y)}`),""}}},s=[],a=await Rr(e,t,n,s,r),d=[];if(a.length===0){let c=await Ze(e,t,n,s,r);for(let u of c){let l=Gt(e,u.type,u.id,t,n),f=await o(u,l,t);d.push({metadata:u,body:f})}return{documents:d,warnings:[...new Set(s)].sort((u,l)=>u.localeCompare(l))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let u=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:u})}return{documents:d,warnings:[...new Set(s)].sort((c,u)=>c.localeCompare(u))}}function ia(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 oa(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]=ia(n,i);return r})}function Em(e){let t=Ot(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Cm(e){let t=Ot(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function xm(e,t){let n=[],r=Ms(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=Ds(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:At(s.includeLinked),titleExact:At(s.titleExact),phraseExact:At(s.phraseExact),matchMode:cs(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ds(s.minScore),countOnly:s.count===!0,tokens:Un(o),normalizedQuery:Q(o),limit:ne(s.limit),projection:Pn(s),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function Tm(e,t){let n=C(process.cwd(),t.path);if(!await L(N(n)))throw new p(`Tracker is not initialized at ${n}. Run pm init first.`,m.NOT_FOUND);let r=await I(n),i=Kr(r).settings,o=$(i.schema),s=G(i.schema);jn(e.projection,s);let a=pe(e.options,s,"search"),d=O(i,M()),c=Br(i),u=qr(i,n),l=Vs(i),f=Ys(i),h=as(e.options.semanticWeight),y=ms(i,c.active?.name??null),g=ps(i,c.active?.model??H(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Kn(i),scoreThreshold:e.minScoreOverride??Bn(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Gn(i),tuning:zn(i),providerResolution:c,vectorResolution:u,extensionSearchProvider:l,extensionVectorAdapter:f,bm25Mode:Js({configuredProvider:H(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:l!==null}),queryExpansion:y,queryExpansionExtension:Em(y),rerank:g,rerankExtension:Cm(i),effectiveMode:ss(e.options.mode)}}async function Im(e,t){let n=await ra(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=me(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=dt(t.statusRegistry),o=Ns(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Os(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Fm(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await Ps(i,ar(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await js(a,o)]));for(let[a,d]of s)r.set(a,d);return r}async function Am(e,t,n){let r=await Fm(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>Hs(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 Cs(e,t){return Ws(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 Mm(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Zs({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Gr(t.settings),bm25Params:vs(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 Dm(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 Xs(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 Rm(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 Lm(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await As(e.pmRoot,n,r),e.extensionSearchProvider||Zn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Om(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await Mm(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Lm(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let u=new Map(r.map(l=>[l.metadata.id,l]));if(a=await Dm(t,n,r,u)??a,a===i){let{provider:l,vectorStore:f}=Zn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await na({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:l,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=Rm(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(u){return o.push(Fs(n.effectiveMode,u)),{effectiveMode:"keyword",hits:i}}}function Nm(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Yn({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:Ke({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 Yn({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:Be({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:D()},e.warnings)}function Yn(e,t){return t.length===0?e:{...e,warnings:t}}function Mt(e,t){return t?{...e,workspace_memory:t}:e}function $m(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:Gs(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 Pm(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Yn({query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:Ke({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:Be({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:D(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function jm(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function Qy(e,t,n){jm(t);let r=xm(e,t),i=await Tm(r,n),o=await Im(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await Et(o.allDocuments.map(x=>x.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:D()});s.push(...a.warnings);let d=Oo(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 Mt(Cs({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let u=await Am(r,i,o.filteredDocuments),l=await Om({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:u,warnings:s,modeWasExplicit:r.modeWasExplicit});if(l.effectiveMode!=="keyword"&&l.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Mt(Cs({...c,effectiveMode:l.effectiveMode},r.countOnly),d);let f=l.hits.filter(x=>x.exact_id_match===!0||x.score>=i.scoreThreshold),h=qs(f,i.statusRegistry),y=h.length,g=os({sorted:h,query:r.query,mode:l.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),b={...c,effectiveMode:l.effectiveMode};if(r.countOnly)return Mt(Nm(b,y),d);let{hits:_,projection:w}=$m(r,o.filteredDocuments,g.limited),E=oa(_,w);return Mt(Pm(b,E,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 n_(e,t={}){let n=await Xr({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{Zr as a,P as b,nt as c,ei as d,rt as e,ca as f,it as g,st as h,ii as i,th as j,tn as k,z as l,at as m,ct as n,dt as o,Ep as p,Cp as q,Tp as r,mt as s,Fe as t,hi as u,gi as v,Ua as w,Ka as x,Jp as y,sn as z,Ae as A,Me as B,Y as C,Zp as D,sh as E,ah as F,mh as G,ph as H,hh as I,ho as J,wn as K,_t as L,Td as M,_o as N,Dd as O,wt as P,Rd as Q,Ld as R,Pd as S,jd as T,bh as U,Ud as V,wo as W,q as X,bt as Y,Th as Z,Io as _,kt as $,bn as aa,kn as ba,lu as ca,fu as da,vn as ea,Sn as fa,St as ga,yu as ha,ku as ia,Et as ja,Iu as ka,Lo as la,Fu as ma,Oo as na,Au as oa,$u as pa,Oe as qa,og as ra,xn as sa,Uu as ta,Ku as ua,In as va,ie as wa,An as xa,Mn as ya,Dn as za,_e as Aa,je as Ba,Ct as Ca,sg as Da,jl as Ea,ag as Fa,Gl as Ga,_g as Ha,wg as Ia,Vl as Ja,bg as Ka,kg as La,Ig as Ma,Jo as Na,Zo as Oa,es as Pa,zg as Qa,qg as Ra,Ke as Sa,Be as Ta,Df as Ua,os as Va,Kn as Wa,Bn as Xa,Gn as Ya,zn as Za,Ts as _a,Is as $a,Xy as ab,Qy as bb,n_ as cb};
16
- //# sourceMappingURL=chunk-FNOKJG6N.js.map