@unbrained/pm-cli 2026.9.21 → 2026.9.22

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 (250) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +21 -1
  3. package/dist/cli/commander-usage.d.ts +5 -1
  4. package/dist/cli/commander-usage.js +2 -2
  5. package/dist/cli/commands/annotations/comments.d.ts +2 -0
  6. package/dist/cli/commands/{comments.js → annotations/comments.js} +1 -1
  7. package/dist/cli/commands/{docs.d.ts → annotations/docs.d.ts} +2 -2
  8. package/dist/cli/commands/{docs.js → annotations/docs.js} +1 -1
  9. package/dist/cli/commands/{files.d.ts → annotations/files.d.ts} +2 -2
  10. package/dist/cli/commands/{files.js → annotations/files.js} +1 -1
  11. package/dist/cli/commands/annotations/learnings.d.ts +2 -0
  12. package/dist/cli/commands/{learnings.js → annotations/learnings.js} +1 -1
  13. package/dist/cli/commands/annotations/notes.d.ts +2 -0
  14. package/dist/cli/commands/{notes.js → annotations/notes.js} +1 -1
  15. package/dist/cli/commands/extension/extension.d.ts +6 -0
  16. package/dist/cli/commands/{extension.js → extension/extension.js} +1 -1
  17. package/dist/cli/commands/{gc.d.ts → governance/gc.d.ts} +2 -2
  18. package/dist/cli/commands/{gc.js → governance/gc.js} +1 -1
  19. package/dist/cli/commands/governance/health.d.ts +6 -0
  20. package/dist/cli/commands/{deps.js → governance/health.js} +2 -2
  21. package/dist/cli/commands/governance/telemetry.d.ts +6 -0
  22. package/dist/cli/commands/{telemetry.js → governance/telemetry.js} +1 -1
  23. package/dist/cli/commands/governance/validate.d.ts +9 -0
  24. package/dist/cli/commands/governance/validate.js +2 -0
  25. package/dist/cli/commands/history/activity.d.ts +6 -0
  26. package/dist/cli/commands/{activity.js → history/activity.js} +1 -1
  27. package/dist/cli/commands/history/history-compact.d.ts +7 -0
  28. package/dist/cli/commands/{history-compact.js → history/history-compact.js} +1 -1
  29. package/dist/cli/commands/{history-redact.d.ts → history/history-redact.d.ts} +2 -2
  30. package/dist/cli/commands/history/history-redact.js +2 -0
  31. package/dist/cli/commands/{history-repair.d.ts → history/history-repair.d.ts} +2 -2
  32. package/dist/cli/commands/{history-repair.js → history/history-repair.js} +1 -1
  33. package/dist/cli/commands/history/history.d.ts +2 -0
  34. package/dist/cli/commands/{history.js → history/history.js} +1 -1
  35. package/dist/cli/commands/history/restore.d.ts +6 -0
  36. package/dist/cli/commands/history/restore.js +2 -0
  37. package/dist/cli/commands/lifecycle/append.d.ts +2 -0
  38. package/dist/cli/commands/{append.js → lifecycle/append.js} +1 -1
  39. package/dist/cli/commands/lifecycle/claim.d.ts +2 -0
  40. package/dist/cli/commands/{claim.js → lifecycle/claim.js} +1 -1
  41. package/dist/cli/commands/lifecycle/close-many.d.ts +2 -0
  42. package/dist/cli/commands/{close-many.js → lifecycle/close-many.js} +1 -1
  43. package/dist/cli/commands/lifecycle/close.d.ts +6 -0
  44. package/dist/cli/commands/lifecycle/close.js +2 -0
  45. package/dist/cli/commands/lifecycle/copy.d.ts +6 -0
  46. package/dist/cli/commands/lifecycle/copy.js +2 -0
  47. package/dist/cli/commands/lifecycle/create.d.ts +6 -0
  48. package/dist/cli/commands/{create.js → lifecycle/create.js} +1 -1
  49. package/dist/cli/commands/lifecycle/delete.d.ts +6 -0
  50. package/dist/cli/commands/{delete.js → lifecycle/delete.js} +1 -1
  51. package/dist/cli/commands/lifecycle/focus.d.ts +6 -0
  52. package/dist/cli/commands/lifecycle/focus.js +2 -0
  53. package/dist/cli/commands/lifecycle/plan.d.ts +6 -0
  54. package/dist/cli/commands/{plan.js → lifecycle/plan.js} +1 -1
  55. package/dist/cli/commands/lifecycle/update-many.d.ts +2 -0
  56. package/dist/cli/commands/lifecycle/update-many.js +2 -0
  57. package/dist/cli/commands/lifecycle/update.d.ts +6 -0
  58. package/dist/cli/commands/{copy.js → lifecycle/update.js} +2 -2
  59. package/dist/cli/commands/query/aggregate.d.ts +2 -0
  60. package/dist/cli/commands/{aggregate.js → query/aggregate.js} +1 -1
  61. package/dist/cli/commands/query/context.d.ts +6 -0
  62. package/dist/cli/commands/{focus.js → query/context.js} +2 -2
  63. package/dist/cli/commands/{deps.d.ts → query/deps.d.ts} +2 -2
  64. package/dist/cli/commands/query/deps.js +2 -0
  65. package/dist/cli/commands/query/duplicates.d.ts +6 -0
  66. package/dist/cli/commands/{duplicates.js → query/duplicates.js} +1 -1
  67. package/dist/cli/commands/{eval.d.ts → query/eval.d.ts} +2 -2
  68. package/dist/cli/commands/{eval.js → query/eval.js} +1 -1
  69. package/dist/cli/commands/query/get.d.ts +6 -0
  70. package/dist/cli/commands/{get.js → query/get.js} +1 -1
  71. package/dist/cli/commands/{graph.d.ts → query/graph.d.ts} +2 -2
  72. package/dist/cli/commands/{graph.js → query/graph.js} +1 -1
  73. package/dist/cli/commands/{list.d.ts → query/list.d.ts} +2 -2
  74. package/dist/cli/commands/{list.js → query/list.js} +1 -1
  75. package/dist/cli/commands/{next.d.ts → query/next.d.ts} +2 -2
  76. package/dist/cli/commands/{next.js → query/next.js} +1 -1
  77. package/dist/cli/commands/query/search.d.ts +6 -0
  78. package/dist/cli/commands/{search.js → query/search.js} +1 -1
  79. package/dist/cli/commands/query/stats.d.ts +6 -0
  80. package/dist/cli/commands/{stats.js → query/stats.js} +1 -1
  81. package/dist/cli/commands/{test-all.d.ts → test/test-all.d.ts} +2 -2
  82. package/dist/cli/commands/{test-all.js → test/test-all.js} +1 -1
  83. package/dist/cli/commands/{test-runs.d.ts → test/test-runs.d.ts} +2 -2
  84. package/dist/cli/commands/{test-runs.js → test/test-runs.js} +1 -1
  85. package/dist/cli/commands/{test.d.ts → test/test.d.ts} +2 -2
  86. package/dist/cli/commands/{test.js → test/test.js} +1 -1
  87. package/dist/cli/commands/{config.d.ts → workspace/config.d.ts} +2 -2
  88. package/dist/cli/commands/{config.js → workspace/config.js} +1 -1
  89. package/dist/cli/commands/workspace/contracts.d.ts +2 -0
  90. package/dist/cli/commands/{contracts.js → workspace/contracts.js} +1 -1
  91. package/dist/cli/commands/{init.d.ts → workspace/init.d.ts} +2 -2
  92. package/dist/cli/commands/{update.js → workspace/init.js} +2 -2
  93. package/dist/cli/commands/workspace/merge.d.ts +8 -0
  94. package/dist/cli/commands/workspace/merge.js +2 -0
  95. package/dist/cli/commands/{profile.d.ts → workspace/profile.d.ts} +2 -2
  96. package/dist/cli/commands/{profile.js → workspace/profile.js} +1 -1
  97. package/dist/cli/commands/workspace/schema.d.ts +7 -0
  98. package/dist/cli/commands/workspace/schema.js +2 -0
  99. package/dist/cli/commands/workspace/upgrade.d.ts +2 -0
  100. package/dist/cli/commands/{update-many.js → workspace/upgrade.js} +2 -2
  101. package/dist/cli/register-annotations.js +1 -1
  102. package/dist/cli/register-history-activity.js +1 -1
  103. package/dist/cli/register-history-maintenance.js +1 -1
  104. package/dist/cli/register-list-query.js +1 -1
  105. package/dist/cli/register-mutation.js +1 -1
  106. package/dist/cli/register-operations.js +1 -1
  107. package/dist/cli/register-setup.js +1 -1
  108. package/dist/cli/schema/registration.js +1 -1
  109. package/dist/cli/stats-analytics-json.d.ts +1 -1
  110. package/dist/cli/stats-analytics-json.js +1 -1
  111. package/dist/cli-bundle/bundle-manifest.json +154 -154
  112. package/dist/cli-bundle/chunks/{chunk-GRHSNUQO.js → chunk-3OFFMS2N.js} +2 -2
  113. package/dist/cli-bundle/chunks/{chunk-QZTS23BV.js → chunk-4XOV7Q5R.js} +2 -2
  114. package/dist/cli-bundle/chunks/{chunk-2QLXN6HZ.js → chunk-AVWHZUNC.js} +26 -26
  115. package/dist/cli-bundle/chunks/{chunk-2UNYUB4A.js → chunk-BJBBOUYQ.js} +2 -2
  116. package/dist/cli-bundle/chunks/{chunk-JBJUOOJI.js → chunk-CM57QHVK.js} +5 -5
  117. package/dist/cli-bundle/chunks/{chunk-NHRB3L5T.js → chunk-D2OV2UBV.js} +2 -2
  118. package/dist/cli-bundle/chunks/{chunk-4SI67A2F.js → chunk-GFTN5OS4.js} +2 -2
  119. package/dist/cli-bundle/chunks/{chunk-HAFSMFJK.js → chunk-JSW33Q6R.js} +3 -3
  120. package/dist/cli-bundle/chunks/{chunk-FBWAECBI.js → chunk-ML42DLI3.js} +3 -3
  121. package/dist/cli-bundle/chunks/{chunk-SDLBF4PY.js → chunk-SBTT42A4.js} +2 -2
  122. package/dist/cli-bundle/chunks/chunk-SGFQQXFD.js +2 -0
  123. package/dist/cli-bundle/chunks/{chunk-7YUYLYJQ.js → chunk-UDNYAMCM.js} +6 -6
  124. package/dist/cli-bundle/chunks/{chunk-K7RWRJLT.js → chunk-ZSPZJOMK.js} +2 -2
  125. package/dist/cli-bundle/chunks/{register-list-query-5V43MYPN.js → register-list-query-VOS5CBX4.js} +2 -2
  126. package/dist/cli-bundle/chunks/register-mutation-LWZH6UFJ.js +20 -0
  127. package/dist/cli-bundle/chunks/{register-operations-LJU5H2CU.js → register-operations-YJK4DNFZ.js} +2 -2
  128. package/dist/cli-bundle/chunks/{register-setup-HJUNGYBB.js → register-setup-Q3CYF67Q.js} +2 -2
  129. package/dist/cli-bundle/focused-chunks/{chunk-L6L4XCLY.js → chunk-AO5FR7PN.js} +2 -2
  130. package/dist/cli-bundle/focused-chunks/{chunk-K5ZCBC6Y.js → chunk-CASXNCNQ.js} +2 -2
  131. package/dist/cli-bundle/focused-chunks/{chunk-FXAZPSU6.js → chunk-FKYUTTFL.js} +2 -2
  132. package/dist/cli-bundle/focused-chunks/{chunk-DPBTIFW7.js → chunk-IOL25GKH.js} +2 -2
  133. package/dist/cli-bundle/focused-chunks/{chunk-N6KI3LWF.js → chunk-JCD5YESL.js} +2 -2
  134. package/dist/cli-bundle/focused-chunks/{chunk-6MNKQKT6.js → chunk-LH24XUPJ.js} +2 -2
  135. package/dist/cli-bundle/focused-chunks/{chunk-IA5CCSBB.js → chunk-MXESHALQ.js} +2 -2
  136. package/dist/cli-bundle/focused-chunks/{chunk-3XPBKIV6.js → chunk-PRMQTT7X.js} +12 -12
  137. package/dist/cli-bundle/focused-chunks/{chunk-ISEOBALS.js → chunk-QFEDRPPI.js} +2 -2
  138. package/dist/cli-bundle/focused-chunks/{chunk-UIS5FVHH.js → chunk-QYN77MQP.js} +49 -49
  139. package/dist/cli-bundle/focused-chunks/{chunk-5BLRMUMK.js → chunk-TSI73EEM.js} +3 -3
  140. package/dist/cli-bundle/focused-chunks/{chunk-PC6ZZVNP.js → chunk-UAU4DJSR.js} +3 -3
  141. package/dist/cli-bundle/focused-chunks/{chunk-RQL5WLNZ.js → chunk-URH727T5.js} +2 -2
  142. package/dist/cli-bundle/focused-chunks/{chunk-U2SB2BMM.js → chunk-UT7VS4X2.js} +2 -2
  143. package/dist/cli-bundle/focused-chunks/{chunk-HYPK5OPA.js → chunk-V2NARGRH.js} +2 -2
  144. package/dist/cli-bundle/focused-chunks/{chunk-DRNXMOSV.js → chunk-XR5EBU3B.js} +2 -2
  145. package/dist/cli-bundle/main.js +18 -18
  146. package/dist/cli-bundle/sdk-authoring.js +1 -1
  147. package/dist/cli-bundle/sdk-contracts.js +1 -1
  148. package/dist/cli-bundle/sdk-core.js +3 -3
  149. package/dist/cli-bundle/sdk-governance.js +1 -1
  150. package/dist/cli-bundle/sdk-graph.js +1 -1
  151. package/dist/cli-bundle/sdk-merge.js +38 -38
  152. package/dist/cli-bundle/sdk-query.js +1 -1
  153. package/dist/cli-bundle/sdk-runtime.js +1 -1
  154. package/dist/cli-bundle/sdk-testing.js +1 -1
  155. package/dist/cli-bundle/sdk.js +1 -1
  156. package/dist/core/config/positional-value.d.ts +0 -2
  157. package/dist/core/config/positional-value.js +1 -1
  158. package/dist/core/history/history-diff.js +1 -1
  159. package/dist/core/schema/type-workflows.d.ts +1 -1
  160. package/dist/core/schema/type-workflows.js +1 -1
  161. package/dist/core/search/eval.d.ts +1 -1
  162. package/dist/core/search/eval.js +1 -1
  163. package/dist/core/shared/item-metadata-contract.d.ts +0 -4
  164. package/dist/core/shared/item-metadata-contract.js +1 -1
  165. package/dist/sdk/extension/shared.d.ts +2 -2
  166. package/dist/sdk/extension/shared.js +1 -1
  167. package/dist/sdk/governance/upgrade.d.ts +2 -0
  168. package/dist/sdk/governance/upgrade.js +2 -2
  169. package/dist/sdk/public-surface.json +1 -1
  170. package/dist/sdk/query/search-contracts.d.ts +0 -1
  171. package/dist/sdk/query/search-contracts.js +1 -1
  172. package/dist/sdk/schema.d.ts +8 -4
  173. package/dist/sdk/schema.js +1 -1
  174. package/docs/ARCHITECTURE.md +31 -4
  175. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +50 -1
  176. package/docs/COMMANDS.md +1 -1
  177. package/docs/EXTENSIONS.md +1 -1
  178. package/docs/READ_OUTPUT_CONTRACTS.md +1 -1
  179. package/docs/RELEASING.md +7 -1
  180. package/docs/SDK_CONTEXT_INTEGRITY_PRIMITIVES.md +1 -1
  181. package/marketplace.json +2 -2
  182. package/package.json +6 -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/scripts/build-lease.mjs +27 -0
  199. package/dist/cli/commands/activity.d.ts +0 -6
  200. package/dist/cli/commands/aggregate.d.ts +0 -2
  201. package/dist/cli/commands/append.d.ts +0 -2
  202. package/dist/cli/commands/claim.d.ts +0 -2
  203. package/dist/cli/commands/close-many.d.ts +0 -2
  204. package/dist/cli/commands/close.d.ts +0 -6
  205. package/dist/cli/commands/close.js +0 -2
  206. package/dist/cli/commands/comments.d.ts +0 -2
  207. package/dist/cli/commands/context.d.ts +0 -6
  208. package/dist/cli/commands/context.js +0 -2
  209. package/dist/cli/commands/contracts.d.ts +0 -2
  210. package/dist/cli/commands/copy.d.ts +0 -6
  211. package/dist/cli/commands/create.d.ts +0 -6
  212. package/dist/cli/commands/delete.d.ts +0 -6
  213. package/dist/cli/commands/duplicates.d.ts +0 -6
  214. package/dist/cli/commands/extension.d.ts +0 -6
  215. package/dist/cli/commands/focus.d.ts +0 -6
  216. package/dist/cli/commands/get.d.ts +0 -6
  217. package/dist/cli/commands/health.d.ts +0 -6
  218. package/dist/cli/commands/health.js +0 -2
  219. package/dist/cli/commands/history-compact.d.ts +0 -7
  220. package/dist/cli/commands/history-redact.js +0 -2
  221. package/dist/cli/commands/history.d.ts +0 -2
  222. package/dist/cli/commands/index.d.ts +0 -55
  223. package/dist/cli/commands/index.js +0 -2
  224. package/dist/cli/commands/init-agent-guidance.d.ts +0 -6
  225. package/dist/cli/commands/init-agent-guidance.js +0 -2
  226. package/dist/cli/commands/init.js +0 -2
  227. package/dist/cli/commands/learnings.d.ts +0 -2
  228. package/dist/cli/commands/lifecycle-transitions.d.ts +0 -2
  229. package/dist/cli/commands/lifecycle-transitions.js +0 -2
  230. package/dist/cli/commands/merge.d.ts +0 -8
  231. package/dist/cli/commands/merge.js +0 -2
  232. package/dist/cli/commands/notes.d.ts +0 -2
  233. package/dist/cli/commands/plan.d.ts +0 -6
  234. package/dist/cli/commands/restore.d.ts +0 -6
  235. package/dist/cli/commands/restore.js +0 -2
  236. package/dist/cli/commands/scheduling-shortcuts.d.ts +0 -6
  237. package/dist/cli/commands/scheduling-shortcuts.js +0 -2
  238. package/dist/cli/commands/schema.d.ts +0 -7
  239. package/dist/cli/commands/schema.js +0 -2
  240. package/dist/cli/commands/search.d.ts +0 -6
  241. package/dist/cli/commands/stats.d.ts +0 -6
  242. package/dist/cli/commands/telemetry.d.ts +0 -6
  243. package/dist/cli/commands/update-many.d.ts +0 -2
  244. package/dist/cli/commands/update.d.ts +0 -6
  245. package/dist/cli/commands/upgrade.d.ts +0 -2
  246. package/dist/cli/commands/upgrade.js +0 -2
  247. package/dist/cli/commands/validate.d.ts +0 -9
  248. package/dist/cli/commands/validate.js +0 -2
  249. package/dist/cli-bundle/chunks/chunk-T3AMFUCN.js +0 -2
  250. package/dist/cli-bundle/chunks/register-mutation-DXES37MA.js +0 -20
@@ -1,12 +1,12 @@
1
- import{$ as wo,$a as Mo,D as Xt,E as ao,Ha as ko,N as nt,P as le,Pa as G,Q as rt,Qa as Io,R as ot,Ra as xo,S as fo,Ta as Ce,U as go,Ua as To,V as yo,Va as Ro,W as st,Wa as Ao,X as _o,Xa as Do,Y as at,Ya as Fo,Z as ct,_ as dt,ab as $o,cb as Po,da as vo,db as jo,ea as Jt,f as io,g as so,gb as Uo,hb as en,ib as tn,jb as W,na as bo,nb as Bo,ob as Ho,tb as Wo,vb as qo,ya as pe}from"./chunk-PC6ZZVNP.js";import{e as zt,f as Kt,g as Vt,h as Yt}from"./chunk-IA5CCSBB.js";import{Na as Pr,Va as jr}from"./chunk-DRNXMOSV.js";import{$ as te,$a as Qt,Aa as no,Ab as me,C as ee,Db as ho,Ha as tt,Hb as Ee,Ia as ro,Ja as oo,Jb as So,Mb as Zt,Nb as Eo,Ob as Co,Pb as lt,S as L,Sa as $,T as A,Tb as Oo,U as Q,Ub as Lo,Va as co,Wa as lo,X as eo,Xb as No,Za as uo,e as Vr,ea as to,f as Yr,g as Xr,h as Qr,i as Jr,jc as Go,m as Se,rb as it,tb as mo,v as Zr,vb as B,wb as ue,xb as fe,zb as po}from"./chunk-FXAZPSU6.js";import{b as Rr,n as P,p as X}from"./chunk-N6KI3LWF.js";import{$ as m,$c as Ve,Ae as qt,Ca as be,Da as ze,H as ce,Ia as Mr,Ja as $r,Jc as C,M as Ht,N as We,Oc as ke,Sa as F,Sc as Ur,Sd as M,V as xr,Vd as qr,Wd as E,Xd as zr,Ya as T,Yc as de,Yd as H,Z as Tr,Zc as Br,_a as Or,aa as p,ab as Wt,bd as Ye,cb as Ke,cd as Xe,ce as Qe,dd as Hr,ee as Je,ge as Ze,hd as Gr,i as Ir,id as Wr,je as Kr,ke as et,qb as Lr,sa as Ar,ta as qe,ua as Dr,wa as Fr,xb as Nr,za as Gt}from"./chunk-RQL5WLNZ.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]="f6e02611-4b44-5aa3-b762-9fd984aa12bc")}catch{}})();var Us=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],nn=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function Ff(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e,t,n,r){t&&e.push({code:n,message:r})}function Bs(e,t){let n=q(e.completeness)?e.completeness:{};I(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),I(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;I(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),I(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=q(e.filters)?e.filters:{},s=q(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return I(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),I(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),I(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function Hs(e,t,n){I(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),I(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=q(e.projection)?e.projection:{};I(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=q(e.omission_receipt)?e.omission_receipt:void 0;I(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),I(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),I(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Gs(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function Ws(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function qs(e,t){let n=q(e.read_output)?e.read_output:void 0;I(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),I(t,n!==void 0&&Gs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),I(t,n!==void 0&&!Ws(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),I(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=q(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;I(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),I(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function zs(e,t){let n=e.map(r=>q(r)&&typeof r.id=="string"?r.id.trim():"");I(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),I(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ks(e){if(!q(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Us[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Bs(t,n);return Hs(t,r,n),qs(t,n),zs(t.items,n),{ok:n.length===0,findings:n}}function Vs(e){let t=Ks(e);if(!t.ok)throw new nn(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function Mf(e){Vs(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function Nf(e,t={}){let n=await Wo({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.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 o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var zo=16;async function Ko(e,t,n){let r=F(t,C()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<zo;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let d=await ue(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await fe(d,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function Gf(e){await Xr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await Ko(e.pmRoot,e.settings,e.itemId)})}async function Wf(e){await Qr(e)}async function qf(e){await Jr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await Ko(e.pmRoot,e.settings,e.itemId)}:{}})}var zf={lineage_depth:zo,active_items:64,evidence_rows:32};function Vo(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}import{encode as Ys}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]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var rn=["agenda","day","week","month"],on=["markdown","toon","json"],Xs=["sun","mon","tue","wed","thu","fri","sat"],Qs=365,Js=365,Qo=28,Zs=1e3;function sn(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 ea(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Jo(e,t){let n;for(let r of t){let o=Ir(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function ta(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!rn.includes(t)){let n=Jo(t,rn);throw new p(`Calendar view must be one of ${rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function na(e){if(!e)return;let t=e.trim().toLowerCase();if(!on.includes(t)){let n=Jo(t,on);throw new p(`Calendar format must be one of ${on.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Zf(e,t){let n=na(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 ra(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function oa(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 ut(e){return new Date(e).toISOString().slice(0,10)}function Zo(e,t){if(!t||t==="UTC")return ut(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return ut(e)}function ln(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function ei(e){let t=new Date(ln(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function ia(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function sa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function aa(e,t){return E(e,t)>=0?e:t}function Yo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Xo(e,t){e.set(t,(e.get(t)??0)+1)}function ca(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,o)=>ce(r)-ce(o));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function ti(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function ni(e){return Xs[new Date(e).getUTCDay()]}function da(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function la(e){let t=new Set;for(let n of e??[]){let r=da(n);r&&t.add(r)}return t}function ua(e,t,n,r,o){let i=e??z(n,-(r??Js)),s=t??z(e??n,o??Qs);return{start:i,end:E(s,i)>0?s:z(i,1)}}function fa(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[ni(e)],i=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Zs,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:la(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(o)].sort((s,a)=>ce(s)-ce(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function ft(e,t){return E(t,e.startAt)<0?"continue":e.until&&E(t,e.until)>0||E(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,E(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function mt(e,t){let n=ni(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function ma(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(mt(e,t)&&ft(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function pa(e,t,n){let r=ce(n),o=z(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function ha(e){let t=ei(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=pa(e,r,o);if(mt(e,i)&&ft(e,i)==="stop")return e.occurrences}}return e.occurrences}function ga(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=ti(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!mt(e,s))&&ft(e,s)==="stop")return e.occurrences}}return e.occurrences}function ya(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=ti(o,n,i,e.startDate);if(!(!s||!mt(e,s))&&ft(e,s)==="stop")return e.occurrences}}return e.occurrences}function _a(e,t,n,r){let o=fa(e,t,n,r);return t.freq==="daily"?ma(o):t.freq==="weekly"?ha(o):t.freq==="monthly"?ga(o):ya(o)}function ri(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function un(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 wa(e){return e.deadline?{at:e.deadline,date:ut(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,...un(e),item_deadline:e.deadline}:null}function va(e){return(e.reminders??[]).map(t=>({at:t.at,date:ut(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,...un(e)}))}function ba(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function ka(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Sa(e,t,n,r){let o=ca(t.recurrence),i=ba(t.start_at,t.end_at);return(t.recurrence?_a(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Zo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:ka(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...un(e)}))}function Ea(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?wa(i):null;s&&o.push(s),n.has("reminders")&&o.push(...va(i));for(let a of n.has("events")?i.events??[]:[])o.push(...Sa(i,a,t,r))}return ri(o)}function Ca(e,t,n,r,o){let i=xo(t.type,n),s=t.tag?.trim().toLowerCase(),a=Io(t.priority),d=ra(t.status,r),c=t.assignee?.trim(),l=oa(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>Ia(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function Ia(e,t){return xa(e,t)&&Ta(e,t)&&ot(e,t.runtimeFieldFilters)}function xa(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 Ta(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 Ra(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function an(e,t,n){return e.trim().toLowerCase()==="today"?ln(t):H(e,new Date(t),n)}function Aa(e,t,n){let r=t.date?an(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?an(t.from,n,"--from"):void 0,a=t.to?an(t.to,n,"--to"):void 0;if(s&&a&&E(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 Da(r,t,n,o,i,s,a);if(e==="day"){let c=ln(r);return cn(r,n,o,i,c,z(c,1))}if(e==="week"){let c=ei(r);return cn(r,n,o,i,c,z(c,7))}let d=ia(r);return cn(r,n,o,i,d,sa(r))}function Da(e,t,n,r,o,i,s){if(o)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:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function cn(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:aa(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function Fa(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:ri(r)}))}function Ma(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let d of e)t.add(d.item_id),Xo(n,d.item_type),Xo(r,d.item_status),d.kind==="deadline"?o+=1:d.kind==="reminder"?i+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:Yo(n),by_status:Yo(r),recurring_events:a}}function $a(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function oi(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function dn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Oa(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Zo(e.event_end,e.event_timezone)?oi(e.event_end,e.event_timezone):e.event_end:null}function La(e){let t=`${oi(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=Oa(e);return i&&n.push(`end=${i}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function em(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${$a(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: ${dn(e.summary.by_kind)}`),t.push(`- by-type: ${dn(e.summary.by_type)}`),t.push(`- by-status: ${dn(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(`- ${La(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 Na(t.join(`
3
- `))}function tm(e){return Ys(e)}function Na(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function Pa(e){let t=M(),n=ta(e.view),r=Aa(n,e,t),o=G(e.limit),i=ea(e.include),s=sn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=sn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=sn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:d,recurrenceLookaheadDays:u?Qo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function ja(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Qo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Ua(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 Ba(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 ii(e,t){let n=T(process.cwd(),t.path);await B(n);let r=Pa(e),o=await $(n),i=P(o.schema),s=X(o.schema),a=rt(e,s,"calendar"),d=F(o,C()),c=[];ja(c,r.eventsOnlyCapApplied);let l=await me(n,o.item_format,d.type_to_folder,c,o.schema),u=Ca(l,e,d,i,a),f=ua(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),g=Ea(u,f,r.includeSources,r.occurrenceLimit).filter(k=>Ra(k,r.rangeBounds.start,r.rangeBounds.end)),_=r.limit===void 0?g:g.slice(0,r.limit),y=Fa(_),w=[...new Set(c)].sort((k,v)=>k.localeCompare(v));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Ba(e,r.rangeBounds),filters:Ua(e,a),summary:Ma(_),events:_,days:y,...w.length>0?{warnings:w}:{}}}import Ga from"node:fs/promises";import di 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]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var fn={version:1,aliases:{}};function pt(e=[]){let t=new Set(Se),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function si(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 mn(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 Ha(e,t=Se){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),d=i.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||i.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 "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ht(e,t=fn,n={}){let r=mn(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 gt(e,t=fn,n=Se){let r=si(e.harness),o=si(e.agentInstance),i=Ha(e,n);return s=>{let d=mn(s,t).agent_harness;if(r&&(!d||!r.has(d))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,l]of i){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function yt(e,t=fn,n=Se){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);mn(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var Wa=20,qa=5,za=15,Ka="-24h";function gm(e){let t={...e};return t.full===!0?(t.raw=!0,t.compact=!1):t.raw===!0&&t.compact===void 0&&(t.compact=!0),delete t.full,t}var Va={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function pn(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 ai(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 o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(o,new Date(t),n)}function Ya(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function ci(e,t){return t===void 0?e:e.slice(0,t)}function Ie(e,t=""){return typeof e=="string"?e:t}function Xa(e,t){return{...t,id:e,ts:Ie(t.ts),author:Ie(t.author,"unknown"),op:Ie(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ie(t.before_hash),after_hash:Ie(t.after_hash)}}function Qa(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function Ja(e){try{return(await Ga.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Dr(t))return[];throw t}}function Za(e){return e.raw!==!0&&e.compact!==!0&&e.provenance!==!0?"digest":e.provenance===!0?"provenance":e.compact===!0||e.raw===!0&&e.compact!==!1?"compact":"full"}function ec(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?za:n==="compact"?Wa:qa}function tc(e,t){let n=M(),r=t==="digest",o=ai(e.to??(r?n:void 0),n,"--to"),i=ai(e.from??(r?Ka:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=le(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:pn(e.id,"Activity --id"),op:pn(e.op,"Activity --op"),author:pn(e.author,"Activity --author"),from:i,to:o,limit:ec(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function nc(e){let t=T(process.cwd(),e.path);return await B(t),{pmRoot:t,settings:await $(t)}}async function rc(e){let t=F(e.settings,C()),n=await me(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await lo({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=di.join(e.pmRoot,"history");return await ke({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function oc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Ya(t,n.from,n.to)}async function ic(e,t){let n=[];for(let r of await Ja(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await te(di.join(e,r),o);for(let s of i){let a=Xa(o,s);oc(s,a,t)&&n.push(a)}}return n}function sc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function ac(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function cc(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,E(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),E(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:ac(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function dc(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function lc(e,t,n,r,o){if(e==="digest"){let s=cc(t,r),a=ci(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=ci(t,n);return e==="compact"?{rows:{compact_activity:sc(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function li(e,t){let n=await nc(t),r=Za(e),o=tc(e,r),i=await rc(n),s=pt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=gt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=Qa(await ic(i.historyDir,o)).filter(d),l=lc(r,c,o.limit,i.itemsById,f=>ht(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Va[r]},omission_receipt:Ve("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:dc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:yt(c,a,s)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var ui="1970-01-01T00:00:00.000Z";function xe(e){if(typeof e!="string")return null;let t=e.trim();if(!qr(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return H(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="33841a67-2bd5-5cbd-a9d4-14833ddcf9d2")}catch{}})();var hn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],uc=Symbol("no-context-author"),fc=Symbol("no-item-assignee");function fi(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function mc(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function pc(e){let t=mc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:xe(e.created_at)??ui}}function hc(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=xe(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function gc(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 yc(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 _c(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 _t(e,t,n){return e?.[t]??n}function wt(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?pc(c):hc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,f=n.get(l.id).coordinate;return E(f,u)||c.id.localeCompare(l.id)}),o=new Map(r.map((c,l)=>[c.id,l])),i=Math.max(e.length-1,1),s=fi(t.author,uc),a=L("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=fi(c.assignee,fc)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-o.get(c.id)/i,activity_density:t.activityDensity?.[c.id],graph_proximity:_t(t.graphProximity,c.id,c.parent?.3:0),claim_focus:_t(t.claimFocus,c.id,A(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:gc(c.priority,4),risk_pressure:_c(c.risk),deadline_pressure:yc(c.deadline,d),knowledge_density:_t(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:_t(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var wc="context_relevance",vc={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},bc=new TextEncoder;function kc(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,o]of Object.entries(n.signals??{})){if(r==="structural"||!hn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Sc(e){let t={...vc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&hn.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 pi(e,t={}){kc(e);let n=Sc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(d);let i=hn.filter(a=>o.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of i){let g=c[h];if(g===void 0)continue;let _=g*n[h];l[h]=_,u+=_,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Ec(e,t={}){let n=pi(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function vt(e,t,n={}){let r=pi(t,n),o=await Ur(wc,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await Ec(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var Cc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function mi(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Ic(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),o=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:mi(e.required_ids??[],a),continuity_coverage:mi(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function xc(e){return Math.ceil(bc.encode(JSON.stringify(e)).byteLength/4)}function Tc(e){return Math.round(e*1e4)/1e4}function Rc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function Ac(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}),{rankedIds:r,attribution:o}=Rc(n,e.surface),i={...n,ranking:void 0},s=xc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Ic({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:o}}function Dc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Cc;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,Tc(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function Em(e,t,n){let r=[];for(let o of e)r.push(await Ac(o,t));return Dc(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]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var Fc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Mc=["identity","summary","full"];function $c(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=Mc.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 Oc(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=Fc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:o,profile:t}}function Lc(e){let t=new Set;for(let n of e){if($c(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 Nc(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Pc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:o(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Nc(s,r,o,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;i(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function jc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[o],c=a.token_costs[r]-a.token_costs[o];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 i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function hi(e,t){let n=Oc(t),r=Lc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Pc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,d=jc(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import Te from"node:fs/promises";import Re from"node:path";import{createHash as gi,randomUUID as Uc}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]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var gn=3,yn=2,yi=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Bc=new Set(["substantive_history","release_cohort","created_at"]),Hc={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _i(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Gc(e){let t={};for(let n of yi){let r=e[n];if(r!==void 0){if(!_i(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Wc(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function qc(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function wi(e,t){return{...t,activityDensity:t.activityDensity??Wc(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??qc(e)}}function vn(e){let t=gi("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function zc(e){if(!he(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",he(e.signals),he(t)].every(Boolean))return null;let n=t.recency;if(!he(n))return null;let r=xe(n.coordinate);if(r===null)return null;let o=new Set(yi),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&_i(a))||![typeof n.source=="string"&&Bc.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function Kc(e,t){let n=Array.from(e,zc);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==vn(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function Vc(e){if(!he(e)||e.format_version!==gn||e.signal_set_version!==yn||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=Kc(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:gn,signal_set_version:yn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function vi(e){if(typeof e.sourceCursor!="string"||e.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(e.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(e.source!=="derived_index"&&e.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback")}function bi(e,t,n=vn(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:Gc(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:gn,signal_set_version:yn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function Om(e,t){return vi(t),bi(wt(e,wi(e,t)),t)}var _n=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=Re.resolve(t)}async read(){try{return JSON.parse(await Te.readFile(this.filePath,"utf8"))}catch(t){if(he(t)&&qe(t))return null;throw t}}async write(t){let n=Re.dirname(this.filePath);await Te.mkdir(n,{recursive:!0});let r=Re.join(n,`.${Re.basename(this.filePath)}.${Uc()}.tmp`);try{await Te.writeFile(r,`${JSON.stringify(t)}
5
- `,{encoding:"utf8",flag:"wx"}),await Te.rename(r,this.filePath)}finally{try{await Te.rm(r,{force:!0})}catch{}}}},wn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){vi(n);let r=[],o=null;try{let f=await this.adapter.read();o=Vc(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=o?.items.map(f=>f.id)??[],a=wt(t,wi(t,n)),d=vn(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===d&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),l;if(c&&o!==null)l=o;else{o!==null&&r.push("context_signal_store_stale"),l=bi(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>Hc[f])}}};function Yc(e){let t=gi("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function bt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let o=n?null:await it(t.pmRoot),i=t.sourceCursor??o?.source_cursor??Yc(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new wn(new _n(Re.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await to(t.pmRoot,e.map(c=>c.id))).map(([c,l])=>[c,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:i,source:s})}import Xc from"node:path";import{createHash as Qc}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]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function ki(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 Jc 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]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var Si=1,Zc=1e4,Ei=12;function ed(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function td(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function nd(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function rd(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(i=>t.statusRegistry.terminal_done_statuses.has(A(i.status,t.statusRegistry))).map(i=>{let s=ki(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,d=ed(a.timestamp),c=`epoch:${d}`,l=o.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(i),o.set(c,l);let u=td(s,r);if(u){let f=`epic:${u.id}`,h=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(i),o.set(f,h)}}return{format_version:Si,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(nd).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function od(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 id(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(od)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function sd(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Si||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(id)?t:null}function ad(e){return`scan:${Qc("sha256").update(Lr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function cd(e,t,n){return n!==void 0?n:(await it(t))?.source_cursor??ad(e)}async function dd(e){try{let t=sd(JSON.parse(await Jc.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&qe(t))}}}async function kt(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Zc));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await cd(e,t.pmRoot,t.sourceCursor),o=Xc.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await dd(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let d=rd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Fr(o,`${JSON.stringify(d)}
6
- `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:i}}function ld(e,t,n=Ei){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function Ci(e,t,n=Ei){if(e.snapshot===null)return;let r=ld(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 ud(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function Ii(e,t,n=5){let r=ud(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]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var fd=["markdown","toon","json","ndjson"],St=new Set(["Epic","Feature"]),Di=10,Fi=1e4,Mi=["hierarchy","activity","progress","recently_created","unparented","workload"],md=[...Mi,"blockers","files","staleness","tests"],pd=/^(\d{4})-(\d{2})-(\d{2})/,hd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,gd=/^(\d{4})(\d{2})(\d{2})$/,yd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function _d(e){if(!e)return;let t=e.trim().toLowerCase();if(!fd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var xi=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 wd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!xi.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...xi].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 Ae(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function fp(e,t){let n=_d(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 vd(e,t){return G(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Di)}function Sn(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 bd(e,t){return t>=Fi&&e===Number.MAX_SAFE_INTEGER?Di:e}function kd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Ht.includes(n))throw new p(`Context --depth must be one of ${Ht.join("|")}`,m.USAGE);return n}function Sd(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!We.includes(s))throw new p(`Context --section must be one of ${We.join("|")}`,m.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...We]:(t==="deep"?md:Mi).filter(o=>n.sections[o])}function Ed(e,t){return e?G(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Cd(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 o=parseInt(r[1],10);if(o<=0)throw new p("--stale-threshold must be positive",m.USAGE);return o}function Ti(e,t){let n=A(e,t),r=L("blocked",t),o=L("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function De(e,t){let n=L("closed",t);return A(e,t)===n}function En(e,t){return A(e,t)===t.in_progress_status}function $i(e,t){let n=A(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Id(e,t){return t.blocked_statuses.has(A(e,t))}var xd=["compact","brief","fields","includeBody","include_body","parent"];function Td(e){let t={...e};for(let n of xd)delete t[n];return t}function Cn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=ge(e),i=Fe(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Rd(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 Ad(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Dd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:E(n,r)}function Fd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Md(e){let t=pd.exec(e)??hd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=Fd(n,r-1)}function $d(e){let t=gd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=yd.exec(e);if(n){let[,r,o,i,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${l}${u}`}return e}function Oi(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Md(t))return Number.NaN;let n=Date.parse($d(t));return Number.isFinite(n)?n:Number.NaN}function kn(e){let t=Oi(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Od(e){let t=Oi(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function In(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ne(e,t,n){let r=Ti(e.status,n)-Ti(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Ad(e.order,t.order);if(i!==0)return i;let s=Dd(e.deadline,t.deadline);if(s!==0)return s;let a=E(kn(t.updated_at),kn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function bn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function xn(e,t,n=new Set,r="context"){return hi(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:bn({id:o.id,title:o.item.title}),summary:bn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:bn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Tn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Rn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Li(e,t){return t>0?Math.round(e/t*100):0}function ge(e){let t=new Map;for(let n of e){let r=In(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Me(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:In(e.parent)};if(t&&n){let o=Fe(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>De(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Li(s,i)}}return r}function Ld(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function Et(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Nd(e,t){return e.filter(n=>!t.terminal_statuses.has(A(n.item_status,t)))}function Pd(e,t,n,r){let o=new Map;for(let d of e)o.set(d.id,d);let i=ge(e),s=new Set(t.filter(d=>St.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=o.get(d);if(!c)continue;let l=Fe(d,i),u=i.get(d)??[],f=0,h=0,g=0,_=0;for(let w of l)De(w.status,n)?f++:En(w.status,n)?g++:Id(w.status,n)?_++:$i(w.status,n)&&h++;let y=u.sort((w,k)=>ne(w,k,n)).slice(0,r).map(w=>{let k=Fe(w.id,i),v=k.filter(S=>De(S.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:k.length,children_closed:v}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:g,children_blocked:_,children:y})}return a.sort((d,c)=>{let l=o.get(d.id),u=o.get(c.id);return ne(l,u,n)}).slice(0,r)}function Fe(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function jd(e,t){return(await li({compact:!0,limit:String(e)},t)).compact_activity??[]}function Ud(e,t,n,r,o){let i=new Map;for(let d of e){if(!d.parent)continue;let c=i.get(d.parent)??[];c.push(d),i.set(d.parent,c)}let s=t.filter(d=>St.has(d.type)),a=[];for(let d of s){let c=Fe(d.id,i),l=c.length;if(l===0)continue;let u=0,f=0,h=0,g=0;for(let _ of c)De(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:En(_.status,r)?h++:$i(_.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:g,completion_pct:Li(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,o)}function Bd(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=Zt(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function Hd(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function Gd(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>En(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function Wd(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function qd(e,t,n,r){return e.map(o=>({item:o,sortKey:kn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Me(o,t,n),created_at:o.created_at}))}function zd(e,t,n,r){return e.filter(o=>!In(o.parent)&&!St.has(o.type)).sort((o,i)=>ne(o,i,t)).slice(0,r).map(o=>Me(o,t,n))}function Kd(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,o+=l.failed??0,i+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function Ri(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Ni(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function Vd(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function Yd(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`${Ri(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Ri(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 Ai(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function Xd(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 Qd(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(`- ${Yd(n)}`);e.push("")}function Jd(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function Zd(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 el(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${Od(o.created_at)} ${Ni(o)}`);e.push("")}}function tl(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 nl(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 rl(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function ol(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 il(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 sl(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 al(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 cl(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 mp(e){let t=[],n=e.focus_fields,r=i=>n?Vd(i,n):Ni(i);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let i=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),Ai(t,"High-level focus",e.high_level,"No high-level active items.",r),Ai(t,"Low-level focus",e.low_level,"No low-level active items.",r),Xd(t,e,r),Qd(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return Jd(t,e),Zd(t,e),el(t,e,n,r),tl(t,e,r),nl(t,e),rl(t,e),ol(t,e),il(t,e),sl(t,e),al(t,e),cl(t,e),t.join(`
7
- `)}async function dl(e,t){let n=T(process.cwd(),t.path),r=await $(n),o=r.context??Tr.context,i=P(r.schema),s=kd(e.depth,o),a=vd(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Sd(e.section,s,o),activityLimit:Ed(e.activityLimit,o),staleThresholdDays:Cd(e.staleThreshold,o),parentScope:Rd(e.parent),focusFields:wd(e.fields),baseListOptions:Td(e)}}function ll(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function ul(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function fl(e,t){let n=await W(void 0,ul(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!Q(a.status,t.statusRegistry)),i=r,s=ml(t.parentScope,r);return s&&(o=o.filter(a=>s.has(a.id.trim().toLowerCase())),i=i.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:i,fullCorpus:r,subtreeIds:s}}function ml(e,t){if(e===void 0)return;let n=Cn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}function pl(e,t,n,r){let o=new Set(lt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>St.has(i.type)||o.has(i.id)||Ee(i.type,r)!=="agent").map(i=>i.id))}async function hl(e,t,n,r,o,i,s,a,d,c,l,u,f,h,g,_){let y=[...e].sort((b,ae)=>ne(b,ae,o)),w=await et({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await bt(y,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),v=await vt("context",k.candidates),S=v.ranked.map(b=>b.item),J=o.active_statuses,R=S.filter(b=>J.has(A(b.status,o))),D=u?Gr(R,c,l,b=>b.id):0,x=u?R.slice(D,D+s):R,He=u&&x.length>0&&D+x.length<R.length,Ge=He&&x.length>0?Hr(l,x[x.length-1].id,D+x.length-1):void 0,Z=S.filter(b=>r.has(b.id.trim().toLowerCase())),ve=new Set([...x.map(b=>b.id),...Z.slice(0,s).map(b=>b.id)]),oe=xn({...v,ranked:v.ranked.filter(b=>ve.has(b.id))},h,new Set(Object.entries(g??{}).filter(([,b])=>b>=1).map(([b])=>b))),V=oe.included.map(b=>b.item),Y=V.filter(b=>J.has(A(b.status,o))),ie=V.filter(b=>r.has(b.id.trim().toLowerCase())),se=ge(t),Ut=ll(i)?se:void 0,N=new Map(n.map(b=>[b.id.trim().toLowerCase(),b])),O=b=>{let ae=Me(b,o,Ut);return r.has(b.id.trim().toLowerCase())&&(ae.blocked=!0,ae.blocker_ids=Zt(b,N,o).filter(Bt=>!Bt.resolved).map(Bt=>Bt.id)),ae},Er=pl(Y,n,o,_),Ps=Y.filter(b=>Er.has(b.id)).slice(0,u?x.length:s).map(O),js=Y.filter(b=>!Er.has(b.id)).slice(0,u?x.length:s).map(O),Cr=R.length===0;return{activeItems:Y,blockedItems:ie,highLevel:Ps,lowLevel:js,blockedFallback:Cr?ie.slice(0,s).map(O):[],blockedFallbackUsed:Cr,ranking:v,packing:oe,featureStore:k,pageExtras:{...u?{applied_limit:s}:{},...He?{has_more:!0,truncated:!0}:{},...Ge?{next_cursor:Ge}:{}}}}function gl(e){return Xe("context",Ye(e,Pr))}function yl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Fi}async function _l(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await ii(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Nd(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:i,agendaEvents:d,agendaSummary:Ld(a)}}function Pi(e,t,n){let r=String(t);return e.filter(o=>A(o.status,n)===r).length}async function wl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,d=ge(n),c=n.filter(u=>!Q(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Pd(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await jd(t.activityLimit,a):void 0,progress:l("progress")?Ud(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Bd(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?qd(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?zd(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?Hd(i.activeItems,t.limit):void 0,workload:l("workload")?Gd(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Wd(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Kd(i.activeItems):void 0}}function vl(e,t,n){let r=L("canceled",t),o=e.filter(s=>t.active_statuses.has(A(s.status,t))),i=Pi(o,t.in_progress_status,t);return{scope:"matching_items",active_items:o.length,open:o.length-i,in_progress:i,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>De(s.status,t)).length,canceled:e.filter(s=>A(s.status,t)===r).length}}function bl(e,t,n){t.hierarchy&&(e.hierarchy=t.hierarchy),t.activity&&(e.activity=t.activity),t.progress&&(e.progress=t.progress),t.blockersSection&&(e.blockers=t.blockersSection),t.recentlyCreated&&(e.recently_created=t.recentlyCreated),t.unparented&&(e.unparented=t.unparented),t.filesSection&&(e.files=t.filesSection),t.workload&&(e.workload=t.workload),t.staleness&&(e.staleness=t.staleness),t.tests&&(e.tests=t.tests),n!==void 0&&n.length>0&&(e.warning_details=n)}function kl(e,t){t&&(e.focus_fields=t,e.high_level=Ae(e.high_level,t),e.low_level=Ae(e.low_level,t),e.blocked_fallback=Ae(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ae(e.recently_created,t)),e.unparented&&(e.unparented=Ae(e.unparented,t)))}function Sl(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function El(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 Cl(e,t,n,r){try{let o=new Set(t.packing.included.map(d=>d.id)),i=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:o.has(d.id)})),s=new Set(i.map(d=>d.id));for(let d of Je(e,"context"))s.has(d)||(i.push({id:d,rank:i.length+1,included:!1}),s.add(d));let a=await Ze({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qe(e,a)}catch{e.warnings=Et(e.warnings,["context_usage_feedback_write_failed"])}}async function Il(e,t,n){if(e)return{};let o=(await Nr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function xl(e,t){let n=Zr(),r=await Vr(e),o=n.instance||Yr(t);return Vo(r.semantic_attribution?.[o])}async function pp(e,t){let n=T(process.cwd(),t.path),r=await dl(e,t),o=await fl(t,r),i=bd(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:Sn(e.tokenBudget,Math.max(256,i*160))},a=ee(void 0,s.settings.author_default),d=await xl(n,a),c=Il(e.noExtensionHealth===!0,n,s.settings),l=Eo(o.fullCorpus,s.statusRegistry),u=await hl(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,M(),a,e.after,gl(e),yl(e,o.fullCorpus.length),n,s.tokenBudget,d,F(s.settings,C())),f=await _l(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),h=await kt(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),g=Et(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),_=Pi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await wl({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),k=vl(o.allItems,s.statusRegistry,l),v={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:_,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...k},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return v.workspace_memory=Ci(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(v,await c),bl(v,w,u.featureStore.warning_details),Sl(v,e.noTags===!0),e.explainRanking===!0&&(v.ranking=Rn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),v.packing=Tn(u.packing)),kl(v,s.focusFields),g.length>0&&(v.warnings=g),El(v,u.activeItems,u.blockedItems),await Cl(v,u,n,a),v}(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]="7b1a6347-904d-5c7d-a86d-23e6232b9467")}catch{}})();function ji(e,t,n){let r={recommended:e.recommended,ready:e.ready},o=()=>Math.max(qt(r,"json"),qt(r,"toon")),i=r.ready.length+ +(r.recommended!==null),s=o(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=o()),s>t&&a<=t){let u=0,f=d.length;for(;u<f;){let h=Math.ceil((u+f)/2);r.ready=d.slice(0,h),o()<=t?u=h:f=h-1}r.ready=d.slice(0,u),a=o()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=o()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=i-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(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]="0497aebe-9963-5025-9266-124455dd4567")}catch{}})();var Tl=["markdown","toon","json"],Rl=5,Al=1440*60*1e3;function Dl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Tl.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function Tp(e,t){let n=Dl(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 Ui(e,t,n){let r=G(e,t);return r===void 0||r<=0?n:r}function $e(e,t,n,r){return{...Me(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Fl(e,t,n,r){let o=e.item,i=[],s=L("in_progress",t);return i.push(A(o.status,t)===s?"resume work":"ready"),r&&i.push("completed container \u2014 governance closeout"),i.push(`p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(Ml(o.deadline,n)),i.push(So(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s)`),i}function Bi(e,t,n){let r=ee(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var Rp={partitionCallerOwnedReady:Bi,resolveNextCallerAuthor:(e,t)=>Hi(e,t)};function Ap(e,t,n){let r=e.filter(o=>Ee(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>Ee(o.item.type,n)!=="human"),decisions:t?[]:r}}function Ml(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/Al);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function $l(e,t){let n=L("in_progress",t);return e.filter(r=>A(r.status,t)===n).length}function An(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Ol(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 Ct(e,t,n){return[...e].sort((r,o)=>{let i=An(r.item,t),s=An(o.item,t);return i!==s?Number(i)-Number(s):ne(r.item,o.item,n)})}function Ll(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Fl(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Nl(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let o=t.find(i=>i.blockers.length>0);return[...r,o?`${t.length} item(s) are blocked; unblock the top one by closing ${o.blockers.map(i=>i.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[...r,'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 Pl(e,t,n,r){let o={};return e>r&&(o.decision_needed_total=e),t>r&&(o.held_by_others_total=t),n>r+1&&(o.ready_total=n),Object.keys(o).length>0?o:void 0}async function jl(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(i=>i.id)]),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of Je(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Ze({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qe(e.result,o)}catch{e.result.warnings=Et(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Ul(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.result.suggestions=Nl(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&ji(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Rn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=Tn(xn(e.readyRanking,e.packingBudget,new Set,"next"))),await jl({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Bl(e,t,n){if(!n)return e;let r=Cn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function Hl(e,t,n,r,o,i,s){let a=e.filter(g=>!An(g.item,t)),d=s||a.length===0?e:a,c=await et({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await bt(d.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:c.affinity}),u=await vt("next",l.candidates),f=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>f.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Hi(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Dp(e,t){let n=T(process.cwd(),t.path),r=await $(n),o=Hi(e,r.author_default),i=P(r.schema),s=F(r,C()),a=M(),d=Ui(e.limit,"--limit",Rl),c=Sn(e.tokenBudget,Math.max(192,d*128)),l=Ui(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await W(void 0,Ol(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=Bl(h.items,g.items,f),y=g.items,w=lt(_,y,i,s),k=ge(y),v=Co(w,i,e,s),S=Bi(v.ready,r.author_default,o),J=Ct(S.available,k,i),R=[...w.blocked].sort((N,O)=>ne(N.item,O.item,i)),{projectedReady:D,ranking:x,completedContainer:He,featureStore:Ge}=await Hl(J,k,i,a,o,n,e.includeContainers===!0),Z=D.map((N,O)=>$e(N,i,k,O+1)),ve=R.map((N,O)=>$e(N,i,k,O+1)),oe=Ct(v.decisions,k,i).map((N,O)=>$e(N,i,k,O+1)),V=Ct(v.gates,k,i).map((N,O)=>$e(N,i,k,O+1)),Y=Ct(w.containers,k,i).map((N,O)=>$e(N,i,k,O+1)),ie=Ll({projectedReady:D,readyRows:Z,statusRegistry:i,now:a,completedContainer:He}),se=Pl(oe.length,S.held.length,Z.length,d)??{};V.length>d&&(se.gate_needed_total=V.length),Y.length>d&&(se.containers_total=Y.length);let Ut={output_default:"toon",now:a,recommended:ie,ready:Z.slice(1,d+1),decision_needed:oe.slice(0,d),gate_needed:V.slice(0,d),containers:Y.slice(0,d),blocked:u?[]:ve.slice(0,l),held_by_others:S.held.slice(0,d),summary:{recommended:ie!==null,ready:Z.length,blocked:ve.length,in_progress:$l(Z,i),candidates:w.active_count,containers:w.container_count,decision_needed:oe.length,gate_needed:V.length,held_by_others:S.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:f.length>0?f:null,limit:d,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(se).length>0?se:void 0};return Ul({result:Ut,recommended:ie,blockedRows:ve,gateCount:V.length,candidatesWarnings:h.warnings,corpusWarnings:g.warnings,readyRanking:x,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packingBudget:c,featureStore:Ge,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function Fp(e){let t=["# pm next","",...Gl(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Oe(n,r.map(o=>`- ${Le(o)}`),""));if(t.push(...Oe("Recommended",Wl(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Oe("Decision needed",(e.decision_needed??[]).map(n=>`- ${Le(n)}`),"No human-gated decisions.")),t.push(...Oe("Ready",e.ready.map(n=>`- ${Le(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Oe("Blocked",e.blocked.map(n=>`- ${ql(n)}`),"No blocked items.")),e.suggestions&&e.suggestions.length>0){t.push("## Suggestions");for(let n of e.suggestions)t.push(`- ${n}`)}return t.join(`
8
- `).trimEnd()}function Gl(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 Wl(e){return e?[`- ${Le(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Oe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ql(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Le(e)} blocked_by:${t}`}function Le(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]="2a9a4dc0-8027-5761-9bbf-cac1ef83bd10")}catch{}})();var zl=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Kl=["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 Vl(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function $p(e,t,n={}){let r=n.includePagination!==!1;return[t,...zl.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Vl)||Kl.some(i=>e?.[i]===!0)}function Gi(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]="7a4a98b2-3872-506d-b88d-877b0033dd2d")}catch{}})();var Wi=["parent","type","priority","status","assignee","tags","sprint","release"];function zi(e,t){let n=nt(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Ki(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),o=n&&n.length>0?n:void 0,i=r&&r.length>0?r:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=o??i;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Vi(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=ko(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(!Wi.includes(r))throw new p(`Aggregate group fields must be one of ${Wi.join("|")}; received "${r}"`,m.USAGE);return n}function Yi(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 Xi(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 Yi(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Qi(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 It(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Yl={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function qi(e,t){return t==null||t===""?Yl[e]:String(t)}function Xl(e,t){return e.length===1?qi(e[0],t[e[0]]):e.map(n=>`${n}=${qi(n,t[n])}`).join(" | ")}function Ji(e,t,n){for(let r of n){let o=Qi(e.group[r],t.group[r]);if(o!==0)return o}return 0}function Zi(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=r.trim();if(o.length===0)return null;let i=Number(o);if(Number.isFinite(i))return i}return null}function es(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Dn(e,t,n){let r=L(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 Ql(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 Jl(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Zl(e){e.accumulator.row.count+=1,e.includeCompletion&&Dn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Jl(e.accumulator,e.numericValue)}function eu(e,t,n,r){for(let o of t){let i=It(n,o),s=e.get(i);if(s){Zl({...r,accumulator:s});continue}let a=Ql(o,r.numericValue);r.includeCompletion&&Dn(a,r.item.status,r.statusRegistry),e.set(i,a)}}function tu(e,t){let n={};for(let r of e)n[r]=Xi(r,t);return n}function nu(e,t,n){let r=[tu(e,t)];if(n==="tuple")return r;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[o]:d}))))}return r}function ru(e,t,n,r){let o={...e.row,group_label:Xl(t,e.row.group)};return n&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=es(e.closed_count,e.row.count)),r!==null&&(o.null_count=e.null_count,r.sum&&(o.sum=e.numeric_sum),r.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function ou(e){return{group_by:e.groupBy,set_mode:e.setMode,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 Up(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=T(process.cwd(),t.path),r=await $(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...X(r.schema).definitions.filter(v=>v.type==="number").map(v=>v.metadata_key)],s=Vi(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",m.USAGE);let d=zi(e.status,o),c=Ki(e,[...new Set(i)].sort((v,S)=>v.localeCompare(S))),l=e.completion===!0,u=e.includeUnparented===!0,f=await W(void 0,{...Gi(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,_=0,y=0;for(let v of f.items){let S=v;if(s.includes("parent")&&S.parent===void 0&&!u){g+=1;continue}let J=c===null?null:Zi(S,c.field),R=nu(s,S,a);eu(h,R,s,{item:S,statusRegistry:o,includeCompletion:l,numericAggregation:c,numericValue:J}),y+=R.length,_+=1}let w=[...h.values()].map(v=>ru(v,s,l,c)).sort((v,S)=>Ji(v,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...iu(w,s,e),count:w.length,totals:{items_considered:f.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:ou({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:M(),...k?{warnings:k}:{}}}function iu(e,t,n){let r=Go(n.limit,"limit")??50,o=n.after===void 0?-1:e.findIndex(a=>It(t,a.group)===n.after);if(n.after!==void 0&&o<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",m.USAGE);let i=e.slice(o+1,o+1+r),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?It(t,i.at(-1).group):null}}var Bp={buildGroupKey:It,compareAggregateRows:Ji,compareNullableGroupValue:Qi,completionPct:es,normalizeTagGroupValue:Yi,parseGroupBy:Vi,parseNumericAggregation:Ki,parseStatus:zi,readNumericAggregateValue:Zi,resolveGroupValue:Xi,updateCompletionCounts:Dn};(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]="acda1c64-cb50-57b5-868d-a27ca6912979")}catch{}})();var ts=1e6,ns=20;function rs(e,t,n,r=ns){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let y of t){if(a+=1,a>ts)throw new p(`Child projection exceeded the ${ts.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."]});s.push(y)}let d=new Map(s.map(y=>[y.id.trim().toLowerCase(),y])),c=No(Lo(s,Oo())),l=new Set(c.children_by_parent.get(o)??[]);for(let y of s)y.parent?.trim().toLowerCase()===o&&l.add(y.id.trim().toLowerCase());let u=[...l].map(y=>d.get(y)),f=0;for(let y of u){let w=y.status.trim().toLowerCase();i[w]=(i[w]??0)+1,Q(w,n)||(f+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let h=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>h.length,_=r===0?ns:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(i).sort(([y],[w])=>y.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${_}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="926ca5b2-8cfc-56e7-8cbf-fb0e7152d834")}catch{}})();var su=new Set(["event","meeting","reminder"]);function au(e){return su.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Fn(e){if(!au(e))return;let t=[...e.events??[]].sort((r,o)=>r.start_at.localeCompare(o.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]="26bf8487-2515-5885-b6de-56ba6292fb65")}catch{}})();var du=new Set(["epic","feature","milestone","plan"]),lu=new Set(Object.keys(xr).map(e=>e.toLowerCase()));function $n(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function uu(e,t){let n=$n(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,o])=>o>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Fn(e)?["schedule"]:[]]}function is(e){let t=e.trim().toLowerCase();return t.length>0&&(du.has(t)||!lu.has(t))}function os(e){return{ts:e.ts,author:e.author,message:e.message??null}}function fu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:o?os(o):null,last_release:i?os(i):null}}function mu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(zt.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function pu(e,t){let n=$n(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:o,learnings:i,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function hu(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 Tt(e){return e.startsWith("item.")?e.slice(5):e}function gu(e,t,n){if(e===null)return;let r=Kt(t),o=new Set(r),i=e.filter(s=>{let a=Tt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${i.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"],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}var yu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function _u(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:yu.has(n)?[]:void 0}function wu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:$n(e)},o={id:e.id};for(let i of t){let s=Tt(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(o[s]=_u(n,r,s))}return o}function Ne(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function xt(e,t){return e.some(n=>{let r=Tt(n);return r===t||r.startsWith(`${t}.`)})}function vu(e,t){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,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});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":mu(e.depth),treeDepth:e.tree===!0?G(e.treeDepth,"--tree-depth"):void 0,fields:hu(e.fields),fieldProjection:e.fields!==void 0}}async function bu(e,t,n){let r=T(process.cwd(),t.path);await B(r);let o=await $(r),i=F(o,C());if(n!==void 0){let d=await Ho(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ue(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await ho(r,e,o.id_prefix,i.type_to_folder);let a=await fe(s,{schema:o.schema});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function ku(e,t,n,r){let o=X(t.schema).definitions.map(i=>i.metadata_key);if(gu(e,o,r),n&&xt(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Mn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Ne(r,o):xt(r,o):n!=="brief"}async function Su(e,t){if(!t)return;let n=Ke(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return fu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Eu(e,t,n,r){let o=r||Ne(n,"linked.files"),i=r||Ne(n,"linked.tests"),s=r||Ne(n,"linked.docs");!r&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Cu(e,t){if(!t)return;let n=P(e.settings.schema),r=await me(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return rs(e.locatedId,r,n)}function Iu(e,t,n,r){if(!r)return;let o=Fn(t.metadata);if(o){if(n===null||Ne(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>Tt(s)===`schedule.${i}`)))}}async function xu(e,t,n,r){if(t.tree!==!0)return;let o=await W(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:o.count,items:o.items.map(i=>i)}}async function dh(e,t,n={}){let r=vu(n,e),o=await bu(e,t,n.at);ku(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Mn({...r,field:"body"}),s=Mn({...r,field:"linked"}),a=Mn({...r,field:"claim_state"}),d=o.historical===void 0&&(r.fieldProjection?xt(r.fields,"children"):r.depth==="deep"&&is(o.metadata.type)),c=r.fieldProjection?xt(r.fields,"schedule"):r.depth!=="brief",l=await Su(o,a),u={item:r.fieldProjection?wu(o.metadata,r.fields):pu(o.metadata,r.depth)};i&&(u.item.body=o.body),Eu(u,o,r.fields,s),l&&(u.claim_state=l),Iu(u,o,r.fields,c);let f=await Cu(o,d);f!==void 0&&(u.children=f);let h=await xu(o,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await Kr({pmRoot:o.pmRoot,author:ee(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return Br(u,uu(o.metadata,o.body)),u}var lh={shouldAutoIncludeGetChildren:is};(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]="0cc18a30-5068-5c59-b559-7afc4d446ed8")}catch{}})();function Tu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Ru(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=no(n.patch);for(let s of i)o.add(Xt(s.path)),s.from&&o.add(Xt(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function Au(e){if(e[0]?.op!=="history_compact_baseline")return;let t=Qt(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function Du(e,t){let n=T(process.cwd(),t.path);await B(n);let r=await $(n),o=F(r,C()),i=e.trim()===tt,s=i?tt:uo(e,r.id_prefix),a=await ue(n,s,r.id_prefix,r.item_format,o.type_to_folder),d=a?.id??s,c=i?ro(n):Ke(n,d);if(!a&&!await Ar(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await co({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function bh(e,t,n){let r=le(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await Du(e,n),d=await te(o,s),c=Au(d),l=a.agent_identity.identity_vocabulary,u=pt(a.agent_identity.harness_signals),f=gt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=Fu(d).filter(({entry:D})=>f(D)),g=Tu(h,r),_=g.map(({entry:D})=>D),y=t.compact===!0,w=y?Ru(g,c):void 0,k=t.provenance===!0?g.map(({entry:D,durableVersion:x})=>ht(D,l,{itemId:s,version:x})):void 0,v=t.provenance===!0?"provenance":y?"compact":"full",S={compact:{compact_history:w},provenance:{provenance_history:k},full:{history:_}}[v],R={id:s,...S,compact:y,projection:{mode:v,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[v]},omission_receipt:Ve("history",v),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:yt(h.map(({entry:D})=>D),l,u)}:{}};if((t.diff||t.field!==void 0)&&(R.diff=ao(d,{windowStartIndex:Math.max(0,d.length-_.length),field:t.field})),t.verify){let D=i?(await fe(i,{schema:a.schema})).document:void 0;if(R.verification=Bo(d,D),s===tt&&R.verification.ok){let x=await oo(T(process.cwd(),n.path));R.verification={...R.verification,ok:x.ok,errors:x.ok?R.verification.errors:[...R.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:x.ok,workspace_state_mismatches:x.mismatched_documents,workspace_state_missing:x.missing_documents,workspace_state_unreadable:x.unreadable_documents}}}return R}function Fu(e){let t=Qt(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+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]="255d7c53-5905-51f7-8f5a-3580cf340648")}catch{}})();function Mu(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 Rt(e){return e===!0}function ss(e){return $r(e,0,1)??void 0}function as(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 cs(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 re(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function j(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function On(e,t){if(e!==void 0)return H(e,new Date,t)}function $u(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 At(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=$u(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Vt]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Ln(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Yt(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(r),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",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."],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}function Dt(e){let t=j(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function Nn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Ou=["auto","keyword","semantic","hybrid"];function Lu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ou.includes(n)?n:"auto"}function Pn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Mu(e.requested),source:"explicit"};let t=Lu(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function jn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Un(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Bn(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=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;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)}}(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]="91b01dd0-6a8d-5b97-96d2-c27f4044c009")}catch{}})();function Nu(e){return Xe("search",{query:e.query.trim(),mode:e.mode,options:Ye(e.searchOptions,jr)})}function ds(e){let t=Wr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Nu(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]="48888c80-60e1-5905-afd5-8c1b6e532f99")}catch{}})();function ls(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 Pu=[{optionKey:"status",summaryKey:"status",normalize:e=>ls(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 ye(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return Uo(l,r,Pu),Object.assign(l,tn(r)),Object.assign(l,en(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),o&&(l.include_linked=!0),i&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function _e(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||ls(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),...tn(r),...en(r),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:f(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc52818b-d37f-5d00-954d-d50203a433c2")}catch{}})();var ju=1.2,Uu=.75;function Hn(e){return pe(e)}function Bu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function fs(e){let t=[],n=new Map,r=0;for(let i of e){let s=Hn(i.text),a=Bu(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:n,documentCount:o,averageDocumentLength:o>0?r/o:0}}function Hu(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function ms(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return r;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,Hu(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of i){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function us(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function ps(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 hs(e){let t=e?.search?.bm25;return{k1:us(t?.k1,ju,0,1e3),b:us(t?.b,Uu,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]="e2985104-efdb-59e5-9674-2dd865ebdf56")}catch{}})();var Gn=4,Gu=20,Wu=200,qu=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function Wn(e,t){let n=[],r=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function zu(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 Ku(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 gs(e,t=Gn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=pe(n);if(r.length===0)return[n];let o=r.filter(a=>!qu.has(a.toLowerCase())),i=r.map(a=>zu(a)),s=o.map(a=>Ku(a));return Wn([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function ys(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Wn(t.filter(n=>typeof n=="string"),Gn):[]}function _s(e,t,n){return Wn([...e,...t],Math.max(1,n))}function ws(e,t){let r=e.search?.query_expansion,o=be(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:Gn}}function vs(e,t){let r=e.search?.rerank,o=be(r?.model),s=Mr(r?.top_k)??Gu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Wu,s)}}function bs(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=be(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(i);(a===void 0||s>a)&&n.set(i,s)}let r=[...n.entries()].map(([o,i])=>({id:o,score:i}));return r.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),r}function Vu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function ks(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Yu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Vu(e,t),o=ks(t),i=n*o;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,r/i))}async function Ss(e,t,n,r,o){if(r.length===0)return new Map;let i=be(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(f=>f.text)],d=await st(s,a,o?{timeout_ms:o}:{}),c=d[0];if(!c)return new Map;let l=ks(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],g=d[f+1];if(!g)continue;let _=Yu(c,g,l);u.set(h.id,Math.max(0,Math.min(1,(_+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5e4bd88-a099-559f-8194-7b56f325eb0e")}catch{}})();function we(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Pe(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function qn(e){let t=e.metadata;return[t.title,t.description,t.status,we(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),at(t).join(" "),ct(t).join(" "),Pe(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),dt(t)]}function zn(e,t){return qn(e).some(n=>j(n).includes(t))}function Kn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&j(r.metadata.title)!==t||n.phraseExact&&!zn(r,t)))}function Xu(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 Qu(e,t,n){let r=Ce(e.assignee,{label:"--assignee"});Xu(r);let o=Po(e),i=jo(e);return{typeFilter:To(e.type,t),tagFilter:Ce(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ro(e.priority),deadlineBefore:On(e.deadlineBefore,"deadline-before"),deadlineAfter:On(e.deadlineAfter,"deadline-after"),updatedAfter:re(e.updatedAfter,"updated-after"),updatedBefore:re(e.updatedBefore,"updated-before"),createdAfter:re(e.createdAfter,"created-after"),createdBefore:re(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Ce(e.sprint,{label:"--sprint"}),releaseFilter:Ce(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:Do(o),contentFieldFilters:i,contentFiltersActive:Mo(i)}}function Ju(e,t){return Zu(e,t)&&zr(e,t)&&ef(e,t)}function Zu(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&&!we(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function ef(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 tf(e,t,n,r){let o=e.metadata;return!(!Ju(o,t)||!ot(o,n)||t.missingMetadataActive&&!Fo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!$o(o,t.contentFieldFilters))}function Vn(e,t,n,r,o,i){let s=Qu(t,n,o);return e.filter(a=>tf(a,s,r,i))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5a927991-1dbe-5906-a0eb-7da2534b6905")}catch{}})();var nf=2,rf=120,of=6,sf=40,af=1e3,cf=900,df="\xAB",lf="\xBB",Es=60;function Ft(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}var Cs=[{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=>we(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=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>at(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>ct(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Pe(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>dt(e.metadata)}],uf=new Map(Cs.map(e=>[e.name,e]));function Yn(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${df}${o}${lf}`)}function Xn(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,o=l.length)}if(r<0)return null;let i=Math.max(0,r-Es),s=Math.min(e.length,r+o+Es),a=Yn(e.slice(i,s),t),d=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Mt(e,t,n){let r=[];for(let o of t){let i=uf.get(o);if(i===void 0)continue;let s=Xn(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function ff(e,t,n){return[...Cs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function mf(e,t,n){let r=j(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=j(o),s=i.length>0&&r.startsWith(i)?r.slice(i.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?af:cf,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function pf(e,t,n,r,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*r.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of n){let d=Ft(a.value.toLowerCase(),i);d>0&&(o.score+=d*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function hf(e,t,n,r){j(e.title)===t&&(r.score+=rf,r.matched.add("title"));for(let i of n){let s=Ft(j(i.value),t);s>0&&(r.score+=s*i.weight*of,r.matched.add(i.name))}}function Qn(e,t,n,r,o,i,s=!1){let a=e.metadata,d=mf(a,n,i);if(d)return d;let c=new Map;for(let _ of pe(a.title))c.set(_,(c.get(_)??0)+1);let l=ff(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};pf(t,c,l,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=sf),t.length>=nf&&n.includes(" ")&&hf(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((_,y)=>_.localeCompare(y)),matched_all_terms:h}}function Jn(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=Q(n.item.status,t),s=Q(r.item.status,t);if(i!==s)return i?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function Zn(e,t,n,r,o,i,s,a=!1){return Qn(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function je(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let o of e.values())t=Math.min(t,o),n=Math.max(n,o);if(n===t)return new Map([...e.keys()].map(o=>[o,1]));let r=new Map;for(let[o,i]of e)r.set(o,(i-t)/(n-t));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]="0175d395-3f87-5a93-8d4f-a3150aaf16ae")}catch{}})();function Ot(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function Lt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Ot(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 er(e,t){let n=Lt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Is(e){return e?.commands?.some(n=>n.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function tr(e,t,n){try{let r=await bo(e);r.warnings.length>0&&n.push(...r.warnings);let o=qo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=Is(C());n.push(...xs(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
9
- `)}catch{}}function xs(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Nt(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 U=ze;function Ue(e){let t=C(),n=io(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,o=r.query,i=r.queryExpansion??r.query_expansion,s=r.rerank,a=U(r.name)??U(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function nr(e){let t=U(e.search?.provider),n=Ue(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function rr(e){let t=C(),n=U(e.vector_store?.adapter),r=so(t,n);if(!r)return null;let o=r.runtime_definition??r.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:U(o.name)??U(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function or(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 o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=U(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||o.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:d,matched_fields:u})}return i}function ir(e,t){let n=[],r=new Map;for(let o of e){if(r.has(o.id))continue;let i=t.get(o.id);i&&(r.set(o.id,o.score),n.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function $t(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)),o=e.filter(c=>!r.has(c.item.id)),i=o.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=i+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...o]}function Pt(e,t,n,r,o="semantic"){let i=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=je(t),d=je(i),c=new Set([...t.keys(),...i.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,g=d.get(u)??0,_=h*r+g*l;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(o);for(let w of s.get(u)??[])y.add(w);return{item:f.metadata,score:_,matched_fields:[...y].sort((w,k)=>w.localeCompare(k))}}).filter(u=>u!==null)}function sr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function ar(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:ps(wo(s,{fields:e.corpusFields}))})),n=fs(t),r=ms(n,Hn(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:o.get(a).metadata,score:d,matched_fields:["bm25"]}));return $t(s,e.keywordHits)}let i=Pt(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return $t(i,e.keywordHits)}function cr(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function dr(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(`
10
- `)}async function gf(e,t){let n=e.queryExpansion.enabled?gs(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return _s(r,ys(o),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 yf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Jt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Jt(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 _f(e,t,n){return[...e].sort((o,i)=>o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)).slice(0,n).map(o=>{let i=t.get(o.item.id);return i?{hit:o,text:dr(i)}:null}).filter(o=>o!==null)}async function wf(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(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=bs(r);return o.length>0?new Map(o.map(i=>[i.id,i.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 vf(e,t,n){let r=await wf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Ss(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function bf(e,t){let n=new Set(t.keys()),r=e.map(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((o,i)=>{let s=n.has(o.item.id),a=n.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),r}async function kf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=_f(n,r,e.rerank.top_k),i=await vf(e,t,o);return i&&i.size>0?bf(n,i):n}async function lr(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}:{},o=e.query.trim(),i=await gf(e,o),s=await st(e.provider,i,n),a=await Promise.all(s.map(async g=>await yf(e,g,t,r))),d=cr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=ir(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:$t(l,e.keywordHits),vectorMatchCount:f};let h=await kf(e,o,Pt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:$t(h,e.keywordHits),vectorMatchCount:f}}function Ts(e){let t=Ue(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Rs(e){let t=Ue(U(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import jt from"node:fs/promises";import ur 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]="6e743cc1-3ff0-58b1-bf11-351d1655864c")}catch{}})();function fr(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()})),o=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function As(e){let t=ur.resolve(e);try{let n=await jt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function mr(e,t){let[n,r]=await Promise.all([As(e),As(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function pr(e,t){let n=fr(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=ur.resolve(i.resolved,o.path);if(!Gt(i.resolved,s))continue;let a;try{a=await jt.realpath(s)}catch{continue}if(Gt(i.realpath,a))try{await ke({path:s,scope:o.scope}),r.push(await jt.readFile(s,"utf8"))}catch{}}return r.join(`
11
- `)}async function hr(e,t,n,r){let o=Rr(C()),i=async(c,l,u)=>{let f=async(h,g)=>{await ke({path:h,scope:"project"});let _=await jt.readFile(h,"utf8");return eo(_,{format:g,schema:r,extensionFieldNames:o,onWarning:w=>s.push(w)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=Wt(e,c.type,c.id,h,n);try{return await f(g,h)}catch{return s.push(`item_list_item_read_failed:${ur.relative(e,g)}`),""}}},s=[],a=await mo(e,t,n,s,r),d=[];if(a.length===0){let c=await po(e,t,n,s,r);for(let l of c){let u=Wt(e,l.type,l.id,t,n),f=await i(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await i(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function Ds(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await mr(o,Or(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await pr(a,i)]));for(let[a,d]of s)r.set(a,d);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]="5ff2b814-42b0-50fc-92dd-17e9fc521982")}catch{}})();var Fs=["tag","status","type","priority"];function gr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(o=>o.length>0)){let o=r.indexOf(":"),i=o>0?r.slice(0,o).toLowerCase():"",s=o>0?r.slice(o+1):"",a=Fs.includes(i)?i: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 yr(e,t,n){let r={...e};for(let o of Fs){let i=t[o];if(i!==void 0){if(ze(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Ms(e,t){let n=[],r=gr(e),o=Object.keys(r.inlineFilters).length>0;if(o&&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 i=o?r.residualQuery:e,s=yr(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Rt(s.includeLinked),titleExact:Rt(s.titleExact),phraseExact:Rt(s.phraseExact),matchMode:as(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:cs(s.minScore),countOnly:s.count===!0,tokens:Dt(i),normalizedQuery:j(i),limit:le(s.limit),projection:At(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function $s(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}(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]="984a6fdc-9383-5f89-8e71-b0d3ed2a35cc")}catch{}})();function wr(e,t,n,r,o,i,s,a,d,c,l,u,f,h){let g=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let w=ye({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Sr(h),items:[],count:0,...g,filters:w,...l.length>0?{warnings:l}:{}}}let y=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:_e({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:y},now:M(),...l.length>0?{warnings:l}:{}}}function vr(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 i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function br(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=vr(n,o);return r})}function kr(e,t){return wr(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,e.modeSource)}function Os(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return _r({query:e.query.trim(),mode:e.effectiveMode,...Sr(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:ye({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 _r({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:_e({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:M()},e.warnings)}function Sr(e){return e==="settings"?{mode_source:e}:{}}function _r(e,t){return t.length===0?e:{...e,warnings:t}}function Be(e,t){return t?{...e,workspace_memory:t}:e}function Ls(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(i=>[i.metadata.id,i])),o=n.map(i=>({...i,highlights:Mt(r.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Ns(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return _r({query:e.query.trim(),mode:e.effectiveMode,...Sr(e.modeSource),items:t,count:t.length,...s,...i,filters:ye({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=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:_e({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:o.mode,fields:a},now:M(),...e.warnings.length>0?{warnings:e.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]="9e7719a0-9efa-59c2-85d5-e7a5eb30d8e3")}catch{}})();var _y={applyFilters:Vn,applyExactQueryFilters:Kn,applyInlineQueryFilters:yr,buildHitHighlights:Mt,buildVerboseSearchFilters:_e,buildExplicitSemanticFallbackWarning:er,buildCompactSearchFilterSummary:ye,buildHybridLexicalScore:Zn,buildRerankCorpus:dr,buildSemanticHits:ir,classifyImplicitSemanticFallbackReason:Lt,collectErrorCauseCodes:Ot,collectExactPhraseFields:qn,collectLinkedPaths:fr,combineHybridHits:Pt,computeBuiltInBm25Hits:ar,computeSemanticOrHybridHits:lr,resolveBuiltInBm25Mode:sr,countOccurrences:Ft,dependencyEntries:Pe,documentContainsExactPhrase:zn,emptySearchResult:wr,highlightFieldSnippet:Xn,loadDocuments:hr,markTokenRuns:Yn,parseInlineQueryFilters:gr,maybeEmitVectorIndexStaleWarning:tr,loadLinkedCorpus:pr,mergeVectorHitsById:cr,normalizeExtensionProviderHits:or,normalizeScoreMap:je,parseProjectionConfig:At,parseTimestampWindow:re,parseTokens:Dt,projectSearchHits:br,readSearchFieldValue:vr,requireSemanticDependencies:Nt,resolveExtensionSearchProvider:nr,resolveExtensionSearchProviderByName:Ue,resolveExtensionVectorAdapter:rr,resolveLinkedCorpusRoots:mr,scoreDocument:Qn,sortHits:Jn,stringArray:we,textEntries:K,validateSearchProjectionFields:Ln};async function Sf(e,t){let n=T(process.cwd(),t.path);await B(n);let r=await $(n),o=fo(r).settings,i=P(o.schema),s=X(o.schema);Ln(e.projection,s,e.query);let a=rt(e.options,s,"search"),d=F(o,C()),c=yo(o),l=vo(o,n),u=nr(o),f=rr(o),h=ss(e.options.semanticWeight),g=ws(o,c.active?.name??null),_=vs(o,c.active?.model??U(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Nn(o),scoreThreshold:e.minScoreOverride??jn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Un(o),tuning:Bn(o),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:sr({configuredProvider:U(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ts(g),rerank:_,rerankExtension:Rs(o),...Ef({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Ef(e){let n=go(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||n,o=Pn({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:o.mode,modeSource:o.source}}async function Cf(e,t){let n=await hr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=nt(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=Ao(t.statusRegistry),i=Vn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Kn(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function If(e,t,n){let r=await Ds(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>Zn(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}async function xf(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=ar({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:_o(t.settings),bm25Params:hs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function Tf(e,t,n,r){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return or(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,m.GENERIC_FAILURE);return null}}function Rf(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 Af(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await tr(e.pmRoot,n,r),e.extensionSearchProvider||Nt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Df(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,d=await xf(t,n,r,o,i),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Af(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Tf(t,n,r,l)??a,a===o){let{provider:u,vectorStore:f}=Nt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await lr({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Rf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return i.push(er(n.effectiveMode,l)),{effectiveMode:"keyword",hits:o}}}async function wy(e,t,n){$s(t);let r=Ms(e,t),o=await Sf(r,n),i=await Cf(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await kt(i.allDocuments.map(S=>S.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:M()});s.push(...a.warnings);let d=Ii(a,r.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:o.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Be(kr({...c,effectiveMode:o.effectiveMode},r.countOnly),d);let l=await If(r,o,i.filteredDocuments),u=await Df({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Be(kr({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=Jn(f,o.statusRegistry),g=h.length,_=ds({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Be(Os(y,g),d);let{hits:w,projection:k}=Ls(r,i.filteredDocuments,_.limited),v=br(w,k);return Be(Ns(y,v,g,_.limited.length,k,_.pageExtras),d)}export{Us as a,nn as b,Ff as c,Ks as d,Vs as e,Mf as f,Nf as g,$p as h,Ko as i,Gf as j,Wf as k,qf as l,zf as m,Vo as n,Zf as o,em as p,tm as q,ii as r,pt as s,Ha as t,ht as u,yt as v,gm as w,li as x,hn as y,wt as z,wc as A,pi as B,Ec as C,vt as D,Cc as E,Ic as F,Ac as G,Dc as H,Em as I,Fc as J,hi as K,gn as L,yn as M,Hc as N,Vc as O,Om as P,_n as Q,wn as R,bt as S,Zc as T,rd as U,kt as V,ld as W,Ci as X,ud as Y,Ii as Z,fd as _,wd as $,Ae as aa,fp as ba,Sn as ca,kd as da,Sd as ea,Cn as fa,ne as ga,xn as ha,Tn as ia,Rn as ja,ge as ka,Me as la,Et as ma,mp as na,Sl as oa,pp as pa,Tl as qa,Tp as ra,Rp as sa,Ap as ta,Dp as ua,Fp as va,Up as wa,Bp as xa,ts as ya,ns as za,rs as Aa,dh as Ba,lh as Ca,bh as Da,Nn as Ea,Pn as Fa,jn as Ga,Un as Ha,Bn as Ia,Nu as Ja,ds as Ka,ye as La,_e as Ma,Ot as Na,Lt as Oa,Is as Pa,xs as Qa,_y as Ra,wy as Sa};
12
- //# sourceMappingURL=chunk-3XPBKIV6.js.map
1
+ import{$ as wo,$a as Mo,D as Vt,E as ao,Ha as ko,N as nt,P as le,Pa as G,Q as rt,Qa as xo,R as ot,Ra as Io,S as fo,Ta as Ce,U as go,Ua as To,V as yo,Va as Ro,W as st,Wa as Ao,X as _o,Xa as Do,Y as at,Ya as Fo,Z as ct,_ as dt,ab as $o,cb as Po,da as vo,db as jo,ea as Xt,f as io,g as so,gb as Uo,hb as Jt,ib as Zt,jb as W,na as bo,nb as Bo,ob as Ho,tb as Wo,vb as qo,ya as pe}from"./chunk-UAU4DJSR.js";import{e as zt,f as Kt,g as zr,h as Kr}from"./chunk-MXESHALQ.js";import{Na as Nr,Va as Lr}from"./chunk-XR5EBU3B.js";import{$ as te,$a as Yt,Aa as no,Ab as me,C as ee,Db as ho,Ha as tt,Hb as Ee,Ia as ro,Ja as oo,Jb as So,Mb as Qt,Nb as Eo,Ob as Co,Pb as lt,S as N,Sa as $,T as A,Tb as Oo,U as Q,Ub as No,Va as co,Wa as lo,X as eo,Xb as Lo,Za as uo,e as Vr,ea as to,f as Yr,g as Xr,h as Qr,i as Jr,jc as Go,m as Se,rb as it,tb as mo,v as Zr,vb as B,wb as ue,xb as fe,zb as po}from"./chunk-FKYUTTFL.js";import{b as Ir,n as P,p as X}from"./chunk-JCD5YESL.js";import{$ as m,$c as Ve,Ae as qt,Ca as be,Da as ze,H as ce,Ia as Dr,Ja as Fr,Jc as C,M as Ht,N as We,Oc as ke,Sa as F,Sc as Pr,Sd as M,V as Cr,Vd as Gr,Wd as E,Xd as Wr,Ya as T,Yc as de,Yd as H,Z as xr,Zc as jr,_a as Mr,aa as p,ab as Wt,bd as Ye,cb as Ke,cd as Xe,ce as Qe,dd as Ur,ee as Je,ge as Ze,hd as Br,i as Er,id as Hr,je as qr,ke as et,qb as $r,sa as Tr,ta as qe,ua as Rr,wa as Ar,xb as Or,za as Gt}from"./chunk-URH727T5.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]="f6e02611-4b44-5aa3-b762-9fd984aa12bc")}catch{}})();var Us=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],en=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function Ff(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function Bs(e,t){let n=q(e.completeness)?e.completeness:{};x(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),x(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=q(e.filters)?e.filters:{},s=q(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function Hs(e,t,n){x(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),x(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=q(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=q(e.omission_receipt)?e.omission_receipt:void 0;x(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Gs(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function Ws(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function qs(e,t){let n=q(e.read_output)?e.read_output:void 0;x(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),x(t,n!==void 0&&Gs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!Ws(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),x(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=q(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;x(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),x(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function zs(e,t){let n=e.map(r=>q(r)&&typeof r.id=="string"?r.id.trim():"");x(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),x(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ks(e){if(!q(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Us[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Bs(t,n);return Hs(t,r,n),qs(t,n),zs(t.items,n),{ok:n.length===0,findings:n}}function Vs(e){let t=Ks(e);if(!t.ok)throw new en(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function Mf(e){Vs(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function Lf(e,t={}){let n=await Wo({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.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 o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var zo=16;async function Ko(e,t,n){let r=F(t,C()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<zo;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let d=await ue(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await fe(d,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function Gf(e){await Xr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await Ko(e.pmRoot,e.settings,e.itemId)})}async function Wf(e){await Qr(e)}async function qf(e){await Jr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await Ko(e.pmRoot,e.settings,e.itemId)}:{}})}var zf={lineage_depth:zo,active_items:64,evidence_rows:32};function Vo(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}import{encode as Ys}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]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var tn=["agenda","day","week","month"],nn=["markdown","toon","json"],Xs=["sun","mon","tue","wed","thu","fri","sat"],Qs=365,Js=365,Qo=28,Zs=1e3;function rn(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 ea(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Jo(e,t){let n;for(let r of t){let o=Er(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function ta(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!tn.includes(t)){let n=Jo(t,tn);throw new p(`Calendar view must be one of ${tn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function na(e){if(!e)return;let t=e.trim().toLowerCase();if(!nn.includes(t)){let n=Jo(t,nn);throw new p(`Calendar format must be one of ${nn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Zf(e,t){let n=na(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 ra(e,t){if(e===void 0)return;let n=N(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function oa(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 ut(e){return new Date(e).toISOString().slice(0,10)}function Zo(e,t){if(!t||t==="UTC")return ut(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return ut(e)}function cn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function ei(e){let t=new Date(cn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function ia(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function sa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function aa(e,t){return E(e,t)>=0?e:t}function Yo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Xo(e,t){e.set(t,(e.get(t)??0)+1)}function ca(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,o)=>ce(r)-ce(o));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function ti(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function ni(e){return Xs[new Date(e).getUTCDay()]}function da(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function la(e){let t=new Set;for(let n of e??[]){let r=da(n);r&&t.add(r)}return t}function ua(e,t,n,r,o){let i=e??z(n,-(r??Js)),s=t??z(e??n,o??Qs);return{start:i,end:E(s,i)>0?s:z(i,1)}}function fa(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[ni(e)],i=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Zs,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:la(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(o)].sort((s,a)=>ce(s)-ce(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function ft(e,t){return E(t,e.startAt)<0?"continue":e.until&&E(t,e.until)>0||E(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,E(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function mt(e,t){let n=ni(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function ma(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(mt(e,t)&&ft(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function pa(e,t,n){let r=ce(n),o=z(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function ha(e){let t=ei(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=pa(e,r,o);if(mt(e,i)&&ft(e,i)==="stop")return e.occurrences}}return e.occurrences}function ga(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=ti(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!mt(e,s))&&ft(e,s)==="stop")return e.occurrences}}return e.occurrences}function ya(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=ti(o,n,i,e.startDate);if(!(!s||!mt(e,s))&&ft(e,s)==="stop")return e.occurrences}}return e.occurrences}function _a(e,t,n,r){let o=fa(e,t,n,r);return t.freq==="daily"?ma(o):t.freq==="weekly"?ha(o):t.freq==="monthly"?ga(o):ya(o)}function ri(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function dn(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 wa(e){return e.deadline?{at:e.deadline,date:ut(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,...dn(e),item_deadline:e.deadline}:null}function va(e){return(e.reminders??[]).map(t=>({at:t.at,date:ut(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,...dn(e)}))}function ba(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function ka(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Sa(e,t,n,r){let o=ca(t.recurrence),i=ba(t.start_at,t.end_at);return(t.recurrence?_a(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Zo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:ka(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...dn(e)}))}function Ea(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?wa(i):null;s&&o.push(s),n.has("reminders")&&o.push(...va(i));for(let a of n.has("events")?i.events??[]:[])o.push(...Sa(i,a,t,r))}return ri(o)}function Ca(e,t,n,r,o){let i=Io(t.type,n),s=t.tag?.trim().toLowerCase(),a=xo(t.priority),d=ra(t.status,r),c=t.assignee?.trim(),l=oa(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>xa(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function xa(e,t){return Ia(e,t)&&Ta(e,t)&&ot(e,t.runtimeFieldFilters)}function Ia(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 Ta(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 Ra(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function on(e,t,n){return e.trim().toLowerCase()==="today"?cn(t):H(e,new Date(t),n)}function Aa(e,t,n){let r=t.date?on(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?on(t.from,n,"--from"):void 0,a=t.to?on(t.to,n,"--to"):void 0;if(s&&a&&E(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 Da(r,t,n,o,i,s,a);if(e==="day"){let c=cn(r);return sn(r,n,o,i,c,z(c,1))}if(e==="week"){let c=ei(r);return sn(r,n,o,i,c,z(c,7))}let d=ia(r);return sn(r,n,o,i,d,sa(r))}function Da(e,t,n,r,o,i,s){if(o)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:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function sn(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:aa(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function Fa(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:ri(r)}))}function Ma(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let d of e)t.add(d.item_id),Xo(n,d.item_type),Xo(r,d.item_status),d.kind==="deadline"?o+=1:d.kind==="reminder"?i+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:Yo(n),by_status:Yo(r),recurring_events:a}}function $a(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function oi(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function an(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Oa(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Zo(e.event_end,e.event_timezone)?oi(e.event_end,e.event_timezone):e.event_end:null}function Na(e){let t=`${oi(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=Oa(e);return i&&n.push(`end=${i}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function em(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${$a(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: ${an(e.summary.by_kind)}`),t.push(`- by-type: ${an(e.summary.by_type)}`),t.push(`- by-status: ${an(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(`- ${Na(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 La(t.join(`
3
+ `))}function tm(e){return Ys(e)}function La(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function Pa(e){let t=M(),n=ta(e.view),r=Aa(n,e,t),o=G(e.limit),i=ea(e.include),s=rn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=rn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=rn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:d,recurrenceLookaheadDays:u?Qo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function ja(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Qo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Ua(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 Ba(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 ii(e,t){let n=T(process.cwd(),t.path);await B(n);let r=Pa(e),o=await $(n),i=P(o.schema),s=X(o.schema),a=rt(e,s,"calendar"),d=F(o,C()),c=[];ja(c,r.eventsOnlyCapApplied);let l=await me(n,o.item_format,d.type_to_folder,c,o.schema),u=Ca(l,e,d,i,a),f=ua(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),g=Ea(u,f,r.includeSources,r.occurrenceLimit).filter(k=>Ra(k,r.rangeBounds.start,r.rangeBounds.end)),_=r.limit===void 0?g:g.slice(0,r.limit),y=Fa(_),w=[...new Set(c)].sort((k,v)=>k.localeCompare(v));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Ba(e,r.rangeBounds),filters:Ua(e,a),summary:Ma(_),events:_,days:y,...w.length>0?{warnings:w}:{}}}import Ga from"node:fs/promises";import di 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]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var ln={version:1,aliases:{}};function pt(e=[]){let t=new Set(Se),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function si(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 un(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 Ha(e,t=Se){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),d=i.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||i.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 "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ht(e,t=ln,n={}){let r=un(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 gt(e,t=ln,n=Se){let r=si(e.harness),o=si(e.agentInstance),i=Ha(e,n);return s=>{let d=un(s,t).agent_harness;if(r&&(!d||!r.has(d))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,l]of i){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function yt(e,t=ln,n=Se){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);un(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var Wa=20,qa=5,za=15,Ka="-24h";function gm(e){let t={...e};return t.full===!0?(t.raw=!0,t.compact=!1):t.raw===!0&&t.compact===void 0&&(t.compact=!0),delete t.full,t}var Va={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function fn(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 ai(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 o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(o,new Date(t),n)}function Ya(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function ci(e,t){return t===void 0?e:e.slice(0,t)}function xe(e,t=""){return typeof e=="string"?e:t}function Xa(e,t){return{...t,id:e,ts:xe(t.ts),author:xe(t.author,"unknown"),op:xe(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:xe(t.before_hash),after_hash:xe(t.after_hash)}}function Qa(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function Ja(e){try{return(await Ga.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Rr(t))return[];throw t}}function Za(e){return e.raw!==!0&&e.compact!==!0&&e.provenance!==!0?"digest":e.provenance===!0?"provenance":e.compact===!0||e.raw===!0&&e.compact!==!1?"compact":"full"}function ec(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?za:n==="compact"?Wa:qa}function tc(e,t){let n=M(),r=t==="digest",o=ai(e.to??(r?n:void 0),n,"--to"),i=ai(e.from??(r?Ka:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=le(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:fn(e.id,"Activity --id"),op:fn(e.op,"Activity --op"),author:fn(e.author,"Activity --author"),from:i,to:o,limit:ec(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function nc(e){let t=T(process.cwd(),e.path);return await B(t),{pmRoot:t,settings:await $(t)}}async function rc(e){let t=F(e.settings,C()),n=await me(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await lo({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=di.join(e.pmRoot,"history");return await ke({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function oc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Ya(t,n.from,n.to)}async function ic(e,t){let n=[];for(let r of await Ja(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await te(di.join(e,r),o);for(let s of i){let a=Xa(o,s);oc(s,a,t)&&n.push(a)}}return n}function sc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function ac(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function cc(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,E(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),E(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:ac(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function dc(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function lc(e,t,n,r,o){if(e==="digest"){let s=cc(t,r),a=ci(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=ci(t,n);return e==="compact"?{rows:{compact_activity:sc(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function li(e,t){let n=await nc(t),r=Za(e),o=tc(e,r),i=await rc(n),s=pt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=gt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=Qa(await ic(i.historyDir,o)).filter(d),l=lc(r,c,o.limit,i.itemsById,f=>ht(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Va[r]},omission_receipt:Ve("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:dc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:yt(c,a,s)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var ui="1970-01-01T00:00:00.000Z";function Ie(e){if(typeof e!="string")return null;let t=e.trim();if(!Gr(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return H(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="33841a67-2bd5-5cbd-a9d4-14833ddcf9d2")}catch{}})();var mn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],uc=Symbol("no-context-author"),fc=Symbol("no-item-assignee");function fi(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function mc(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function pc(e){let t=mc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ie(e.created_at)??ui}}function hc(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=Ie(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function gc(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 yc(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 _c(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 _t(e,t,n){return e?.[t]??n}function wt(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?pc(c):hc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,f=n.get(l.id).coordinate;return E(f,u)||c.id.localeCompare(l.id)}),o=new Map(r.map((c,l)=>[c.id,l])),i=Math.max(e.length-1,1),s=fi(t.author,uc),a=N("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=fi(c.assignee,fc)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-o.get(c.id)/i,activity_density:t.activityDensity?.[c.id],graph_proximity:_t(t.graphProximity,c.id,c.parent?.3:0),claim_focus:_t(t.claimFocus,c.id,A(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:gc(c.priority,4),risk_pressure:_c(c.risk),deadline_pressure:yc(c.deadline,d),knowledge_density:_t(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:_t(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var wc="context_relevance",vc={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},bc=new TextEncoder;function kc(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,o]of Object.entries(n.signals??{})){if(r==="structural"||!mn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Sc(e){let t={...vc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&mn.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 pi(e,t={}){kc(e);let n=Sc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(d);let i=mn.filter(a=>o.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of i){let g=c[h];if(g===void 0)continue;let _=g*n[h];l[h]=_,u+=_,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Ec(e,t={}){let n=pi(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function vt(e,t,n={}){let r=pi(t,n),o=await Pr(wc,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await Ec(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var Cc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function mi(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function xc(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),o=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:mi(e.required_ids??[],a),continuity_coverage:mi(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Ic(e){return Math.ceil(bc.encode(JSON.stringify(e)).byteLength/4)}function Tc(e){return Math.round(e*1e4)/1e4}function Rc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function Ac(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}),{rankedIds:r,attribution:o}=Rc(n,e.surface),i={...n,ranking:void 0},s=Ic(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:xc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:o}}function Dc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Cc;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,Tc(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function Em(e,t,n){let r=[];for(let o of e)r.push(await Ac(o,t));return Dc(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]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var Fc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Mc=["identity","summary","full"];function $c(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=Mc.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 Oc(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=Fc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:o,profile:t}}function Nc(e){let t=new Set;for(let n of e){if($c(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 Lc(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Pc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:o(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Lc(s,r,o,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;i(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function jc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[o],c=a.token_costs[r]-a.token_costs[o];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 i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function hi(e,t){let n=Oc(t),r=Nc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Pc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,d=jc(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import Te from"node:fs/promises";import Re from"node:path";import{createHash as gi,randomUUID as Uc}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]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var pn=3,hn=2,yi=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Bc=new Set(["substantive_history","release_cohort","created_at"]),Hc={context_signal_store_invalid:{code:"context_signal_store_invalid",meaning:"The persisted context-signal snapshot was unreadable or invalid and was rebuilt from authoritative items.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot can be loaded without the warning."},context_signal_store_stale:{code:"context_signal_store_stale",meaning:"The persisted context-signal snapshot did not match the authoritative cursor or item corpus and was rebuilt.",recovery_command:"pm context",recovery_effect:"Re-read context and confirm the rebuilt snapshot is now fresh."},context_signal_store_write_failed:{code:"context_signal_store_write_failed",meaning:"Context signals were rebuilt in memory, but the derived snapshot could not be persisted.",recovery_command:"pm context",recovery_effect:"Retry the derived snapshot write and confirm the warning clears after storage access is restored."}};function he(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _i(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Gc(e){let t={};for(let n of yi){let r=e[n];if(r!==void 0){if(!_i(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Wc(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function qc(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function wi(e,t){return{...t,activityDensity:t.activityDensity??Wc(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??qc(e)}}function _n(e){let t=gi("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function zc(e){if(!he(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",he(e.signals),he(t)].every(Boolean))return null;let n=t.recency;if(!he(n))return null;let r=Ie(n.coordinate);if(r===null)return null;let o=new Set(yi),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&_i(a))||![typeof n.source=="string"&&Bc.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function Kc(e,t){let n=Array.from(e,zc);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==_n(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function Vc(e){if(!he(e)||e.format_version!==pn||e.signal_set_version!==hn||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=Kc(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:pn,signal_set_version:hn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function vi(e){if(typeof e.sourceCursor!="string"||e.sourceCursor.trim().length===0)throw new TypeError("Context signal source cursor must be non-empty");if(!Number.isFinite(Date.parse(e.now)))throw new TypeError("Context signal snapshot clock must be a valid timestamp");if(e.source!=="derived_index"&&e.source!=="scan_fallback")throw new TypeError("Context signal snapshot source must be derived_index or scan_fallback")}function bi(e,t,n=_n(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:Gc(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:pn,signal_set_version:hn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function Om(e,t){return vi(t),bi(wt(e,wi(e,t)),t)}var gn=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=Re.resolve(t)}async read(){try{return JSON.parse(await Te.readFile(this.filePath,"utf8"))}catch(t){if(he(t)&&qe(t))return null;throw t}}async write(t){let n=Re.dirname(this.filePath);await Te.mkdir(n,{recursive:!0});let r=Re.join(n,`.${Re.basename(this.filePath)}.${Uc()}.tmp`);try{await Te.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await Te.rename(r,this.filePath)}finally{try{await Te.rm(r,{force:!0})}catch{}}}},yn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){vi(n);let r=[],o=null;try{let f=await this.adapter.read();o=Vc(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=o?.items.map(f=>f.id)??[],a=wt(t,wi(t,n)),d=_n(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===d&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),l;if(c&&o!==null)l=o;else{o!==null&&r.push("context_signal_store_stale"),l=bi(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>Hc[f])}}};function Yc(e){let t=gi("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function bt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let o=n?null:await it(t.pmRoot),i=t.sourceCursor??o?.source_cursor??Yc(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new yn(new gn(Re.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await to(t.pmRoot,e.map(c=>c.id))).map(([c,l])=>[c,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:i,source:s})}import Xc from"node:path";import{createHash as Qc}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]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function ki(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 Jc 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]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var Si=1,Zc=1e4,Ei=12;function ed(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function td(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function nd(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function rd(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(i=>t.statusRegistry.terminal_done_statuses.has(A(i.status,t.statusRegistry))).map(i=>{let s=ki(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,d=ed(a.timestamp),c=`epoch:${d}`,l=o.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(i),o.set(c,l);let u=td(s,r);if(u){let f=`epic:${u.id}`,h=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(i),o.set(f,h)}}return{format_version:Si,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(nd).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function od(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 id(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(od)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function sd(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Si||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(id)?t:null}function ad(e){return`scan:${Qc("sha256").update($r(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function cd(e,t,n){return n!==void 0?n:(await it(t))?.source_cursor??ad(e)}async function dd(e){try{let t=sd(JSON.parse(await Jc.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&qe(t))}}}async function kt(e,t){let n=Math.max(1,Math.floor(t.minimumItems??Zc));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await cd(e,t.pmRoot,t.sourceCursor),o=Xc.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await dd(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let d=rd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Ar(o,`${JSON.stringify(d)}
6
+ `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:i}}function ld(e,t,n=Ei){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function Ci(e,t,n=Ei){if(e.snapshot===null)return;let r=ld(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 ud(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function xi(e,t,n=5){let r=ud(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]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var fd=["markdown","toon","json","ndjson"],St=new Set(["Epic","Feature"]),Di=10,Fi=1e4,Mi=["hierarchy","activity","progress","recently_created","unparented","workload"],md=[...Mi,"blockers","files","staleness","tests"],pd=/^(\d{4})-(\d{2})-(\d{2})/,hd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,gd=/^(\d{4})(\d{2})(\d{2})$/,yd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function _d(e){if(!e)return;let t=e.trim().toLowerCase();if(!fd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var Ii=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 wd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Ii.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...Ii].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 Ae(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function fp(e,t){let n=_d(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 vd(e,t){return G(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Di)}function bn(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 bd(e,t){return t>=Fi&&e===Number.MAX_SAFE_INTEGER?Di:e}function kd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Ht.includes(n))throw new p(`Context --depth must be one of ${Ht.join("|")}`,m.USAGE);return n}function Sd(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!We.includes(s))throw new p(`Context --section must be one of ${We.join("|")}`,m.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...We]:(t==="deep"?md:Mi).filter(o=>n.sections[o])}function Ed(e,t){return e?G(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Cd(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 o=parseInt(r[1],10);if(o<=0)throw new p("--stale-threshold must be positive",m.USAGE);return o}function Ti(e,t){let n=A(e,t),r=N("blocked",t),o=N("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function De(e,t){let n=N("closed",t);return A(e,t)===n}function kn(e,t){return A(e,t)===t.in_progress_status}function $i(e,t){let n=A(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function xd(e,t){return t.blocked_statuses.has(A(e,t))}var Id=["compact","brief","fields","includeBody","include_body","parent"];function Td(e){let t={...e};for(let n of Id)delete t[n];return t}function Sn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=ge(e),i=Fe(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Rd(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 Ad(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Dd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:E(n,r)}function Fd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Md(e){let t=pd.exec(e)??hd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=Fd(n,r-1)}function $d(e){let t=gd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=yd.exec(e);if(n){let[,r,o,i,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${l}${u}`}return e}function Oi(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Md(t))return Number.NaN;let n=Date.parse($d(t));return Number.isFinite(n)?n:Number.NaN}function vn(e){let t=Oi(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Od(e){let t=Oi(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function En(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ne(e,t,n){let r=Ti(e.status,n)-Ti(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Ad(e.order,t.order);if(i!==0)return i;let s=Dd(e.deadline,t.deadline);if(s!==0)return s;let a=E(vn(t.updated_at),vn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function wn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Cn(e,t,n=new Set,r="context"){return hi(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:wn({id:o.id,title:o.item.title}),summary:wn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:wn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function xn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function In(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ni(e,t){return t>0?Math.round(e/t*100):0}function ge(e){let t=new Map;for(let n of e){let r=En(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Me(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:En(e.parent)};if(t&&n){let o=Fe(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>De(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Ni(s,i)}}return r}function Nd(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function Et(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Ld(e,t){return e.filter(n=>!t.terminal_statuses.has(A(n.item_status,t)))}function Pd(e,t,n,r){let o=new Map;for(let d of e)o.set(d.id,d);let i=ge(e),s=new Set(t.filter(d=>St.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=o.get(d);if(!c)continue;let l=Fe(d,i),u=i.get(d)??[],f=0,h=0,g=0,_=0;for(let w of l)De(w.status,n)?f++:kn(w.status,n)?g++:xd(w.status,n)?_++:$i(w.status,n)&&h++;let y=u.sort((w,k)=>ne(w,k,n)).slice(0,r).map(w=>{let k=Fe(w.id,i),v=k.filter(S=>De(S.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:k.length,children_closed:v}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:g,children_blocked:_,children:y})}return a.sort((d,c)=>{let l=o.get(d.id),u=o.get(c.id);return ne(l,u,n)}).slice(0,r)}function Fe(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function jd(e,t){return(await li({compact:!0,limit:String(e)},t)).compact_activity??[]}function Ud(e,t,n,r,o){let i=new Map;for(let d of e){if(!d.parent)continue;let c=i.get(d.parent)??[];c.push(d),i.set(d.parent,c)}let s=t.filter(d=>St.has(d.type)),a=[];for(let d of s){let c=Fe(d.id,i),l=c.length;if(l===0)continue;let u=0,f=0,h=0,g=0;for(let _ of c)De(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:kn(_.status,r)?h++:$i(_.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:g,completion_pct:Ni(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,o)}function Bd(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=Qt(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function Hd(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function Gd(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>kn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function Wd(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function qd(e,t,n,r){return e.map(o=>({item:o,sortKey:vn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Me(o,t,n),created_at:o.created_at}))}function zd(e,t,n,r){return e.filter(o=>!En(o.parent)&&!St.has(o.type)).sort((o,i)=>ne(o,i,t)).slice(0,r).map(o=>Me(o,t,n))}function Kd(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,o+=l.failed??0,i+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function Ri(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Li(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function Vd(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function Yd(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`${Ri(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Ri(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 Ai(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function Xd(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 Qd(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(`- ${Yd(n)}`);e.push("")}function Jd(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function Zd(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 el(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${Od(o.created_at)} ${Li(o)}`);e.push("")}}function tl(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 nl(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 rl(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function ol(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 il(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 sl(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 al(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 cl(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 mp(e){let t=[],n=e.focus_fields,r=i=>n?Vd(i,n):Li(i);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let i=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),Ai(t,"High-level focus",e.high_level,"No high-level active items.",r),Ai(t,"Low-level focus",e.low_level,"No low-level active items.",r),Xd(t,e,r),Qd(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return Jd(t,e),Zd(t,e),el(t,e,n,r),tl(t,e,r),nl(t,e),rl(t,e),ol(t,e),il(t,e),sl(t,e),al(t,e),cl(t,e),t.join(`
7
+ `)}async function dl(e,t){let n=T(process.cwd(),t.path),r=await $(n),o=r.context??xr.context,i=P(r.schema),s=kd(e.depth,o),a=vd(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Sd(e.section,s,o),activityLimit:Ed(e.activityLimit,o),staleThresholdDays:Cd(e.staleThreshold,o),parentScope:Rd(e.parent),focusFields:wd(e.fields),baseListOptions:Td(e)}}function ll(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function ul(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function fl(e,t){let n=await W(void 0,ul(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!Q(a.status,t.statusRegistry)),i=r,s=ml(t.parentScope,r);return s&&(o=o.filter(a=>s.has(a.id.trim().toLowerCase())),i=i.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:i,fullCorpus:r,subtreeIds:s}}function ml(e,t){if(e===void 0)return;let n=Sn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}function pl(e,t,n,r){let o=new Set(lt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>St.has(i.type)||o.has(i.id)||Ee(i.type,r)!=="agent").map(i=>i.id))}async function hl(e,t,n,r,o,i,s,a,d,c,l,u,f,h,g,_){let y=[...e].sort((b,ae)=>ne(b,ae,o)),w=await et({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await bt(y,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),v=await vt("context",k.candidates),S=v.ranked.map(b=>b.item),J=o.active_statuses,R=S.filter(b=>J.has(A(b.status,o))),D=u?Br(R,c,l,b=>b.id):0,I=u?R.slice(D,D+s):R,He=u&&I.length>0&&D+I.length<R.length,Ge=He&&I.length>0?Ur(l,I[I.length-1].id,D+I.length-1):void 0,Z=S.filter(b=>r.has(b.id.trim().toLowerCase())),ve=new Set([...I.map(b=>b.id),...Z.slice(0,s).map(b=>b.id)]),oe=Cn({...v,ranked:v.ranked.filter(b=>ve.has(b.id))},h,new Set(Object.entries(g??{}).filter(([,b])=>b>=1).map(([b])=>b))),V=oe.included.map(b=>b.item),Y=V.filter(b=>J.has(A(b.status,o))),ie=V.filter(b=>r.has(b.id.trim().toLowerCase())),se=ge(t),Ut=ll(i)?se:void 0,L=new Map(n.map(b=>[b.id.trim().toLowerCase(),b])),O=b=>{let ae=Me(b,o,Ut);return r.has(b.id.trim().toLowerCase())&&(ae.blocked=!0,ae.blocker_ids=Qt(b,L,o).filter(Bt=>!Bt.resolved).map(Bt=>Bt.id)),ae},kr=pl(Y,n,o,_),Ps=Y.filter(b=>kr.has(b.id)).slice(0,u?I.length:s).map(O),js=Y.filter(b=>!kr.has(b.id)).slice(0,u?I.length:s).map(O),Sr=R.length===0;return{activeItems:Y,blockedItems:ie,highLevel:Ps,lowLevel:js,blockedFallback:Sr?ie.slice(0,s).map(O):[],blockedFallbackUsed:Sr,ranking:v,packing:oe,featureStore:k,pageExtras:{...u?{applied_limit:s}:{},...He?{has_more:!0,truncated:!0}:{},...Ge?{next_cursor:Ge}:{}}}}function gl(e){return Xe("context",Ye(e,Nr))}function yl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Fi}async function _l(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await ii(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Ld(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:i,agendaEvents:d,agendaSummary:Nd(a)}}function Pi(e,t,n){let r=String(t);return e.filter(o=>A(o.status,n)===r).length}async function wl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,d=ge(n),c=n.filter(u=>!Q(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Pd(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await jd(t.activityLimit,a):void 0,progress:l("progress")?Ud(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Bd(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?qd(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?zd(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?Hd(i.activeItems,t.limit):void 0,workload:l("workload")?Gd(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Wd(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Kd(i.activeItems):void 0}}function vl(e,t,n){let r=N("canceled",t),o=e.filter(s=>t.active_statuses.has(A(s.status,t))),i=Pi(o,t.in_progress_status,t);return{scope:"matching_items",active_items:o.length,open:o.length-i,in_progress:i,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>De(s.status,t)).length,canceled:e.filter(s=>A(s.status,t)===r).length}}function bl(e,t,n){t.hierarchy&&(e.hierarchy=t.hierarchy),t.activity&&(e.activity=t.activity),t.progress&&(e.progress=t.progress),t.blockersSection&&(e.blockers=t.blockersSection),t.recentlyCreated&&(e.recently_created=t.recentlyCreated),t.unparented&&(e.unparented=t.unparented),t.filesSection&&(e.files=t.filesSection),t.workload&&(e.workload=t.workload),t.staleness&&(e.staleness=t.staleness),t.tests&&(e.tests=t.tests),n!==void 0&&n.length>0&&(e.warning_details=n)}function kl(e,t){t&&(e.focus_fields=t,e.high_level=Ae(e.high_level,t),e.low_level=Ae(e.low_level,t),e.blocked_fallback=Ae(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ae(e.recently_created,t)),e.unparented&&(e.unparented=Ae(e.unparented,t)))}function Sl(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function El(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 Cl(e,t,n,r){try{let o=new Set(t.packing.included.map(d=>d.id)),i=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:o.has(d.id)})),s=new Set(i.map(d=>d.id));for(let d of Je(e,"context"))s.has(d)||(i.push({id:d,rank:i.length+1,included:!1}),s.add(d));let a=await Ze({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qe(e,a)}catch{e.warnings=Et(e.warnings,["context_usage_feedback_write_failed"])}}async function xl(e,t,n){if(e)return{};let o=(await Or({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function Il(e,t){let n=Zr(),r=await Vr(e),o=n.instance||Yr(t);return Vo(r.semantic_attribution?.[o])}async function pp(e,t){let n=T(process.cwd(),t.path),r=await dl(e,t),o=await fl(t,r),i=bd(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:bn(e.tokenBudget,Math.max(256,i*160))},a=ee(void 0,s.settings.author_default),d=await Il(n,a),c=xl(e.noExtensionHealth===!0,n,s.settings),l=Eo(o.fullCorpus,s.statusRegistry),u=await hl(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,M(),a,e.after,gl(e),yl(e,o.fullCorpus.length),n,s.tokenBudget,d,F(s.settings,C())),f=await _l(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),h=await kt(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),g=Et(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),_=Pi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await wl({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),k=vl(o.allItems,s.statusRegistry,l),v={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:_,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...k},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return v.workspace_memory=Ci(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(v,await c),bl(v,w,u.featureStore.warning_details),Sl(v,e.noTags===!0),e.explainRanking===!0&&(v.ranking=In(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),v.packing=xn(u.packing)),kl(v,s.focusFields),g.length>0&&(v.warnings=g),El(v,u.activeItems,u.blockedItems),await Cl(v,u,n,a),v}(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]="7b1a6347-904d-5c7d-a86d-23e6232b9467")}catch{}})();function ji(e,t,n){let r={recommended:e.recommended,ready:e.ready},o=()=>Math.max(qt(r,"json"),qt(r,"toon")),i=r.ready.length+ +(r.recommended!==null),s=o(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=o()),s>t&&a<=t){let u=0,f=d.length;for(;u<f;){let h=Math.ceil((u+f)/2);r.ready=d.slice(0,h),o()<=t?u=h:f=h-1}r.ready=d.slice(0,u),a=o()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=o()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=i-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(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]="0497aebe-9963-5025-9266-124455dd4567")}catch{}})();var Tl=["markdown","toon","json"],Rl=5,Al=1440*60*1e3;function Dl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Tl.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function Tp(e,t){let n=Dl(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 Ui(e,t,n){let r=G(e,t);return r===void 0||r<=0?n:r}function $e(e,t,n,r){return{...Me(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Fl(e,t,n,r){let o=e.item,i=[],s=N("in_progress",t);return i.push(A(o.status,t)===s?"resume work":"ready"),r&&i.push("completed container \u2014 governance closeout"),i.push(`p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(Ml(o.deadline,n)),i.push(So(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s)`),i}function Bi(e,t,n){let r=ee(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var Rp={partitionCallerOwnedReady:Bi,resolveNextCallerAuthor:(e,t)=>Hi(e,t)};function Ap(e,t,n){let r=e.filter(o=>Ee(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>Ee(o.item.type,n)!=="human"),decisions:t?[]:r}}function Ml(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/Al);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function $l(e,t){let n=N("in_progress",t);return e.filter(r=>A(r.status,t)===n).length}function Tn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Ol(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 Ct(e,t,n){return[...e].sort((r,o)=>{let i=Tn(r.item,t),s=Tn(o.item,t);return i!==s?Number(i)-Number(s):ne(r.item,o.item,n)})}function Nl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Fl(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Ll(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let o=t.find(i=>i.blockers.length>0);return[...r,o?`${t.length} item(s) are blocked; unblock the top one by closing ${o.blockers.map(i=>i.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[...r,'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 Pl(e,t,n,r){let o={};return e>r&&(o.decision_needed_total=e),t>r&&(o.held_by_others_total=t),n>r+1&&(o.ready_total=n),Object.keys(o).length>0?o:void 0}async function jl(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(i=>i.id)]),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of Je(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Ze({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});Qe(e.result,o)}catch{e.result.warnings=Et(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Ul(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.result.suggestions=Ll(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&ji(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=In(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=xn(Cn(e.readyRanking,e.packingBudget,new Set,"next"))),await jl({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Bl(e,t,n){if(!n)return e;let r=Sn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function Hl(e,t,n,r,o,i,s){let a=e.filter(g=>!Tn(g.item,t)),d=s||a.length===0?e:a,c=await et({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await bt(d.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:c.affinity}),u=await vt("next",l.candidates),f=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>f.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Hi(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Dp(e,t){let n=T(process.cwd(),t.path),r=await $(n),o=Hi(e,r.author_default),i=P(r.schema),s=F(r,C()),a=M(),d=Ui(e.limit,"--limit",Rl),c=bn(e.tokenBudget,Math.max(192,d*128)),l=Ui(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await W(void 0,Ol(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=Bl(h.items,g.items,f),y=g.items,w=lt(_,y,i,s),k=ge(y),v=Co(w,i,e,s),S=Bi(v.ready,r.author_default,o),J=Ct(S.available,k,i),R=[...w.blocked].sort((L,O)=>ne(L.item,O.item,i)),{projectedReady:D,ranking:I,completedContainer:He,featureStore:Ge}=await Hl(J,k,i,a,o,n,e.includeContainers===!0),Z=D.map((L,O)=>$e(L,i,k,O+1)),ve=R.map((L,O)=>$e(L,i,k,O+1)),oe=Ct(v.decisions,k,i).map((L,O)=>$e(L,i,k,O+1)),V=Ct(v.gates,k,i).map((L,O)=>$e(L,i,k,O+1)),Y=Ct(w.containers,k,i).map((L,O)=>$e(L,i,k,O+1)),ie=Nl({projectedReady:D,readyRows:Z,statusRegistry:i,now:a,completedContainer:He}),se=Pl(oe.length,S.held.length,Z.length,d)??{};V.length>d&&(se.gate_needed_total=V.length),Y.length>d&&(se.containers_total=Y.length);let Ut={output_default:"toon",now:a,recommended:ie,ready:Z.slice(1,d+1),decision_needed:oe.slice(0,d),gate_needed:V.slice(0,d),containers:Y.slice(0,d),blocked:u?[]:ve.slice(0,l),held_by_others:S.held.slice(0,d),summary:{recommended:ie!==null,ready:Z.length,blocked:ve.length,in_progress:$l(Z,i),candidates:w.active_count,containers:w.container_count,decision_needed:oe.length,gate_needed:V.length,held_by_others:S.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:f.length>0?f:null,limit:d,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(se).length>0?se:void 0};return Ul({result:Ut,recommended:ie,blockedRows:ve,gateCount:V.length,candidatesWarnings:h.warnings,corpusWarnings:g.warnings,readyRanking:I,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packingBudget:c,featureStore:Ge,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function Fp(e){let t=["# pm next","",...Gl(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Oe(n,r.map(o=>`- ${Ne(o)}`),""));if(t.push(...Oe("Recommended",Wl(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Oe("Decision needed",(e.decision_needed??[]).map(n=>`- ${Ne(n)}`),"No human-gated decisions.")),t.push(...Oe("Ready",e.ready.map(n=>`- ${Ne(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Oe("Blocked",e.blocked.map(n=>`- ${ql(n)}`),"No blocked items.")),e.suggestions&&e.suggestions.length>0){t.push("## Suggestions");for(let n of e.suggestions)t.push(`- ${n}`)}return t.join(`
8
+ `).trimEnd()}function Gl(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 Wl(e){return e?[`- ${Ne(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Oe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ql(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Ne(e)} blocked_by:${t}`}function Ne(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]="2a9a4dc0-8027-5761-9bbf-cac1ef83bd10")}catch{}})();var zl=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Kl=["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 Vl(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function $p(e,t,n={}){let r=n.includePagination!==!1;return[t,...zl.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Vl)||Kl.some(i=>e?.[i]===!0)}function Gi(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]="7a4a98b2-3872-506d-b88d-877b0033dd2d")}catch{}})();var Wi=["parent","type","priority","status","assignee","tags","sprint","release"];function zi(e,t){let n=nt(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Ki(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),o=n&&n.length>0?n:void 0,i=r&&r.length>0?r:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=o??i;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Vi(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=ko(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(!Wi.includes(r))throw new p(`Aggregate group fields must be one of ${Wi.join("|")}; received "${r}"`,m.USAGE);return n}function Yi(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 Xi(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 Yi(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Qi(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 xt(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Yl={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function qi(e,t){return t==null||t===""?Yl[e]:String(t)}function Xl(e,t){return e.length===1?qi(e[0],t[e[0]]):e.map(n=>`${n}=${qi(n,t[n])}`).join(" | ")}function Ji(e,t,n){for(let r of n){let o=Qi(e.group[r],t.group[r]);if(o!==0)return o}return 0}function Zi(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=r.trim();if(o.length===0)return null;let i=Number(o);if(Number.isFinite(i))return i}return null}function es(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Rn(e,t,n){let r=N(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 Ql(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 Jl(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Zl(e){e.accumulator.row.count+=1,e.includeCompletion&&Rn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Jl(e.accumulator,e.numericValue)}function eu(e,t,n,r){for(let o of t){let i=xt(n,o),s=e.get(i);if(s){Zl({...r,accumulator:s});continue}let a=Ql(o,r.numericValue);r.includeCompletion&&Rn(a,r.item.status,r.statusRegistry),e.set(i,a)}}function tu(e,t){let n={};for(let r of e)n[r]=Xi(r,t);return n}function nu(e,t,n){let r=[tu(e,t)];if(n==="tuple")return r;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[o]:d}))))}return r}function ru(e,t,n,r){let o={...e.row,group_label:Xl(t,e.row.group)};return n&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=es(e.closed_count,e.row.count)),r!==null&&(o.null_count=e.null_count,r.sum&&(o.sum=e.numeric_sum),r.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function ou(e){return{group_by:e.groupBy,set_mode:e.setMode,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 Up(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=T(process.cwd(),t.path),r=await $(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...X(r.schema).definitions.filter(v=>v.type==="number").map(v=>v.metadata_key)],s=Vi(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",m.USAGE);let d=zi(e.status,o),c=Ki(e,[...new Set(i)].sort((v,S)=>v.localeCompare(S))),l=e.completion===!0,u=e.includeUnparented===!0,f=await W(void 0,{...Gi(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,_=0,y=0;for(let v of f.items){let S=v;if(s.includes("parent")&&S.parent===void 0&&!u){g+=1;continue}let J=c===null?null:Zi(S,c.field),R=nu(s,S,a);eu(h,R,s,{item:S,statusRegistry:o,includeCompletion:l,numericAggregation:c,numericValue:J}),y+=R.length,_+=1}let w=[...h.values()].map(v=>ru(v,s,l,c)).sort((v,S)=>Ji(v,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...iu(w,s,e),count:w.length,totals:{items_considered:f.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:ou({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:M(),...k?{warnings:k}:{}}}function iu(e,t,n){let r=Go(n.limit,"limit")??50,o=n.after===void 0?-1:e.findIndex(a=>xt(t,a.group)===n.after);if(n.after!==void 0&&o<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",m.USAGE);let i=e.slice(o+1,o+1+r),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?xt(t,i.at(-1).group):null}}var Bp={buildGroupKey:xt,compareAggregateRows:Ji,compareNullableGroupValue:Qi,completionPct:es,normalizeTagGroupValue:Yi,parseGroupBy:Vi,parseNumericAggregation:Ki,parseStatus:zi,readNumericAggregateValue:Zi,resolveGroupValue:Xi,updateCompletionCounts:Rn};(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]="acda1c64-cb50-57b5-868d-a27ca6912979")}catch{}})();var ts=1e6,ns=20;function rs(e,t,n,r=ns){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let y of t){if(a+=1,a>ts)throw new p(`Child projection exceeded the ${ts.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."]});s.push(y)}let d=new Map(s.map(y=>[y.id.trim().toLowerCase(),y])),c=Lo(No(s,Oo())),l=new Set(c.children_by_parent.get(o)??[]);for(let y of s)y.parent?.trim().toLowerCase()===o&&l.add(y.id.trim().toLowerCase());let u=[...l].map(y=>d.get(y)),f=0;for(let y of u){let w=y.status.trim().toLowerCase();i[w]=(i[w]??0)+1,Q(w,n)||(f+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let h=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>h.length,_=r===0?ns:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(i).sort(([y],[w])=>y.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${_}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="926ca5b2-8cfc-56e7-8cbf-fb0e7152d834")}catch{}})();var su=new Set(["event","meeting","reminder"]);function au(e){return su.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function An(e){if(!au(e))return;let t=[...e.events??[]].sort((r,o)=>r.start_at.localeCompare(o.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]="26bf8487-2515-5885-b6de-56ba6292fb65")}catch{}})();var du=new Set(["epic","feature","milestone","plan"]),lu=new Set(Object.keys(Cr).map(e=>e.toLowerCase()));function Fn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function uu(e,t){let n=Fn(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,o])=>o>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...An(e)?["schedule"]:[]]}function is(e){let t=e.trim().toLowerCase();return t.length>0&&(du.has(t)||!lu.has(t))}function os(e){return{ts:e.ts,author:e.author,message:e.message??null}}function fu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:o?os(o):null,last_release:i?os(i):null}}function mu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(zt.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function pu(e,t){let n=Fn(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:o,learnings:i,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function hu(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 Tt(e){return e.startsWith("item.")?e.slice(5):e}function gu(e,t,n){if(e===null)return;let r=Kt(t),o=new Set(r),i=e.filter(s=>{let a=Tt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${i.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"],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}var yu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function _u(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:yu.has(n)?[]:void 0}function wu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Fn(e)},o={id:e.id};for(let i of t){let s=Tt(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(o[s]=_u(n,r,s))}return o}function Le(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function It(e,t){return e.some(n=>{let r=Tt(n);return r===t||r.startsWith(`${t}.`)})}function vu(e,t){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,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});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":mu(e.depth),treeDepth:e.tree===!0?G(e.treeDepth,"--tree-depth"):void 0,fields:hu(e.fields),fieldProjection:e.fields!==void 0}}async function bu(e,t,n){let r=T(process.cwd(),t.path);await B(r);let o=await $(r),i=F(o,C());if(n!==void 0){let d=await Ho(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ue(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await ho(r,e,o.id_prefix,i.type_to_folder);let a=await fe(s,{schema:o.schema});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function ku(e,t,n,r){let o=X(t.schema).definitions.map(i=>i.metadata_key);if(gu(e,o,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 Dn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Le(r,o):It(r,o):n!=="brief"}async function Su(e,t){if(!t)return;let n=Ke(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return fu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Eu(e,t,n,r){let o=r||Le(n,"linked.files"),i=r||Le(n,"linked.tests"),s=r||Le(n,"linked.docs");!r&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Cu(e,t){if(!t)return;let n=P(e.settings.schema),r=await me(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return rs(e.locatedId,r,n)}function xu(e,t,n,r){if(!r)return;let o=An(t.metadata);if(o){if(n===null||Le(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>Tt(s)===`schedule.${i}`)))}}async function Iu(e,t,n,r){if(t.tree!==!0)return;let o=await W(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:o.count,items:o.items.map(i=>i)}}async function dh(e,t,n={}){let r=vu(n,e),o=await bu(e,t,n.at);ku(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Dn({...r,field:"body"}),s=Dn({...r,field:"linked"}),a=Dn({...r,field:"claim_state"}),d=o.historical===void 0&&(r.fieldProjection?It(r.fields,"children"):r.depth==="deep"&&is(o.metadata.type)),c=r.fieldProjection?It(r.fields,"schedule"):r.depth!=="brief",l=await Su(o,a),u={item:r.fieldProjection?wu(o.metadata,r.fields):pu(o.metadata,r.depth)};i&&(u.item.body=o.body),Eu(u,o,r.fields,s),l&&(u.claim_state=l),xu(u,o,r.fields,c);let f=await Cu(o,d);f!==void 0&&(u.children=f);let h=await Iu(o,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await qr({pmRoot:o.pmRoot,author:ee(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return jr(u,uu(o.metadata,o.body)),u}var lh={shouldAutoIncludeGetChildren:is};(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]="0cc18a30-5068-5c59-b559-7afc4d446ed8")}catch{}})();function Tu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Ru(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=no(n.patch);for(let s of i)o.add(Vt(s.path)),s.from&&o.add(Vt(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function Au(e){if(e[0]?.op!=="history_compact_baseline")return;let t=Yt(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function Du(e,t){let n=T(process.cwd(),t.path);await B(n);let r=await $(n),o=F(r,C()),i=e.trim()===tt,s=i?tt:uo(e,r.id_prefix),a=await ue(n,s,r.id_prefix,r.item_format,o.type_to_folder),d=a?.id??s,c=i?ro(n):Ke(n,d);if(!a&&!await Tr(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await co({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function bh(e,t,n){let r=le(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await Du(e,n),d=await te(o,s),c=Au(d),l=a.agent_identity.identity_vocabulary,u=pt(a.agent_identity.harness_signals),f=gt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=Fu(d).filter(({entry:D})=>f(D)),g=Tu(h,r),_=g.map(({entry:D})=>D),y=t.compact===!0,w=y?Ru(g,c):void 0,k=t.provenance===!0?g.map(({entry:D,durableVersion:I})=>ht(D,l,{itemId:s,version:I})):void 0,v=t.provenance===!0?"provenance":y?"compact":"full",S={compact:{compact_history:w},provenance:{provenance_history:k},full:{history:_}}[v],R={id:s,...S,compact:y,projection:{mode:v,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[v]},omission_receipt:Ve("history",v),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:yt(h.map(({entry:D})=>D),l,u)}:{}};if((t.diff||t.field!==void 0)&&(R.diff=ao(d,{windowStartIndex:Math.max(0,d.length-_.length),field:t.field})),t.verify){let D=i?(await fe(i,{schema:a.schema})).document:void 0;if(R.verification=Bo(d,D),s===tt&&R.verification.ok){let I=await oo(T(process.cwd(),n.path));R.verification={...R.verification,ok:I.ok,errors:I.ok?R.verification.errors:[...R.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:I.ok,workspace_state_mismatches:I.mismatched_documents,workspace_state_missing:I.missing_documents,workspace_state_unreadable:I.unreadable_documents}}}return R}function Fu(e){let t=Yt(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+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]="6a84083a-153e-590f-bb9b-cde96ed09a74")}catch{}})();function Mu(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 Rt(e){return e===!0}function ss(e){return Fr(e,0,1)??void 0}function as(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 cs(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 re(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function j(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Mn(e,t){if(e!==void 0)return H(e,new Date,t)}function $u(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 At(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=$u(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...zr]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function $n(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Kr(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(r),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",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."],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}function Dt(e){let t=j(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function On(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Ou=["auto","keyword","semantic","hybrid"];function Nu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ou.includes(n)?n:"auto"}function Nn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Mu(e.requested),source:"explicit"};let t=Nu(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Ln(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Pn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function jn(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=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;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)}}(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]="91b01dd0-6a8d-5b97-96d2-c27f4044c009")}catch{}})();function Lu(e){return Xe("search",{query:e.query.trim(),mode:e.mode,options:Ye(e.searchOptions,Lr)})}function ds(e){let t=Hr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Lu(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]="48888c80-60e1-5905-afd5-8c1b6e532f99")}catch{}})();function ls(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 Pu=[{optionKey:"status",summaryKey:"status",normalize:e=>ls(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 ye(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return Uo(l,r,Pu),Object.assign(l,Zt(r)),Object.assign(l,Jt(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),o&&(l.include_linked=!0),i&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function _e(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||ls(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),...Zt(r),...Jt(r),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:f(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bc52818b-d37f-5d00-954d-d50203a433c2")}catch{}})();var ju=1.2,Uu=.75;function Un(e){return pe(e)}function Bu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function fs(e){let t=[],n=new Map,r=0;for(let i of e){let s=Un(i.text),a=Bu(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:n,documentCount:o,averageDocumentLength:o>0?r/o:0}}function Hu(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function ms(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return r;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,Hu(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of i){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function us(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function ps(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 hs(e){let t=e?.search?.bm25;return{k1:us(t?.k1,ju,0,1e3),b:us(t?.b,Uu,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]="e2985104-efdb-59e5-9674-2dd865ebdf56")}catch{}})();var Bn=4,Gu=20,Wu=200,qu=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 o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function zu(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 Ku(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 gs(e,t=Bn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=pe(n);if(r.length===0)return[n];let o=r.filter(a=>!qu.has(a.toLowerCase())),i=r.map(a=>zu(a)),s=o.map(a=>Ku(a));return Hn([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function ys(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Hn(t.filter(n=>typeof n=="string"),Bn):[]}function _s(e,t,n){return Hn([...e,...t],Math.max(1,n))}function ws(e,t){let r=e.search?.query_expansion,o=be(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:Bn}}function vs(e,t){let r=e.search?.rerank,o=be(r?.model),s=Dr(r?.top_k)??Gu;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Wu,s)}}function bs(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=be(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(i);(a===void 0||s>a)&&n.set(i,s)}let r=[...n.entries()].map(([o,i])=>({id:o,score:i}));return r.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),r}function Vu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function ks(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Yu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Vu(e,t),o=ks(t),i=n*o;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,r/i))}async function Ss(e,t,n,r,o){if(r.length===0)return new Map;let i=be(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(f=>f.text)],d=await st(s,a,o?{timeout_ms:o}:{}),c=d[0];if(!c)return new Map;let l=ks(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],g=d[f+1];if(!g)continue;let _=Yu(c,g,l);u.set(h.id,Math.max(0,Math.min(1,(_+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5e4bd88-a099-559f-8194-7b56f325eb0e")}catch{}})();function we(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Pe(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function Gn(e){let t=e.metadata;return[t.title,t.description,t.status,we(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),at(t).join(" "),ct(t).join(" "),Pe(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),dt(t)]}function Wn(e,t){return Gn(e).some(n=>j(n).includes(t))}function qn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&j(r.metadata.title)!==t||n.phraseExact&&!Wn(r,t)))}function Xu(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 Qu(e,t,n){let r=Ce(e.assignee,{label:"--assignee"});Xu(r);let o=Po(e),i=jo(e);return{typeFilter:To(e.type,t),tagFilter:Ce(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ro(e.priority),deadlineBefore:Mn(e.deadlineBefore,"deadline-before"),deadlineAfter:Mn(e.deadlineAfter,"deadline-after"),updatedAfter:re(e.updatedAfter,"updated-after"),updatedBefore:re(e.updatedBefore,"updated-before"),createdAfter:re(e.createdAfter,"created-after"),createdBefore:re(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Ce(e.sprint,{label:"--sprint"}),releaseFilter:Ce(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:Do(o),contentFieldFilters:i,contentFiltersActive:Mo(i)}}function Ju(e,t){return Zu(e,t)&&Wr(e,t)&&ef(e,t)}function Zu(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&&!we(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function ef(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 tf(e,t,n,r){let o=e.metadata;return!(!Ju(o,t)||!ot(o,n)||t.missingMetadataActive&&!Fo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!$o(o,t.contentFieldFilters))}function zn(e,t,n,r,o,i){let s=Qu(t,n,o);return e.filter(a=>tf(a,s,r,i))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5a927991-1dbe-5906-a0eb-7da2534b6905")}catch{}})();var nf=2,rf=120,of=6,sf=40,af=1e3,cf=900,df="\xAB",lf="\xBB",Es=60;function Ft(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}var Cs=[{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=>we(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=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>at(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>ct(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Pe(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>dt(e.metadata)}],uf=new Map(Cs.map(e=>[e.name,e]));function Kn(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${df}${o}${lf}`)}function Vn(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,o=l.length)}if(r<0)return null;let i=Math.max(0,r-Es),s=Math.min(e.length,r+o+Es),a=Kn(e.slice(i,s),t),d=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Mt(e,t,n){let r=[];for(let o of t){let i=uf.get(o);if(i===void 0)continue;let s=Vn(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function ff(e,t,n){return[...Cs.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function mf(e,t,n){let r=j(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=j(o),s=i.length>0&&r.startsWith(i)?r.slice(i.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?af:cf,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function pf(e,t,n,r,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*r.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of n){let d=Ft(a.value.toLowerCase(),i);d>0&&(o.score+=d*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function hf(e,t,n,r){j(e.title)===t&&(r.score+=rf,r.matched.add("title"));for(let i of n){let s=Ft(j(i.value),t);s>0&&(r.score+=s*i.weight*of,r.matched.add(i.name))}}function Yn(e,t,n,r,o,i,s=!1){let a=e.metadata,d=mf(a,n,i);if(d)return d;let c=new Map;for(let _ of pe(a.title))c.set(_,(c.get(_)??0)+1);let l=ff(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};pf(t,c,l,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=sf),t.length>=nf&&n.includes(" ")&&hf(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((_,y)=>_.localeCompare(y)),matched_all_terms:h}}function Xn(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=Q(n.item.status,t),s=Q(r.item.status,t);if(i!==s)return i?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function Qn(e,t,n,r,o,i,s,a=!1){return Yn(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function je(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let o of e.values())t=Math.min(t,o),n=Math.max(n,o);if(n===t)return new Map([...e.keys()].map(o=>[o,1]));let r=new Map;for(let[o,i]of e)r.set(o,(i-t)/(n-t));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]="0175d395-3f87-5a93-8d4f-a3150aaf16ae")}catch{}})();function Ot(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function Nt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Ot(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 Jn(e,t){let n=Nt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function xs(e){return e?.commands?.some(n=>n.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function Zn(e,t,n){try{let r=await bo(e);r.warnings.length>0&&n.push(...r.warnings);let o=qo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=xs(C());n.push(...Is(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
9
+ `)}catch{}}function Is(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Lt(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 U=ze;function Ue(e){let t=C(),n=io(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,o=r.query,i=r.queryExpansion??r.query_expansion,s=r.rerank,a=U(r.name)??U(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function er(e){let t=U(e.search?.provider),n=Ue(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function tr(e){let t=C(),n=U(e.vector_store?.adapter),r=so(t,n);if(!r)return null;let o=r.runtime_definition??r.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:U(o.name)??U(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function nr(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 o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=U(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||o.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:d,matched_fields:u})}return i}function rr(e,t){let n=[],r=new Map;for(let o of e){if(r.has(o.id))continue;let i=t.get(o.id);i&&(r.set(o.id,o.score),n.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function $t(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)),o=e.filter(c=>!r.has(c.item.id)),i=o.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=i+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...o]}function Pt(e,t,n,r,o="semantic"){let i=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=je(t),d=je(i),c=new Set([...t.keys(),...i.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,g=d.get(u)??0,_=h*r+g*l;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(o);for(let w of s.get(u)??[])y.add(w);return{item:f.metadata,score:_,matched_fields:[...y].sort((w,k)=>w.localeCompare(k))}}).filter(u=>u!==null)}function or(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function ir(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:ps(wo(s,{fields:e.corpusFields}))})),n=fs(t),r=ms(n,Un(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:o.get(a).metadata,score:d,matched_fields:["bm25"]}));return $t(s,e.keywordHits)}let i=Pt(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return $t(i,e.keywordHits)}function sr(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function ar(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(`
10
+ `)}async function gf(e,t){let n=e.queryExpansion.enabled?gs(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return _s(r,ys(o),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 yf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,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 _f(e,t,n){return[...e].sort((o,i)=>o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)).slice(0,n).map(o=>{let i=t.get(o.item.id);return i?{hit:o,text:ar(i)}:null}).filter(o=>o!==null)}async function wf(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(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=bs(r);return o.length>0?new Map(o.map(i=>[i.id,i.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 vf(e,t,n){let r=await wf(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Ss(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function bf(e,t){let n=new Set(t.keys()),r=e.map(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((o,i)=>{let s=n.has(o.item.id),a=n.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),r}async function kf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=_f(n,r,e.rerank.top_k),i=await vf(e,t,o);return i&&i.size>0?bf(n,i):n}async function cr(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}:{},o=e.query.trim(),i=await gf(e,o),s=await st(e.provider,i,n),a=await Promise.all(s.map(async g=>await yf(e,g,t,r))),d=sr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=rr(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:$t(l,e.keywordHits),vectorMatchCount:f};let h=await kf(e,o,Pt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:$t(h,e.keywordHits),vectorMatchCount:f}}function Ts(e){let t=Ue(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Rs(e){let t=Ue(U(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import jt from"node:fs/promises";import dr 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]="6e743cc1-3ff0-58b1-bf11-351d1655864c")}catch{}})();function lr(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()})),o=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function As(e){let t=dr.resolve(e);try{let n=await jt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ur(e,t){let[n,r]=await Promise.all([As(e),As(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function fr(e,t){let n=lr(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=dr.resolve(i.resolved,o.path);if(!Gt(i.resolved,s))continue;let a;try{a=await jt.realpath(s)}catch{continue}if(Gt(i.realpath,a))try{await ke({path:s,scope:o.scope}),r.push(await jt.readFile(s,"utf8"))}catch{}}return r.join(`
11
+ `)}async function mr(e,t,n,r){let o=Ir(C()),i=async(c,l,u)=>{let f=async(h,g)=>{await ke({path:h,scope:"project"});let _=await jt.readFile(h,"utf8");return eo(_,{format:g,schema:r,extensionFieldNames:o,onWarning:w=>s.push(w)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=Wt(e,c.type,c.id,h,n);try{return await f(g,h)}catch{return s.push(`item_list_item_read_failed:${dr.relative(e,g)}`),""}}},s=[],a=await mo(e,t,n,s,r),d=[];if(a.length===0){let c=await po(e,t,n,s,r);for(let l of c){let u=Wt(e,l.type,l.id,t,n),f=await i(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await i(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function Ds(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await ur(o,Mr(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await fr(a,i)]));for(let[a,d]of s)r.set(a,d);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]="5ff2b814-42b0-50fc-92dd-17e9fc521982")}catch{}})();var Fs=["tag","status","type","priority"];function pr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(o=>o.length>0)){let o=r.indexOf(":"),i=o>0?r.slice(0,o).toLowerCase():"",s=o>0?r.slice(o+1):"",a=Fs.includes(i)?i: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 hr(e,t,n){let r={...e};for(let o of Fs){let i=t[o];if(i!==void 0){if(ze(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Ms(e,t){let n=[],r=pr(e),o=Object.keys(r.inlineFilters).length>0;if(o&&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 i=o?r.residualQuery:e,s=hr(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Rt(s.includeLinked),titleExact:Rt(s.titleExact),phraseExact:Rt(s.phraseExact),matchMode:as(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:cs(s.minScore),countOnly:s.count===!0,tokens:Dt(i),normalizedQuery:j(i),limit:le(s.limit),projection:At(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function $s(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}(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]="984a6fdc-9383-5f89-8e71-b0d3ed2a35cc")}catch{}})();function yr(e,t,n,r,o,i,s,a,d,c,l,u,f,h){let g=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let w=ye({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...br(h),items:[],count:0,...g,filters:w,...l.length>0?{warnings:l}:{}}}let y=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:_e({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:y},now:M(),...l.length>0?{warnings:l}:{}}}function _r(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 i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function wr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=_r(n,o);return r})}function vr(e,t){return yr(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,e.modeSource)}function Os(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return gr({query:e.query.trim(),mode:e.effectiveMode,...br(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:ye({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 gr({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:_e({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:M()},e.warnings)}function br(e){return e==="settings"?{mode_source:e}:{}}function gr(e,t){return t.length===0?e:{...e,warnings:t}}function Be(e,t){return t?{...e,workspace_memory:t}:e}function Ns(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(i=>[i.metadata.id,i])),o=n.map(i=>({...i,highlights:Mt(r.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Ls(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return gr({query:e.query.trim(),mode:e.effectiveMode,...br(e.modeSource),items:t,count:t.length,...s,...i,filters:ye({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=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:_e({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:o.mode,fields:a},now:M(),...e.warnings.length>0?{warnings:e.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]="9e7719a0-9efa-59c2-85d5-e7a5eb30d8e3")}catch{}})();var hy={applyFilters:zn,applyExactQueryFilters:qn,applyInlineQueryFilters:hr,buildHitHighlights:Mt,buildVerboseSearchFilters:_e,buildExplicitSemanticFallbackWarning:Jn,buildCompactSearchFilterSummary:ye,buildHybridLexicalScore:Qn,buildRerankCorpus:ar,buildSemanticHits:rr,classifyImplicitSemanticFallbackReason:Nt,collectErrorCauseCodes:Ot,collectExactPhraseFields:Gn,collectLinkedPaths:lr,combineHybridHits:Pt,computeBuiltInBm25Hits:ir,computeSemanticOrHybridHits:cr,resolveBuiltInBm25Mode:or,countOccurrences:Ft,dependencyEntries:Pe,documentContainsExactPhrase:Wn,emptySearchResult:yr,highlightFieldSnippet:Vn,loadDocuments:mr,markTokenRuns:Kn,parseInlineQueryFilters:pr,maybeEmitVectorIndexStaleWarning:Zn,loadLinkedCorpus:fr,mergeVectorHitsById:sr,normalizeExtensionProviderHits:nr,normalizeScoreMap:je,parseProjectionConfig:At,parseTimestampWindow:re,parseTokens:Dt,projectSearchHits:wr,readSearchFieldValue:_r,requireSemanticDependencies:Lt,resolveExtensionSearchProvider:er,resolveExtensionSearchProviderByName:Ue,resolveExtensionVectorAdapter:tr,resolveLinkedCorpusRoots:ur,scoreDocument:Yn,sortHits:Xn,stringArray:we,textEntries:K,validateSearchProjectionFields:$n};async function Sf(e,t){let n=T(process.cwd(),t.path);await B(n);let r=await $(n),o=fo(r).settings,i=P(o.schema),s=X(o.schema);$n(e.projection,s,e.query);let a=rt(e.options,s,"search"),d=F(o,C()),c=yo(o),l=vo(o,n),u=er(o),f=tr(o),h=ss(e.options.semanticWeight),g=ws(o,c.active?.name??null),_=vs(o,c.active?.model??U(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:On(o),scoreThreshold:e.minScoreOverride??Ln(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Pn(o),tuning:jn(o),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:or({configuredProvider:U(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ts(g),rerank:_,rerankExtension:Rs(o),...Ef({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Ef(e){let n=go(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||n,o=Nn({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:o.mode,modeSource:o.source}}async function Cf(e,t){let n=await mr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=nt(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=Ao(t.statusRegistry),i=zn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:qn(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function xf(e,t,n){let r=await Ds(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>Qn(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}async function If(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=ir({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:_o(t.settings),bm25Params:hs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function Tf(e,t,n,r){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return nr(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,m.GENERIC_FAILURE);return null}}function Rf(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 Af(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await Zn(e.pmRoot,n,r),e.extensionSearchProvider||Lt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Df(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,d=await If(t,n,r,o,i),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Af(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Tf(t,n,r,l)??a,a===o){let{provider:u,vectorStore:f}=Lt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await cr({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Rf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return i.push(Jn(n.effectiveMode,l)),{effectiveMode:"keyword",hits:o}}}async function gy(e,t,n){$s(t);let r=Ms(e,t),o=await Sf(r,n),i=await Cf(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await kt(i.allDocuments.map(S=>S.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:M()});s.push(...a.warnings);let d=xi(a,r.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:o.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Be(vr({...c,effectiveMode:o.effectiveMode},r.countOnly),d);let l=await xf(r,o,i.filteredDocuments),u=await Df({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Be(vr({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=Xn(f,o.statusRegistry),g=h.length,_=ds({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Be(Os(y,g),d);let{hits:w,projection:k}=Ns(r,i.filteredDocuments,_.limited),v=wr(w,k);return Be(Ls(y,v,g,_.limited.length,k,_.pageExtras),d)}export{Us as a,en as b,Ff as c,Ks as d,Vs as e,Mf as f,Lf as g,$p as h,Ko as i,Gf as j,Wf as k,qf as l,zf as m,Vo as n,Zf as o,em as p,tm as q,ii as r,pt as s,Ha as t,ht as u,yt as v,gm as w,li as x,mn as y,wt as z,wc as A,pi as B,Ec as C,vt as D,Cc as E,xc as F,Ac as G,Dc as H,Em as I,Fc as J,hi as K,pn as L,hn as M,Hc as N,Vc as O,Om as P,gn as Q,yn as R,bt as S,Zc as T,rd as U,kt as V,ld as W,Ci as X,ud as Y,xi as Z,fd as _,wd as $,Ae as aa,fp as ba,bn as ca,kd as da,Sd as ea,Sn as fa,ne as ga,Cn as ha,xn as ia,In as ja,ge as ka,Me as la,Et as ma,mp as na,Sl as oa,pp as pa,Tl as qa,Tp as ra,Rp as sa,Ap as ta,Dp as ua,Fp as va,Up as wa,Bp as xa,ts as ya,ns as za,rs as Aa,dh as Ba,lh as Ca,bh as Da,On as Ea,Nn as Fa,Ln as Ga,Pn as Ha,jn as Ia,Lu as Ja,ds as Ka,ye as La,_e as Ma,Ot as Na,Nt as Oa,xs as Pa,Is as Qa,hy as Ra,gy as Sa};
12
+ //# sourceMappingURL=chunk-PRMQTT7X.js.map