@unbrained/pm-cli 2026.10.20 → 2026.10.21

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 (158) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +25 -0
  3. package/dist/cli/error-guidance.d.ts +8 -0
  4. package/dist/cli/error-guidance.js +2 -2
  5. package/dist/cli/main.js +1 -1
  6. package/dist/cli/register-list-query.js +2 -2
  7. package/dist/cli/register-operations.js +1 -1
  8. package/dist/cli-bundle/bundle-manifest.json +1 -1
  9. package/dist/cli-bundle/chunks/{chunk-QMZ73FCW.js → chunk-2B5HAZFK.js} +2 -2
  10. package/dist/cli-bundle/chunks/chunk-4D25HF3V.js +2 -0
  11. package/dist/cli-bundle/chunks/{chunk-QETMESEB.js → chunk-4OYU5OXQ.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-YTHI5DTH.js → chunk-5PZ7JNMI.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-TZU6U5ZE.js → chunk-C6SAXKBO.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-DIKQ2AL5.js +2 -0
  15. package/dist/cli-bundle/chunks/chunk-DIR3YEFD.js +2 -0
  16. package/dist/cli-bundle/chunks/{chunk-KU4Q3MSI.js → chunk-DJQVNDXO.js} +3 -3
  17. package/dist/cli-bundle/chunks/chunk-DR6DUBTU.js +30 -0
  18. package/dist/cli-bundle/chunks/{chunk-YT2Z3JPC.js → chunk-EMGMLKRV.js} +47 -47
  19. package/dist/cli-bundle/chunks/{chunk-YECCKB4E.js → chunk-GWIGZDRS.js} +2 -2
  20. package/dist/cli-bundle/chunks/chunk-IB7UB5TE.js +2 -0
  21. package/dist/cli-bundle/chunks/{chunk-PNPE2OVJ.js → chunk-KBSVPUFD.js} +46 -45
  22. package/dist/cli-bundle/chunks/{chunk-7ZOIZ2AZ.js → chunk-MOC5BJHW.js} +2 -2
  23. package/dist/cli-bundle/chunks/chunk-MZZIAC6S.js +20 -0
  24. package/dist/cli-bundle/chunks/{chunk-LS55VKRK.js → chunk-NNB65OOO.js} +2 -2
  25. package/dist/cli-bundle/chunks/{chunk-YW6SIKYP.js → chunk-QPV6UD55.js} +2 -2
  26. package/dist/cli-bundle/chunks/{chunk-GHJOMRSF.js → chunk-TMXWWOPJ.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-VLJLWZBO.js → chunk-V3XONSVC.js} +2 -2
  28. package/dist/cli-bundle/chunks/chunk-V5GJTXYW.js +126 -0
  29. package/dist/cli-bundle/chunks/{chunk-ZA3XXHEE.js → chunk-ZNKFMIVA.js} +2 -2
  30. package/dist/cli-bundle/chunks/{indexed-receipt-blobs-U7VGKIYC.js → indexed-receipt-blobs-65XXSPPR.js} +2 -2
  31. package/dist/cli-bundle/chunks/mutation-admission-FNWOVJLN.js +2 -0
  32. package/dist/cli-bundle/chunks/{register-list-query-NNDV6F6I.js → register-list-query-6PT5Y2EZ.js} +5 -5
  33. package/dist/cli-bundle/chunks/{register-mutation-3GCBSNQS.js → register-mutation-TAIQV46L.js} +4 -4
  34. package/dist/cli-bundle/chunks/register-operations-ONIRO22G.js +2 -0
  35. package/dist/cli-bundle/chunks/register-setup-OQMUZBJV.js +2 -0
  36. package/dist/cli-bundle/chunks/{settlement-hook-CLRGA6O7.js → settlement-hook-UVFYSBMU.js} +2 -2
  37. package/dist/cli-bundle/chunks/stage-FCPVFO3B.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-32ZKLRWM.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/{chunk-HUZAXSIJ.js → chunk-3LWH2RJC.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-ZGEK57KD.js → chunk-44353U27.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/chunk-4HJVAUFX.js +2 -0
  42. package/dist/cli-bundle/focused-chunks/{chunk-VLSER3XW.js → chunk-5IMM7GOF.js} +2 -2
  43. package/dist/cli-bundle/focused-chunks/{chunk-J6EYUGAR.js → chunk-6QSZHRM7.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-F7FD25TG.js → chunk-7UD7XTOE.js} +10 -10
  45. package/dist/cli-bundle/focused-chunks/{chunk-KKRFSI2N.js → chunk-CUWNNU4N.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/chunk-E2S42XCT.js +2 -0
  47. package/dist/cli-bundle/focused-chunks/chunk-GHQVM6K6.js +2 -0
  48. package/dist/cli-bundle/focused-chunks/chunk-GRSQGMRR.js +2 -0
  49. package/dist/cli-bundle/focused-chunks/{chunk-NI6NS44Q.js → chunk-HNCMYF2W.js} +2 -2
  50. package/dist/cli-bundle/focused-chunks/{chunk-37SU7BZI.js → chunk-IAGFXKMZ.js} +2 -2
  51. package/dist/cli-bundle/focused-chunks/chunk-JI3RXXRN.js +78 -0
  52. package/dist/cli-bundle/focused-chunks/chunk-JMZPZQHR.js +26 -0
  53. package/dist/cli-bundle/focused-chunks/{chunk-E4II2D2B.js → chunk-KVYUQS6Y.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/chunk-O3M6YWVL.js +2 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-P5D7MHDS.js +20 -0
  56. package/dist/cli-bundle/focused-chunks/chunk-PDOWLRHC.js +8 -0
  57. package/dist/cli-bundle/focused-chunks/chunk-SVOOGGAK.js +2 -0
  58. package/dist/cli-bundle/focused-chunks/chunk-T27TLSEU.js +65 -0
  59. package/dist/cli-bundle/focused-chunks/{chunk-LJPUJ2KK.js → chunk-VD64TPXI.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/{chunk-GYHZ7W6O.js → chunk-VE6MTRH5.js} +2 -2
  61. package/dist/cli-bundle/focused-chunks/chunk-XE7P7N5X.js +8 -0
  62. package/dist/cli-bundle/focused-chunks/chunk-YIWDX6KO.js +91 -0
  63. package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-H2G6CCGO.js → indexed-receipt-blobs-CRP6HAZY.js} +2 -2
  64. package/dist/cli-bundle/focused-chunks/mutation-admission-KM57KDDF.js +2 -0
  65. package/dist/cli-bundle/focused-chunks/{settlement-hook-5SNBBT7C.js → settlement-hook-MNCHFCAX.js} +2 -2
  66. package/dist/cli-bundle/focused-chunks/stage-UJYGWNZ7.js +2 -0
  67. package/dist/cli-bundle/main.js +21 -21
  68. package/dist/cli-bundle/sdk-authoring.js +1 -1
  69. package/dist/cli-bundle/sdk-contracts.js +1 -1
  70. package/dist/cli-bundle/sdk-core.js +23 -23
  71. package/dist/cli-bundle/sdk-governance.js +1 -1
  72. package/dist/cli-bundle/sdk-graph.js +1 -1
  73. package/dist/cli-bundle/sdk-merge.js +58 -57
  74. package/dist/cli-bundle/sdk-query.js +1 -1
  75. package/dist/cli-bundle/sdk-runtime.js +1 -1
  76. package/dist/cli-bundle/sdk-testing.js +1 -1
  77. package/dist/cli-bundle/sdk.js +2 -2
  78. package/dist/core/item/actionability.js +1 -1
  79. package/dist/core/lock/lock-gc.d.ts +12 -5
  80. package/dist/core/lock/lock-gc.js +1 -1
  81. package/dist/core/lock/lock-owner.d.ts +33 -0
  82. package/dist/core/lock/lock-owner.js +2 -0
  83. package/dist/core/lock/lock.d.ts +11 -22
  84. package/dist/core/lock/lock.js +4 -3
  85. package/dist/core/output/output.js +3 -3
  86. package/dist/core/shared/errors.d.ts +2 -0
  87. package/dist/core/shared/errors.js +1 -1
  88. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  89. package/dist/sdk/dependencies.js +1 -1
  90. package/dist/sdk/extension-command-context.js +2 -2
  91. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  92. package/dist/sdk/governance/assurance-action.js +1 -1
  93. package/dist/sdk/governance/assurance.js +1 -1
  94. package/dist/sdk/governance/health.js +2 -2
  95. package/dist/sdk/output/list-envelope.js +1 -1
  96. package/dist/sdk/pagination.d.ts +3 -3
  97. package/dist/sdk/pagination.js +1 -1
  98. package/dist/sdk/public-surface.json +1 -1
  99. package/dist/sdk/query/context.js +2 -2
  100. package/dist/sdk/query/list.d.ts +2 -0
  101. package/dist/sdk/query/list.js +1 -1
  102. package/dist/sdk/query/projection-contracts.d.ts +1 -1
  103. package/dist/sdk/query/projection-contracts.js +1 -1
  104. package/dist/sdk/relationship-context.js +1 -1
  105. package/dist/sdk/runtime/mutation-admission.d.ts +2 -0
  106. package/dist/sdk/runtime/mutation-admission.js +2 -0
  107. package/dist/sdk/runtime-input.d.ts +2 -0
  108. package/dist/sdk/runtime-input.js +1 -1
  109. package/dist/sdk/runtime.js +1 -1
  110. package/dist/sdk/test/execution.d.ts +1 -0
  111. package/dist/sdk/test/execution.js +2 -2
  112. package/docs/AGENT_RUNTIME_PRIMITIVES.md +9 -0
  113. package/docs/ASSURANCE.md +17 -2
  114. package/docs/COMMANDS.md +17 -3
  115. package/docs/CONFIGURATION.md +29 -0
  116. package/docs/CONTEXT_RELEVANCE.md +15 -0
  117. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +26 -3
  118. package/docs/SDK.md +67 -0
  119. package/docs/TESTING.md +18 -0
  120. package/docs/agent-task-token-baseline.json +1 -1
  121. package/marketplace.json +1 -1
  122. package/package.json +1 -1
  123. package/packages/pm-beads/package.json +1 -1
  124. package/packages/pm-calendar/package.json +1 -1
  125. package/packages/pm-command-kit/package.json +1 -1
  126. package/packages/pm-digital-twin/package.json +1 -1
  127. package/packages/pm-governance-audit/package.json +1 -1
  128. package/packages/pm-guide-shell/package.json +1 -1
  129. package/packages/pm-kanban/package.json +1 -1
  130. package/packages/pm-lifecycle-hooks/package.json +1 -1
  131. package/packages/pm-linked-test-adapters/package.json +1 -1
  132. package/packages/pm-search-advanced/package.json +1 -1
  133. package/packages/pm-templates/package.json +1 -1
  134. package/packages/pm-todos/package.json +1 -1
  135. package/packages/pm-vcs/package.json +1 -1
  136. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  137. package/plugins/pm-claude/package.json +1 -1
  138. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  139. package/plugins/pm-codex/package.json +1 -1
  140. package/plugins/pm-codex/plugin.json +1 -1
  141. package/runtime-dependencies.json +1 -1
  142. package/dist/cli-bundle/chunks/chunk-2GGGOD7P.js +0 -30
  143. package/dist/cli-bundle/chunks/chunk-7NHA5K77.js +0 -126
  144. package/dist/cli-bundle/chunks/chunk-PTL3TBT6.js +0 -20
  145. package/dist/cli-bundle/chunks/chunk-QQYCB2LO.js +0 -2
  146. package/dist/cli-bundle/chunks/register-operations-YKDGNKUL.js +0 -2
  147. package/dist/cli-bundle/chunks/register-setup-AOUZQQWB.js +0 -2
  148. package/dist/cli-bundle/chunks/stage-6QXYRMSU.js +0 -2
  149. package/dist/cli-bundle/focused-chunks/chunk-6IU7BESB.js +0 -65
  150. package/dist/cli-bundle/focused-chunks/chunk-AS3MOBO3.js +0 -25
  151. package/dist/cli-bundle/focused-chunks/chunk-AW35RDKA.js +0 -78
  152. package/dist/cli-bundle/focused-chunks/chunk-H5Q2HUU6.js +0 -8
  153. package/dist/cli-bundle/focused-chunks/chunk-JEXZEIAX.js +0 -91
  154. package/dist/cli-bundle/focused-chunks/chunk-KDGUIIRU.js +0 -20
  155. package/dist/cli-bundle/focused-chunks/chunk-MQ42BFGX.js +0 -2
  156. package/dist/cli-bundle/focused-chunks/chunk-VAYS754X.js +0 -2
  157. package/dist/cli-bundle/focused-chunks/chunk-VS6VTWTZ.js +0 -8
  158. package/dist/cli-bundle/focused-chunks/stage-EMTISXR7.js +0 -2
@@ -1,12 +1,12 @@
1
- import{$ as ft,$a as Gi,E as Xt,F as yi,Ga as Di,O as st,Oa as q,Pa as $i,Q as me,Qa as Oi,R as at,S as ct,Sa as Te,T as vi,Ta as Li,Ua as Ni,V as Ci,Va as Pi,W as Ii,Wa as ji,X as lt,Xa as Ui,Y as xi,Z as ut,_ as mt,_a as Bi,aa as Ti,bb as zi,cb as Vi,ea as Ri,fa as Jt,fb as Ki,g as hi,gb as Zt,h as gi,hb as en,ib as W,mb as Xi,nb as Qi,oa as Ai,sb as Zi,ub as eo}from"./chunk-KDGUIIRU.js";import{Na as jr,Va as Ur}from"./chunk-ZGEK57KD.js";import{B as ki,C as ne,D as re,F as Si,G as fe,J as Ei,N as Ce,P as Ie,S as xe,T as Fi,U as Mi,V as pt,Z as Hi,_ as qi,b as _i,ba as Wi,c as wi,f as bi,h as Qt,na as Yi,va as Ji,z as dt}from"./chunk-JEXZEIAX.js";import{D as ee,Ea as mi,La as ot,Ma as fi,Na as pi,U as L,V as R,W as J,_ as li,_a as M,ca as te,db as G,f as ii,g as oi,h as si,i as ai,ia as ui,j as ci,n as Ee,w as di}from"./chunk-AW35RDKA.js";import{b as Ar}from"./chunk-LJPUJ2KK.js";import{j as P,l as Q}from"./chunk-E4II2D2B.js";import{b as ni,c as ri}from"./chunk-AK2CI2GI.js";import{$ as ke,Aa as Vt,Ad as E,Bd as Jr,Ca as Xe,Cd as H,Dc as ue,E as Wt,F as Ve,Fa as Nr,Jd as et,Ld as tt,Nd as nt,Qb as Pr,Qd as Zr,Rd as rt,Sc as Hr,Tc as qr,Vc as Wr,Y as zt,a as xr,aa as Ye,fa as $r,fe as it,ga as Or,gd as zr,ge as Kt,he as ei,ic as C,ie as ti,md as Je,nd as Ze,ne as Yt,oc as Se,od as Vr,qa as D,rd as Kr,sc as Br,sd as Yr,tc as le,td as Xr,wa as T,wc as Gr,wd as F,ya as Lr,yc as Qe,z as de,zd as Qr}from"./chunk-AS3MOBO3.js";import{B as Dr,C as Ke,D as Fr,H as Mr,s as Tr,w as Rr,y as p,z as h}from"./chunk-HUZAXSIJ.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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var Js=["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"],tn=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 Ym(e={}){return Wr({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e,t,n,r){t&&e.push({code:n,message:r})}function Zs(e,t){let n=z(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,i=n.unreadable_directory_count;I(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),I(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=z(e.filters)?e.filters:{},s=z(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return I(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),I(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),I(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ea(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=z(e.projection)?e.projection:{};I(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=z(e.omission_receipt)?e.omission_receipt:void 0;I(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),I(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),I(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function ta(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 na(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 ra(e,t){let n=z(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&&ta(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),I(t,n!==void 0&&!na(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=z(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 ia(e,t){let n=e.map(r=>z(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 oa(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Js[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Zs(t,n);return ea(t,r,n),ra(t,n),ia(t.items,n),{ok:n.length===0,findings:n}}function sa(e){let t=oa(e);if(!t.ok)throw new tn(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 Xm(e){sa(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 ef(e,t={}){let n=await Zi({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var to=16;async function no(e,t,n){let r=D(t,C()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<to;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await ne(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await re(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function af(e){await si({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await no(e.pmRoot,e.settings,e.itemId)})}async function cf(e){await ai(e)}async function df(e){await ci({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await no(e.pmRoot,e.settings,e.itemId)}:{}})}var lf={lineage_depth:to,active_items:64,evidence_rows:32};function ro(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 aa}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]="809a4d75-4915-585d-9fc8-ad3e9ef15b1f")}catch{}})();var nn=["agenda","day","week","month"],rn=["markdown","toon","json"],ca=["sun","mon","tue","wed","thu","fri","sat"],da=365,la=365,so=28,ua=1e3;function on(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new h(`${t} must be a non-negative integer`,p.USAGE);return n}function ma(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new h("Calendar include filter must not be empty",p.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new h("Calendar include filter must be deadlines|reminders|events|scheduled|all",p.USAGE)}return r}function ao(e,t){let n;for(let r of t){let i=xr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function fa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!nn.includes(t)){let n=ao(t,nn);throw new h(`Calendar view must be one of ${nn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function pa(e){if(!e)return;let t=e.trim().toLowerCase();if(!rn.includes(t)){let n=ao(t,rn);throw new h(`Calendar format must be one of ${rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function yf(e,t){let n=pa(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"markdown"}function ha(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new h(`Calendar status filter must be one of ${r.join("|")}`,p.USAGE)}return n}function ga(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new h("Calendar assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new h(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function ht(e){return new Date(e).toISOString().slice(0,10)}function co(e,t){if(!t||t==="UTC")return ht(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return ht(e)}function dn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function V(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function lo(e){let t=new Date(dn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return V(t.toISOString(),r)}function ya(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function _a(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function wa(e,t){return E(e,t)>=0?e:t}function io(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function oo(e,t){e.set(t,(e.get(t)??0)+1)}function ba(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>de(r)-de(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function uo(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function mo(e){return ca[new Date(e).getUTCDay()]}function va(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function ka(e){let t=new Set;for(let n of e??[]){let r=va(n);r&&t.add(r)}return t}function Sa(e,t,n,r,i){let o=e??V(n,-(r??la)),s=t??V(e??n,i??da);return{start:o,end:E(s,o)>0?s:V(o,1)}}function Ea(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[mo(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??ua,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:ka(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function gt(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 yt(e,t){let n=mo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Ca(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(yt(e,t)&&gt(e,t)==="stop");n+=1)t=V(t,e.interval);return e.occurrences}function Ia(e,t,n){let r=de(n),i=V(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function xa(e){let t=lo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=V(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Ia(e,r,i);if(yt(e,o)&&gt(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ta(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=uo(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ra(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=uo(i,n,o,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Aa(e,t,n,r){let i=Ea(e,t,n,r);return t.freq==="daily"?Ca(i):t.freq==="weekly"?xa(i):t.freq==="monthly"?Ta(i):Ra(i)}function fo(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function ln(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 Da(e){return e.deadline?{at:e.deadline,date:ht(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,...ln(e),item_deadline:e.deadline}:null}function Fa(e){return(e.reminders??[]).map(t=>({at:t.at,date:ht(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,...ln(e)}))}function Ma(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function $a(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Oa(e,t,n,r){let i=ba(t.recurrence),o=Ma(t.start_at,t.end_at);return(t.recurrence?Aa(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):co(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:$a(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...ln(e)}))}function La(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Da(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Fa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Oa(o,a,t,r))}return fo(i)}function Na(e,t,n,r,i){let o=Oi(t.type,n),s=t.tag?.trim().toLowerCase(),a=$i(t.priority),d=ha(t.status,r),c=t.assignee?.trim(),l=ga(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(c!==void 0&&l==="unassigned")throw new h("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE);return e.filter(f=>Pa(f,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:i}))}function Pa(e,t){return ja(e,t)&&Ua(e,t)&&ct(e,t.runtimeFieldFilters)}function ja(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 Ua(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 Ba(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function sn(e,t,n){return e.trim().toLowerCase()==="today"?dn(t):H(e,new Date(t),n)}function Ga(e,t,n){let r=t.date?sn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?sn(t.from,n,"--from"):void 0,a=t.to?sn(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new h("Calendar --from must be before --to",p.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new h("--from and --to are only supported for --view agenda",p.USAGE);if(e==="agenda")return Ha(r,t,n,i,o,s,a);if(e==="day"){let c=dn(r);return an(r,n,i,o,c,V(c,1))}if(e==="week"){let c=lo(r);return an(r,n,i,o,c,V(c,7))}let d=ya(r);return an(r,n,i,o,d,_a(r))}function Ha(e,t,n,r,i,o,s){if(i)throw new h("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",p.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function an(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:wa(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function qa(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:fo(r)}))}function Wa(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),oo(n,d.item_type),oo(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:io(n),by_status:io(r),recurring_events:a}}function za(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function po(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function cn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Va(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===co(e.event_end,e.event_timezone)?po(e.event_end,e.event_timezone):e.event_end:null}function Ka(e){let t=`${po(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=Va(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 _f(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${za(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: ${cn(e.summary.by_kind)}`),t.push(`- by-type: ${cn(e.summary.by_type)}`),t.push(`- by-status: ${cn(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(`
1
+ import{A as Qi,B as Ji,G as eo,I as to,a as q,b as Oi,c as Li,e as Te,f as Ni,g as Pi,h as ji,i as Ui,j as Bi,m as Gi,n as Hi,p as Vi,q as Ki,t as Yi,u as en,v as tn,w as W}from"./chunk-32ZKLRWM.js";import{$ as mt,E as Qt,F as gi,Ha as Fi,P as st,R as me,S as at,T as ct,U as ki,W as Ii,X as xi,Y as lt,Z as Ti,_ as ut,aa as ft,ba as Ri,fa as Ai,g as oi,ga as Zt,h as si,pa as Di}from"./chunk-P5D7MHDS.js";import{Na as Ur,Va as Br}from"./chunk-44353U27.js";import{C as Xi,K as Zi,a as Ce,c as Ie,f as xe,g as Mi,h as $i,i as pt,m as qi,n as Wi,q as zi}from"./chunk-E2S42XCT.js";import{B as Si,C as ne,D as re,F as Ei,G as fe,J as Ci,b as yi,c as _i,f as vi,h as Jt,z as dt}from"./chunk-YIWDX6KO.js";import{Da as hi,E as ci,F as di,G as li,H as ui,I as mi,Ka as ot,La as wi,M as Ee,Ma as bi,V as fi,_a as $,aa as ee,ca as te,db as G,ia as pi,r as L,s as I,t as J,x as ai}from"./chunk-JI3RXXRN.js";import{b as Dr}from"./chunk-VD64TPXI.js";import{j as P,l as Q}from"./chunk-KVYUQS6Y.js";import{b as ri,c as ii}from"./chunk-AK2CI2GI.js";import{$ as ke,Aa as Kt,Ad as E,Bd as Zr,Ca as Xe,Cd as H,Dc as ue,E as zt,F as Ve,Fa as Pr,Md as et,Od as tt,Qb as jr,Qd as nt,Sc as qr,Tc as Wr,Td as ei,Ud as rt,Vc as zr,Y as Vt,a as Tr,aa as Ye,fa as Or,ga as Lr,gd as Vr,ic as C,ie as it,je as Yt,ke as ti,le as ni,md as Je,nd as Ze,oc as Se,od as Kr,qa as F,qe as Xt,rd as Yr,sc as Gr,sd as Xr,tc as le,td as Qr,wa as R,wc as Hr,wd as M,ya as Nr,yc as Qe,z as de,zd as Jr}from"./chunk-JMZPZQHR.js";import{B as Fr,C as Ke,D as Mr,H as $r,s as Rr,w as Ar,y as p,z as h}from"./chunk-3LWH2RJC.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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var Js=["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 Ym(e={}){return zr({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function Zs(e,t){let n=z(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,i=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=z(e.filters)?e.filters:{},s=z(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ea(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=z(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=z(e.omission_receipt)?e.omission_receipt:void 0;x(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function ta(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 na(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 ra(e,t){let n=z(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&&ta(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!na(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=z(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 ia(e,t){let n=e.map(r=>z(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 oa(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Js[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Zs(t,n);return ea(t,r,n),ra(t,n),ia(t.items,n),{ok:n.length===0,findings:n}}function sa(e){let t=oa(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 Xm(e){sa(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 ef(e,t={}){let n=await eo({pmRoot:R(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(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]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var no=16;async function ro(e,t,n){let r=F(t,C()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<no;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await ne(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await re(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function af(e){await li({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await ro(e.pmRoot,e.settings,e.itemId)})}async function cf(e){await ui(e)}async function df(e){await mi({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await ro(e.pmRoot,e.settings,e.itemId)}:{}})}var lf={lineage_depth:no,active_items:64,evidence_rows:32};function io(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 aa}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]="809a4d75-4915-585d-9fc8-ad3e9ef15b1f")}catch{}})();var rn=["agenda","day","week","month"],on=["markdown","toon","json"],ca=["sun","mon","tue","wed","thu","fri","sat"],da=365,la=365,ao=28,ua=1e3;function sn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new h(`${t} must be a non-negative integer`,p.USAGE);return n}function ma(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new h("Calendar include filter must not be empty",p.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new h("Calendar include filter must be deadlines|reminders|events|scheduled|all",p.USAGE)}return r}function co(e,t){let n;for(let r of t){let i=Tr(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function fa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!rn.includes(t)){let n=co(t,rn);throw new h(`Calendar view must be one of ${rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function pa(e){if(!e)return;let t=e.trim().toLowerCase();if(!on.includes(t)){let n=co(t,on);throw new h(`Calendar format must be one of ${on.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function yf(e,t){let n=pa(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"markdown"}function ha(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new h(`Calendar status filter must be one of ${r.join("|")}`,p.USAGE)}return n}function ga(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new h("Calendar assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new h(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function ht(e){return new Date(e).toISOString().slice(0,10)}function lo(e,t){if(!t||t==="UTC")return ht(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return ht(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 V(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function uo(e){let t=new Date(ln(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return V(t.toISOString(),r)}function ya(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function _a(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function wa(e,t){return E(e,t)>=0?e:t}function oo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function so(e,t){e.set(t,(e.get(t)??0)+1)}function ba(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>de(r)-de(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function mo(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function fo(e){return ca[new Date(e).getUTCDay()]}function va(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function ka(e){let t=new Set;for(let n of e??[]){let r=va(n);r&&t.add(r)}return t}function Sa(e,t,n,r,i){let o=e??V(n,-(r??la)),s=t??V(e??n,i??da);return{start:o,end:E(s,o)>0?s:V(o,1)}}function Ea(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[fo(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??ua,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:ka(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function gt(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 yt(e,t){let n=fo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Ca(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(yt(e,t)&&gt(e,t)==="stop");n+=1)t=V(t,e.interval);return e.occurrences}function Ia(e,t,n){let r=de(n),i=V(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function xa(e){let t=uo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=V(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Ia(e,r,i);if(yt(e,o)&&gt(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ta(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=mo(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ra(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=mo(i,n,o,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Aa(e,t,n,r){let i=Ea(e,t,n,r);return t.freq==="daily"?Ca(i):t.freq==="weekly"?xa(i):t.freq==="monthly"?Ta(i):Ra(i)}function po(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function 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 Da(e){return e.deadline?{at:e.deadline,date:ht(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 Fa(e){return(e.reminders??[]).map(t=>({at:t.at,date:ht(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 Ma(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function $a(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Oa(e,t,n,r){let i=ba(t.recurrence),o=Ma(t.start_at,t.end_at);return(t.recurrence?Aa(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):lo(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:$a(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...un(e)}))}function La(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Da(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Fa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Oa(o,a,t,r))}return po(i)}function Na(e,t,n,r,i){let o=Li(t.type,n),s=t.tag?.trim().toLowerCase(),a=Oi(t.priority),d=ha(t.status,r),c=t.assignee?.trim(),l=ga(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(c!==void 0&&l==="unassigned")throw new h("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE);return e.filter(f=>Pa(f,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:i}))}function Pa(e,t){return ja(e,t)&&Ua(e,t)&&ct(e,t.runtimeFieldFilters)}function ja(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 Ua(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 Ba(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 Ga(e,t,n){let r=t.date?an(t.date,n,"--date"):n,i=t.past===!0,o=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 h("Calendar --from must be before --to",p.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new h("--from and --to are only supported for --view agenda",p.USAGE);if(e==="agenda")return Ha(r,t,n,i,o,s,a);if(e==="day"){let c=ln(r);return cn(r,n,i,o,c,V(c,1))}if(e==="week"){let c=uo(r);return cn(r,n,i,o,c,V(c,7))}let d=ya(r);return cn(r,n,i,o,d,_a(r))}function Ha(e,t,n,r,i,o,s){if(i)throw new h("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",p.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function cn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:wa(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function qa(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:po(r)}))}function Wa(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),so(n,d.item_type),so(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:oo(n),by_status:oo(r),recurring_events:a}}function za(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function ho(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function dn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Va(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===lo(e.event_end,e.event_timezone)?ho(e.event_end,e.event_timezone):e.event_end:null}function Ka(e){let t=`${ho(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=Va(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 _f(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${za(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
2
  `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${Ka(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 Ya(t.join(`
3
3
  `))}function wf(e){return aa(e)}function Ya(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function Xa(e){let t=F(),n=fa(e.view),r=Ga(n,e,t),i=q(e.limit),o=ma(e.include),s=on(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=on(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=on(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new h("Calendar occurrence limit must be >= 1",p.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?so:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Qa(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${so}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Ja(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 Za(e,t){return{start:t.start??null,end:t.end??null,period_start:t.periodStart??null,period_end:t.periodEnd??null,full_period:t.fullPeriod,past:e.past===!0,from:e.from??null,to:e.to??null}}async function ho(e,t){let n=T(process.cwd(),t.path);await G(n);let r=Xa(e),i=await M(n),o=P(i.schema),s=Q(i.schema),a=at(e,s,"calendar"),d=D(i,C()),c=[];Qa(c,r.eventsOnlyCapApplied);let l=await fe(n,i.item_format,d.type_to_folder,c,i.schema),u=Na(l,e,d,o,a),m=Sa(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),f=La(u,m,r.includeSources,r.occurrenceLimit).filter(w=>Ba(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?f:f.slice(0,r.limit),_=qa(g),y=[...new Set(c)].sort((w,S)=>w.localeCompare(S));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Za(e,r.rangeBounds),filters:Ja(e,a),summary:Wa(g),events:g,days:_,...y.length>0?{warnings:y}:{}}}import tc from"node:fs/promises";import wo 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]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var un={version:1,aliases:{}};function _t(e=[]){let t=new Set(Ee),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function go(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}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 ec(e,t=Ee){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new h(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new h(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,p.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new h(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function wt(e,t=un,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 bt(e,t=un,n=Ee){let r=go(e.harness),i=go(e.agentInstance),o=ec(e,n);return s=>{let a=mn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,c]of o){let l=s.agent_provenance?.[d];if(!l||!c.has(l.value))return!1}return!0}}function vt(e,t=un,n=Ee){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);mn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a4394793-55d4-5049-ab20-707c1c3d9f2c")}catch{}})();var nc=20,rc=5,ic=15,oc="-24h";function $f(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 sc={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 h(`${t} must not be empty`,p.USAGE);return n}function yo(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new h("Activity time bounds must not be empty",p.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(i,new Date(t),n)}function ac(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function _o(e,t){return t===void 0?e:e.slice(0,t)}function Re(e,t=""){return typeof e=="string"?e:t}function cc(e,t){return{...t,id:e,ts:Re(t.ts),author:Re(t.author,"unknown"),op:Re(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Re(t.before_hash),after_hash:Re(t.after_hash)}}function dc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function lc(e){try{return(await tc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Fr(t))return[];throw t}}function uc(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 mc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?ic:n==="compact"?nc:rc}function fc(e,t){let n=F(),r=t==="digest",i=yo(e.to??(r?n:void 0),n,"--to"),o=yo(e.from??(r?oc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&E(o,i)>=0)throw new h("Activity --from must be before --to",p.USAGE);let s=me(e.limit);if(e.unbounded===!0&&s!==void 0)throw new h("Activity --unbounded cannot be combined with --limit",p.USAGE);return{id:fn(e.id,"Activity --id"),op:fn(e.op,"Activity --op"),author:fn(e.author,"Activity --author"),from:o,to:i,limit:mc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function pc(e){let t=T(process.cwd(),e.path);return await G(t),{pmRoot:t,settings:await M(t)}}async function hc(e){let t=D(e.settings,C()),n=await fe(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await wi({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=wo.join(e.pmRoot,"history");return await Se({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function gc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:ac(t,n.from,n.to)}async function yc(e,t){let n=[];for(let r of await lc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(wo.join(e,r),i);for(let s of o){let a=cc(i,s);gc(s,a,t)&&n.push(a)}}return n}function _c(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function wc(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function bc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,E(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),E(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:wc(i.operations)}}).sort((r,i)=>E(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function vc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function kc(e,t,n,r,i){if(e==="digest"){let s=bc(t,r),a=_o(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=_o(t,n);return e==="compact"?{rows:{compact_activity:_c(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function bo(e,t){let n=await pc(t),r=uc(e),i=fc(e,r),o=await hc(n),s=_t(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=bt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=dc(await yc(o.historyDir,i)).filter(d),l=kc(r,c,i.limit,o.itemsById,m=>wt(m,a,{itemId:m.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:sc[r]},omission_receipt:Qe("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(m=>m.author)).size,operation_counts:vc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:vt(c,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var vo="1970-01-01T00:00:00.000Z";function Ae(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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var pn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Sc=Symbol("no-context-author"),Ec=Symbol("no-item-assignee");function ko(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Cc(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]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function Ic(e){let t=Cc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ae(e.created_at)??vo}}function xc(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=Ae(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 Tc(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 Rc(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 Ac(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 kt(e,t,n){return e?.[t]??n}function St(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Ic(c):xc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,m=n.get(l.id).coordinate;return E(m,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=ko(t.author,Sc),a=L("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=ko(c.assignee,Ec)===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-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:kt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:kt(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Tc(c.priority,4),risk_pressure:Ac(c.risk),deadline_pressure:Rc(c.deadline,d),knowledge_density:kt(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:kt(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Dc="context_relevance",Fc={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},Mc=new TextEncoder;function $c(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!pn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Oc(e){let t={...Fc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&pn.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 Eo(e,t={}){$c(e);let n=Oc(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=pn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,m=0;for(let f of o){let g=c[f];if(g===void 0)continue;let _=g*n[f];l[f]=_,u+=_,m+=n[f]}return{...a,baseline_rank:d+1,rank:0,score:m===0?0:u/m,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Lc(e,t={}){let n=Eo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function Et(e,t,n={}){let r=Eo(t,n),i=await Br(Dc,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await Lc(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Nc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function So(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Pc(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,m)=>l+(2**u-1)/Math.log2(m+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:So(e.required_ids??[],a),continuity_coverage:So(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function jc(e){return Math.ceil(Mc.encode(JSON.stringify(e)).byteLength/4)}function Uc(e){return Math.round(e*1e4)/1e4}function Bc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function Gc(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"});if(zr(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new h(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,p.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=Bc(n,e.surface),o={...n,ranking:void 0},s=jc(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Pc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function Hc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Nc;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,Uc(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function Wf(e,t,n){let r=[];for(let i of e)r.push(await Gc(i,t));return Hc(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var qc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Wc=["identity","summary","full"];function zc(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=Wc.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 Vc(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=qc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function Kc(e){let t=new Set;for(let n of e){if(zc(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 Yc(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function Xc(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Yc(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function Qc(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Co(e,t){let n=Vc(t),r=Kc(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Xc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=Qc(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 De from"node:fs/promises";import Fe from"node:path";import{createHash as Io,randomUUID as Jc}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]="01eff51c-7656-5c3f-b0c0-28594fca8a1e")}catch{}})();var hn=3,gn=2,xo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Zc=new Set(["substantive_history","release_cohort","created_at"]),ed={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 pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function To(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function td(e){let t={};for(let n of xo){let r=e[n];if(r!==void 0){if(!To(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function nd(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function rd(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function Ro(e,t){return{...t,activityDensity:t.activityDensity??nd(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??rd(e)}}function wn(e){let t=Io("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function id(e){if(!pe(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",pe(e.signals),pe(t)].every(Boolean))return null;let n=t.recency;if(!pe(n))return null;let r=Ae(n.coordinate);if(r===null)return null;let i=new Set(xo),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&To(a))||![typeof n.source=="string"&&Zc.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(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function od(e,t){let n=Array.from(e,id);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==wn(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function sd(e){if(!pe(e)||e.format_version!==hn||e.signal_set_version!==gn||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=od(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:hn,signal_set_version:gn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Ao(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 Do(e,t,n=wn(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:td(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:hn,signal_set_version:gn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function np(e,t){return Ao(t),Do(St(e,Ro(e,t)),t)}var yn=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=Fe.resolve(t)}async read(){try{return JSON.parse(await De.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&Ke(t))return null;throw t}}async write(t){let n=Fe.dirname(this.filePath);await De.mkdir(n,{recursive:!0});let r=Fe.join(n,`.${Fe.basename(this.filePath)}.${Jc()}.tmp`);try{await De.writeFile(r,`${JSON.stringify(t)}
5
- `,{encoding:"utf8",flag:"wx"}),await De.rename(r,this.filePath)}finally{try{await De.rm(r,{force:!0})}catch{}}}},_n=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Ao(n);let r=[],i=null;try{let m=await this.adapter.read();i=sd(m),m!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(m=>m.id).sort((m,f)=>m.localeCompare(f)),s=i?.items.map(m=>m.id)??[],a=St(t,Ro(t,n)),d=wn(a),c=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===d&&i.source===n.source&&s.length===o.length&&s.every((m,f)=>m===o[f]),l;if(c&&i!==null)l=i;else{i!==null&&r.push("context_signal_store_stale"),l=Do(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(m=>[m.id,m]));return{snapshot:l,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>ed[m])}}};function ad(e){let t=Io("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function Ct(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await dt(t.pmRoot),o=t.sourceCursor??i?.source_cursor??ad(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new _n(new yn(Fe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await ui(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:o,source:s})}import cd from"node:path";import{createHash as dd}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]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Fo(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 ld 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]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Mo=1,ud=1e4,$o=12;function md(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function fd(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function pd(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function hd(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(R(o.status,t.statusRegistry))).map(o=>{let s=Fo(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,d=md(a.timestamp),c=`epoch:${d}`,l=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(o),i.set(c,l);let u=fd(s,r);if(u){let m=`epic:${u.id}`,f=i.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};f.items.push(o),i.set(m,f)}}return{format_version:Mo,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(pd).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function gd(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 yd(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(gd)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function _d(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Mo||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(yd)?t:null}function wd(e){return`scan:${dd("sha256").update(Nr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function bd(e,t,n){return n!==void 0?n:(await dt(t))?.source_cursor??wd(e)}async function vd(e){try{let t=_d(JSON.parse(await ld.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Ke(t))}}}async function It(e,t){let n=Math.max(1,Math.floor(t.minimumItems??ud));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await bd(e,t.pmRoot,t.sourceCursor),i=cd.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await vd(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let d=hd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Mr(i,`${JSON.stringify(d)}
6
- `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function kd(e,t,n=$o){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function Oo(e,t,n=$o){if(e.snapshot===null)return;let r=kd(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 Sd(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function Lo(e,t,n=5){let r=Sd(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]="599ebac9-d3e8-561d-a971-8164179f1adf")}catch{}})();var Ed=["markdown","toon","json","ndjson"],xt=new Set(["Epic","Feature"]),Bo=10,Go=1e4,Ho=["hierarchy","activity","progress","recently_created","unparented","workload"],Cd=[...Ho,"blockers","files","staleness","tests"],Id=/^(\d{4})-(\d{2})-(\d{2})/,xd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Td=/^(\d{4})(\d{2})(\d{2})$/,Rd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Ad(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ed.includes(t))throw new h("Context format must be one of markdown|toon|json|ndjson",p.USAGE);return t}var No=new Set(["id","title","type","status","priority","order","deadline","assignee","tags","tags_inherited","updated_at","parent","children_total","children_closed","completion_pct","blocked","blocker_ids","created_at"]);function Dd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!No.has(r))throw new h(`Context --fields value not projectable: ${r} (valid: ${[...No].join(", ")})`,p.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new h("Context --fields requires at least one field name",p.USAGE);return t}function Me(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function $p(e,t){let n=Ad(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Fd(e,t){return q(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Bo)}function kn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new h("--token-budget must be a positive integer",p.USAGE);return n}function Md(e,t){return t>=Go&&e===Number.MAX_SAFE_INTEGER?Bo:e}function $d(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Wt.includes(n))throw new h(`Context --depth must be one of ${Wt.join("|")}`,p.USAGE);return n}function Od(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!Ve.includes(o))throw new h(`Context --section must be one of ${Ve.join("|")}`,p.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...Ve]:(t==="deep"?Cd:Ho).filter(r=>n.sections[r])}function Ld(e,t){return e?q(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Nd(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new h("--stale-threshold must be a number of days (e.g. 7 or 7d)",p.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new h("--stale-threshold must be positive",p.USAGE);return i}function Po(e,t){let n=R(e,t),r=L("blocked",t),i=L("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function $e(e,t){let n=L("closed",t);return R(e,t)===n}function Sn(e,t){return R(e,t)===t.in_progress_status}function qo(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Pd(e,t){return t.blocked_statuses.has(R(e,t))}var jd=["compact","brief","fields","includeBody","include_body","parent"];function Ud(e){let t={...e};for(let n of jd)delete t[n];return t}function En(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=he(e),o=Oe(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function Bd(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new h("Context --parent requires an item id",p.USAGE);return t}function Gd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Hd(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 qd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Wd(e){let t=Id.exec(e)??xd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=qd(n,r-1)}function zd(e){let t=Td.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Rd.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function Wo(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Wd(t))return Number.NaN;let n=Date.parse(zd(t));return Number.isFinite(n)?n:Number.NaN}function vn(e){let t=Wo(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Vd(e){let t=Wo(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Cn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=Po(e.status,n)-Po(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=Gd(e.order,t.order);if(o!==0)return o;let s=Hd(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 bn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function In(e,t,n=new Set,r="context"){return Co(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:bn({id:i.id,title:i.item.title}),summary:bn({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:bn(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function xn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Tn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.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 zo(e,t){return t>0?Math.round(e/t*100):0}function he(e){let t=new Map;for(let n of e){let r=Cn(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Le(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:Cn(e.parent)};if(t&&n){let i=Oe(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>$e(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=zo(s,o)}}return r}function Kd(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function Tt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Yd(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Xd(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=he(e),s=new Set(t.filter(d=>xt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let l=Oe(d,o),u=o.get(d)??[],m=0,f=0,g=0,_=0;for(let w of l)$e(w.status,n)?m++:Sn(w.status,n)?g++:Pd(w.status,n)?_++:qo(w.status,n)&&f++;let y=u.sort((w,S)=>ie(w,S,n)).slice(0,r).map(w=>{let S=Oe(w.id,o),b=S.filter(k=>$e(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:S.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:m,children_open:f,children_in_progress:g,children_blocked:_,children:y})}return a.sort((d,c)=>{let l=i.get(d.id),u=i.get(c.id);return ie(l,u,n)}).slice(0,r)}function Oe(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Qd(e,t){return(await bo({compact:!0,limit:String(e)},t)).compact_activity??[]}function Jd(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>xt.has(d.type)),a=[];for(let d of s){let c=Oe(d.id,o),l=c.length;if(l===0)continue;let u=0,m=0,f=0,g=0;for(let _ of c)$e(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:Sn(_.status,r)?f++:qo(_.status,r)&&m++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:m,in_progress:f,blocked:g,completion_pct:zo(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function Zd(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=xe(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function el(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function tl(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>Sn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function nl(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function rl(e,t,n,r){return e.map(i=>({item:i,sortKey:vn(i.created_at)})).sort((i,o)=>{let s=E(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Le(i,t,n),created_at:i.created_at}))}function il(e,t,n,r){return e.filter(i=>!Cn(i.parent)&&!xt.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>Le(i,t,n))}function ol(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function jo(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Vo(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function sl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function al(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`${jo(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${jo(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 Uo(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function cl(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 dl(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(`- ${al(n)}`);e.push("")}function ll(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=i.children_total>0?Math.round(i.children_closed/i.children_total*100):0;e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function ul(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 ml(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${Vd(i.created_at)} ${Vo(i)}`);e.push("")}}function fl(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 pl(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 hl(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function gl(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 yl(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 _l(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 wl(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 bl(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 Op(e){let t=[],n=e.focus_fields,r=o=>n?sl(o,n):Vo(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),Uo(t,"High-level focus",e.high_level,"No high-level active items.",r),Uo(t,"Low-level focus",e.low_level,"No low-level active items.",r),cl(t,e,r),dl(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return ll(t,e),ul(t,e),ml(t,e,n,r),fl(t,e,r),pl(t,e),hl(t,e),gl(t,e),yl(t,e),_l(t,e),wl(t,e),bl(t,e),t.join(`
7
- `)}async function vl(e,t){let n=T(process.cwd(),t.path),r=await M(n),i=r.context??Rr.context,o=P(r.schema),s=$d(e.depth,i),a=Fd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Od(e.section,s,i),activityLimit:Ld(e.activityLimit,i),staleThresholdDays:Nd(e.staleThreshold,i),parentScope:Bd(e.parent),focusFields:Dd(e.fields),baseListOptions:Ud(e)}}function kl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Sl(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function El(e,t){let n=await W(void 0,Sl(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!J(a.status,t.statusRegistry)),o=r,s=Cl(t.parentScope,r);return s&&(i=i.filter(a=>s.has(a.id.trim().toLowerCase())),o=o.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:i,allItems:o,fullCorpus:r,subtreeIds:s}}function Cl(e,t){if(e===void 0)return;let n=En(t,e);if(!n.found)throw new h(`Context --parent item not found: ${e}`,p.NOT_FOUND);return n.ids}function Il(e,t,n,r){let i=new Set(pt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>xt.has(o.type)||i.has(o.id)||Ce(o.type,r)!=="agent").map(o=>o.id))}async function xl(e,t,n,r,i,o,s,a,d,c,l,u,m,f,g,_){let y=[...e].sort((v,ve)=>ie(v,ve,i)),w=await rt({pmRoot:m,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),S=await Ct(y,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),b=await Et("context",S.candidates),k=b.ranked.map(v=>v.item),$=i.active_statuses,x=k.filter(v=>$.has(R(v.status,i))),A=u?Yr(x,c,l,v=>v.id):0,j=u?x.slice(A,A+s):x,We=u&&j.length>0&&A+j.length<x.length,ze=We&&j.length>0?Vr(l,j[j.length-1].id,A+j.length-1):void 0,Z=k.filter(v=>r.has(v.id.trim().toLowerCase())),be=new Set([...j.map(v=>v.id),...Z.slice(0,s).map(v=>v.id)]),se=In({...b,ranked:b.ranked.filter(v=>be.has(v.id))},f,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),Y=se.included.map(v=>v.item),X=Y.filter(v=>$.has(R(v.status,i))),ae=Y.filter(v=>r.has(v.id.trim().toLowerCase())),ce=he(t),Ht=kl(o)?ce:void 0,N=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),O=v=>{let ve=Le(v,i,Ht);return r.has(v.id.trim().toLowerCase())&&(ve.blocked=!0,ve.blocker_ids=xe(v,N,i).filter(qt=>!qt.resolved).map(qt=>qt.id)),ve},Cr=Il(X,n,i,_),Xs=X.filter(v=>Cr.has(v.id)).slice(0,u?j.length:s).map(O),Qs=X.filter(v=>!Cr.has(v.id)).slice(0,u?j.length:s).map(O),Ir=x.length===0;return{activeItems:X,blockedItems:ae,highLevel:Xs,lowLevel:Qs,blockedFallback:Ir?ae.slice(0,s).map(O):[],blockedFallbackUsed:Ir,ranking:b,packing:se,featureStore:S,pageExtras:{...u?{applied_limit:s}:{},...We?{has_more:!0,truncated:!0}:{},...ze?{next_cursor:ze}:{}}}}function Tl(e,t){return Ze("context",{pmRoot:t,options:Je(e,jr)})}function Rl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Go}async function Al(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await ho(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Yd(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:o,agendaEvents:d,agendaSummary:Kd(a)}}function Ko(e,t,n){let r=String(t);return e.filter(i=>R(i.status,n)===r).length}async function Dl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=he(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Xd(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Qd(t.activityLimit,a):void 0,progress:l("progress")?Jd(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Zd(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?rl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?il(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?el(o.activeItems,t.limit):void 0,workload:l("workload")?tl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?nl(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?ol(o.activeItems):void 0}}function Fl(e,t,n){let r=L("canceled",t),i=e.filter(s=>t.active_statuses.has(R(s.status,t))),o=Ko(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>$e(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Ml(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 $l(e,t){t&&(e.focus_fields=t,e.high_level=Me(e.high_level,t),e.low_level=Me(e.low_level,t),e.blocked_fallback=Me(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Me(e.recently_created,t)),e.unparented&&(e.unparented=Me(e.unparented,t)))}function Ol(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function Ll(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 Nl(e,t,n,r){try{let i=new Set(t.packing.included.map(d=>d.id)),o=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:i.has(d.id)})),s=new Set(o.map(d=>d.id));for(let d of tt(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await nt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e,a)}catch{e.warnings=Tt(e.warnings,["context_usage_feedback_write_failed"])}}async function Pl(e,t,n){if(e)return{};let r=(await Pr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function jl(e,t){let n=di(),r=await ii(e),i=n.instance||oi(t);return ro(r.semantic_attribution?.[i])}async function Lp(e,t){let n=T(process.cwd(),t.path),r=await vl(e,t),i=await El(t,r),o=Md(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:kn(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await jl(n,a),c=Pl(e.noExtensionHealth===!0,n,s.settings),l=Fi(i.fullCorpus,s.statusRegistry),u=await xl(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,F(),a,e.after,Tl(e,n),Rl(e,i.fullCorpus.length),n,s.tokenBudget,d,D(s.settings,C())),m=await Al(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),f=await It(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Tt(i.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],f.warnings),_=Ko(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await Dl({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:m.agenda.now,global:t}),S=Fl(i.allItems,s.statusRegistry,l),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??m.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:m.agendaSummary.events,...S},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=Oo(f,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ml(b,w,u.featureStore.warning_details),Ol(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Tn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=xn(u.packing)),Hr(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:R(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),$l(b,s.focusFields),qr(b),g.length>0&&(b.warnings=g),Ll(b,u.activeItems,u.blockedItems),await Nl(b,u,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function Yo(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(Yt(r,"json"),Yt(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,m=d.length;for(;u<m;){let f=Math.ceil((u+m)/2);r.ready=d.slice(0,f),i()<=t?u=f:m=f-1}r.ready=d.slice(0,u),a=i()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=o-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]="f610c3be-8212-56de-86d4-2b5b9752b87c")}catch{}})();var Ul=["markdown","toon","json"],Bl=5,Gl=1440*60*1e3;function Hl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ul.includes(t))throw new h("Next format must be one of markdown|toon|json",p.USAGE);return t}function Xp(e,t){let n=Hl(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"toon"}function Xo(e,t,n){let r=q(e,t);return r===void 0||r<=0?n:r}function Ne(e,t,n,r){return{...Le(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function ql(e,t,n,r){let i=e.item,o=[],s=L("in_progress",t);return o.push(R(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(Wl(i.deadline,n)),o.push(Ie(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function Qo(e,t,n){let r=ee(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Qp={partitionCallerOwnedReady:Qo,resolveNextCallerAuthor:(e,t)=>Jo(e,t)};function Jp(e,t,n){let r=e.filter(i=>Ce(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Ce(i.item.type,n)!=="human"),decisions:t?[]:r}}function Wl(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/Gl);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function zl(e,t){let n=L("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function Rn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Vl(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 Rt(e,t,n){return[...e].sort((r,i)=>{let o=Rn(r.item,t),s=Rn(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function Kl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:ql(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Yl(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 i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.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 Xl(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function Ql(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of tt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await nt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e.result,i)}catch{e.result.warnings=Tt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Jl(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=Yl(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Yo(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Tn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=xn(In(e.readyRanking,e.packingBudget,new Set,"next"))),await Ql({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Zl(e,t,n){if(!n)return e;let r=En(t,n);if(!r.found)throw new h(`Next --parent item not found: ${n}`,p.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function eu(e,t,n,r,i,o,s){let a=e.filter(f=>!Rn(f.item,t)),d=s||a.length===0?e:a,c=await rt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await Ct(d.map(f=>f.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:c.affinity}),u=await Et("next",l.candidates),m=new Map(d.map(f=>[f.item.id,f]));return{projectedReady:u.ranked.map(f=>m.get(f.id)).filter(f=>f!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Jo(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Zp(e,t){let n=T(process.cwd(),t.path),r=await M(n),i=Jo(e,r.author_default),o=P(r.schema),s=D(r,C()),a=F(),d=Xo(e.limit,"--limit",Bl),c=kn(e.tokenBudget,Math.max(192,d*128)),l=Xo(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",f=await W(void 0,Vl(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=Zl(f.items,g.items,m),y=g.items,w=pt(_,y,o,s),S=he(y),b=Mi(w,o,e,s),k=Qo(b.ready,r.author_default,i),$=Rt(k.available,S,o),x=[...w.blocked].sort((N,O)=>ie(N.item,O.item,o)),{projectedReady:A,ranking:j,completedContainer:We,featureStore:ze}=await eu($,S,o,a,i,n,e.includeContainers===!0),Z=A.map((N,O)=>Ne(N,o,S,O+1)),be=x.map((N,O)=>Ne(N,o,S,O+1)),se=Rt(b.decisions,S,o).map((N,O)=>Ne(N,o,S,O+1)),Y=Rt(b.gates,S,o).map((N,O)=>Ne(N,o,S,O+1)),X=Rt(w.containers,S,o).map((N,O)=>Ne(N,o,S,O+1)),ae=Kl({projectedReady:A,readyRows:Z,statusRegistry:o,now:a,completedContainer:We}),ce=Xl(se.length,k.held.length,Z.length,d)??{};Y.length>d&&(ce.gate_needed_total=Y.length),X.length>d&&(ce.containers_total=X.length);let Ht={output_default:"toon",now:a,recommended:ae,ready:Z.slice(1,d+1),decision_needed:se.slice(0,d),gate_needed:Y.slice(0,d),containers:X.slice(0,d),blocked:u?[]:be.slice(0,l),held_by_others:k.held.slice(0,d),summary:{recommended:ae!==null,ready:Z.length,blocked:be.length,in_progress:zl(Z,o),candidates:w.active_count,containers:w.container_count,decision_needed:se.length,gate_needed:Y.length,held_by_others:k.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:m.length>0?m: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(ce).length>0?ce:void 0};return Jl({result:Ht,recommended:ae,blockedRows:be,gateCount:Y.length,candidatesWarnings:f.warnings,corpusWarnings:g.warnings,readyRanking:j,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:c,featureStore:ze,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function eh(e){let t=["# pm next","",...tu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Pe(n,r.map(i=>`- ${je(i)}`),""));if(t.push(...Pe("Recommended",nu(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Pe("Decision needed",(e.decision_needed??[]).map(n=>`- ${je(n)}`),"No human-gated decisions.")),t.push(...Pe("Ready",e.ready.map(n=>`- ${je(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Pe("Blocked",e.blocked.map(n=>`- ${ru(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 tu(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 nu(e){return e?[`- ${je(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Pe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ru(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${je(e)} blocked_by:${t}`}function je(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]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var iu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],ou=["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 su(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function nh(e,t,n={}){let r=n.includePagination!==!1;return[t,...iu.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(su)||ou.some(i=>e?.[i]===!0)}function Zo(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]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var es=["parent","type","priority","status","assignee","tags","sprint","release"];function ns(e,t){let n=st(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function rs(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new h("Aggregate --sum and --avg must target the same numeric field",p.USAGE);let s=i??o;if(!t.includes(s))throw new h(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,p.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function is(e){let t=e?.trim()??"status";if(t.length===0)throw new h("--group-by requires at least one field name",p.USAGE);let n=Di(t);if(n.length===0)throw new h("--group-by requires a comma-separated list of fields",p.USAGE);for(let r of n)if(!es.includes(r))throw new h(`Aggregate group fields must be one of ${es.join("|")}; received "${r}"`,p.USAGE);return n}function os(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 ss(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 os(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function as(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 At(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var au={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function ts(e,t){return t==null||t===""?au[e]:String(t)}function cu(e,t){return e.length===1?ts(e[0],t[e[0]]):e.map(n=>`${n}=${ts(n,t[n])}`).join(" | ")}function cs(e,t,n){for(let r of n){let i=as(e.group[r],t.group[r]);if(i!==0)return i}return 0}function ds(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function ls(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function An(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 du(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 lu(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function uu(e){e.accumulator.row.count+=1,e.includeCompletion&&An(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&lu(e.accumulator,e.numericValue)}function mu(e,t,n,r){for(let i of t){let o=At(n,i),s=e.get(o);if(s){uu({...r,accumulator:s});continue}let a=du(i,r.numericValue);r.includeCompletion&&An(a,r.item.status,r.statusRegistry),e.set(o,a)}}function fu(e,t){let n={};for(let r of e)n[r]=ss(r,t);return n}function pu(e,t,n){let r=[fu(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[i]:d}))))}return r}function hu(e,t,n,r){let i={...e.row,group_label:cu(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=ls(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function gu(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 ch(e,t){if(e.count===!1)throw new h("Aggregate grouped counts are always enabled; omit count=false.",p.USAGE);let n=T(process.cwd(),t.path),r=await M(n),i=P(r.schema),o=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=is(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new h("Aggregate --set-mode must be element or tuple",p.USAGE);let d=ns(e.status,i),c=rs(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),l=e.completion===!0,u=e.includeUnparented===!0,m=await W(void 0,{...Zo(e),status:e.status,noTruncate:!0,strictRead:!0},t),f=new Map,g=0,_=0,y=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let $=c===null?null:ds(k,c.field),x=pu(s,k,a);mu(f,x,s,{item:k,statusRegistry:i,includeCompletion:l,numericAggregation:c,numericValue:$}),y+=x.length,_+=1}let w=[...f.values()].map(b=>hu(b,s,l,c)).sort((b,k)=>cs(b,k,s)),S=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...yu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:gu({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:F(),...S?{warnings:S}:{}}}function yu(e,t,n){let r=Ji(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>At(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new h("Aggregate --after cursor is absent from the current grouping; restart without --after.",p.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?At(t,o.at(-1).group):null}}var dh={buildGroupKey:At,compareAggregateRows:cs,compareNullableGroupValue:as,completionPct:ls,normalizeTagGroupValue:os,parseGroupBy:is,parseNumericAggregation:rs,parseStatus:ns,readNumericAggregateValue:ds,resolveGroupValue:ss,updateCompletionCounts:An};(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]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var us=1e6,ms=20;function fs(e,t,n,r=ms){if(!Number.isSafeInteger(r)||r<0)throw new h("Child projection sample limit must be a non-negative integer.",p.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let y of t){if(a+=1,a>us)throw new h(`Child projection exceeded the ${us.toLocaleString("en-US")} item safety bound.`,p.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=Wi(qi(s,Hi())),l=new Set(c.children_by_parent.get(i)??[]);for(let y of s)y.parent?.trim().toLowerCase()===i&&l.add(y.id.trim().toLowerCase());let u=[...l].map(y=>d.get(y)),m=0;for(let y of u){let w=y.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let f=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>f.length,_=r===0?ms:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([y],[w])=>y.localeCompare(w))),sample:f,sample_limit:r,truncated:g,next_offset:g?f.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${f.length} --limit ${_}`:null,scanned:a}}import{readdir as vu}from"node:fs/promises";import Fn 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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var _u=new Set(["event","meeting","reminder"]);function wu(e){return _u.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Dn(e){if(!wu(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2c03bb3-e603-579b-bb44-0b3757a00ea8")}catch{}})();var ku=new Set(["epic","feature","milestone","plan"]),Su=new Set(Object.keys(Tr).map(e=>e.toLowerCase()));function $n(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Eu(e,t,n,r,i){let o=$n(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Dn(e)?["schedule"]:[],...r&&Ie(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...d})=>Object.values(d).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function hs(e){let t=e.trim().toLowerCase();return t.length>0&&(ku.has(t)||!Su.has(t))}function ps(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Cu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?ps(i):null,last_release:o?ps(o):null}}function Iu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(it.includes(t))return t;throw new h("Get --depth must be one of brief|standard|deep|full",p.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...it,"full"]}})}function xu(e,t,n){let r=$n(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:_})=>({id:g,kind:_}))),t==="deep")return{...i,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:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:d,tests:c,docs:l,reminders:u,events:m,...f}=i;return{...f,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Tu(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 h("Get --fields requires a comma-separated list of field names",p.USAGE);return t}function Dt(e){return e.startsWith("item.")?e.slice(5):e}function Ru(e,t,n){if(e===null)return;let r=Kt(t),i=new Set(r),o=e.filter(s=>{let a=Dt(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new h(`Unknown get --fields value(s): ${o.join(", ")}`,p.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:ue(s),suggested_retry_args:s}})}}var Au=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Du(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Au.has(n)?[]:void 0}function Fu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:$n(e)},i={id:e.id};for(let o of t){let s=Dt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(i[s]=Du(n,r,s))}return i}function Ue(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function ge(e,t){return e.some(n=>{let r=Dt(n);return r===t||r.startsWith(`${t}.`)})}function Mu(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new h("Get projection options are mutually exclusive; remove the extra projection flag and retry.",p.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:ue(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new h("Get --tree-depth requires --tree",p.USAGE);if(e.at!==void 0&&e.tree===!0)throw new h("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",p.USAGE);return{depth:e.full?"deep":Iu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?q(e.treeDepth,"--tree-depth"):void 0,fields:Tu(e.fields),fieldProjection:e.fields!==void 0}}async function $u(e,t,n){let r=T(process.cwd(),t.path);await G(r);let i=await M(r),o=D(i,C());if(n!==void 0){let d=await Qi(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ne(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Ei(r,e,i.id_prefix,o.type_to_folder);let a=await re(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Ou(e,t,n,r){let i=Q(t.schema).definitions.map(o=>o.metadata_key);if(Ru(e,i,r),n&&ge(e??[],"children"))throw new h("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",p.USAGE);if(n&&ge(e??[],"blockers"))throw new h("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",p.USAGE)}function Mn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?Ue(r,i):ge(r,i):n!=="brief"}async function Lu(e,t){if(!t)return;let n=Xe(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return Cu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Nu(e,t,n,r){let i=r||Ue(n,"linked.files"),o=r||Ue(n,"linked.tests"),s=r||Ue(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Pu(e,t){if(!t)return;let n=P(e.settings.schema),r=await fe(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return fs(e.locatedId,r,n)}function ju(e,t){let n=new Map;for(let r of e){let i=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${i}`:`local:${i.toLowerCase()}`,{...r,id:i})}return[...n.values()]}async function Uu(e,t){let n=Fn.basename(e),r=(await vu(Fn.dirname(e)).catch(i=>{throw Yi("Cannot verify the blocker's physical file identity",{exitCode:p.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:i})})).filter(i=>i.toLowerCase()===n.toLowerCase()).sort((i,o)=>+(o===n)-+(i===n)||i.localeCompare(o)).map(i=>Fn.parse(i).name)[0];if(r===void 0)throw new h(`Blocker canonical file disappeared during identity verification: ${t}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function Bu(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?ge(n.fields,"blockers"):n.depth!=="brief"))return;let r=Ie(t.metadata);if(r.length===0)return;let i=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),o=new Map;for(let a of r){if(ni(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&ri(l.source_kind)))continue;let d=await ne(t.pmRoot,i.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(d===null)continue;let c=await re(d,{schema:t.settings.schema});if(d.id=await Uu(d.itemPath,d.id),c.document.metadata.id!==d.id)throw new h(`Blocker identity differs from its canonical file: ${d.id}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(a.toLowerCase(),c.document.metadata)}let s=ju(xe({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,P(t.settings.schema)),o);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...d})=>d),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function Gu(e,t,n,r){if(!r)return;let i=Dn(t.metadata);if(i){if(n===null||Ue(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Dt(s)===`schedule.${o}`)))}}async function Hu(e,t,n,r){if(t.tree!==!0)return;let i=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:i.count,items:i.items.map(o=>o)}}async function Lh(e,t,n={}){let r=Mu(n,e),i=await $u(e,t,n.at);Ou(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Mn({...r,field:"body"}),s=Mn({...r,field:"linked"}),a=Mn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?ge(r.fields,"children"):r.depth==="deep"&&(r.full||hs(i.metadata.type))),c=r.fieldProjection?ge(r.fields,"schedule"):r.depth!=="brief",l=await Lu(i,a),u={item:r.fieldProjection?Fu(i.metadata,r.fields):xu(i.metadata,r.depth,r.full)};o&&(u.item.body=i.body),Nu(u,i,r.fields,s),l&&(u.claim_state=l),Gu(u,i,r.fields,c),await Bu(u,i,r);let m=await Pu(i,d);m!==void 0&&(u.children=m);let f=await Hu(i,n,r.treeDepth,t);if(f!==void 0&&(u.tree=f),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await Zr({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return Gr(u,r.fieldProjection?[]:Eu(i.metadata,i.body,m,i.historical===void 0,r)),u}var Nh={shouldAutoIncludeGetChildren:hs};(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]="9c9c1249-e52a-5203-8a84-d54211c30202")}catch{}})();function qu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Wu(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=mi(n.patch);for(let s of o)i.add(Xt(s.path)),s.from&&i.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:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function zu(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 Vu(e,t){let n=T(process.cwd(),t.path);await G(n);let r=await M(n),i=D(r,C()),o=e.trim()===ot,s=o?ot:bi(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?fi(n):Xe(n,d);if(!a&&!await Dr(c))throw new h(`Item ${e} not found`,p.NOT_FOUND);return a&&await _i({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function Kh(e,t,n){let r=me(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await Vu(e,n),d=await te(i,s),c=zu(d),l=a.agent_identity.identity_vocabulary,u=_t(a.agent_identity.harness_signals),m=bt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),f=Ku(d).filter(({entry:x})=>m(x)),g=qu(f,r),_=g.map(({entry:x})=>x),y=t.compact===!0,w=y?Wu(g,c):void 0,S=t.provenance===!0?g.map(({entry:x,durableVersion:A})=>wt(x,l,{itemId:s,version:A})):void 0,b=t.provenance===!0?"provenance":y?"compact":"full",k={compact:{compact_history:w},provenance:{provenance_history:S},full:{history:_}}[b],$={id:s,...k,compact:y,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:Qe("history",b),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:vt(f.map(({entry:x})=>x),l,u)}:{}};if((t.diff||t.field!==void 0)&&($.diff=yi(d,{windowStartIndex:Math.max(0,d.length-_.length),field:t.field})),t.verify){let x=o?(await re(o,{schema:a.schema})).document:void 0;if($.verification=Xi(d,x),s===ot&&$.verification.ok){let A=await pi(T(process.cwd(),n.path));$.verification={...$.verification,ok:A.ok,errors:A.ok?$.verification.errors:[...$.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:A.ok,workspace_state_mismatches:A.mismatched_documents,workspace_state_missing:A.missing_documents,workspace_state_unreadable:A.unreadable_documents}}}return $}function Ku(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]="f7f0c9be-34c2-55fb-8676-de58e96c382f")}catch{}})();function Yu(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new h("Search mode must be one of keyword|semantic|hybrid",p.USAGE);return t}function Ft(e){return e===!0}function gs(e){return Or(e,0,1)??void 0}function ys(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new h("Search --match-mode must be one of and|or|exact",p.USAGE);return t}function _s(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new h("Search --min-score must be a finite number >= 0",p.USAGE);return t}function oe(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function U(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function On(e,t){if(e!==void 0)return H(e,new Date,t)}function Xu(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 h("Search --fields requires a comma-separated list of field names",p.USAGE);return[...new Set(t)]}function Mt(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=Xu(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new h("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",p.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ue(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...ei]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Ln(e,t,n="<query>"){if(e.mode!=="fields")return;let r=ti(t.definitions.flatMap(s=>[s.key,s.metadata_key])),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new h(`Unknown search --fields value(s): ${o.join(", ")}`,p.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:ue(s),suggested_retry_args:s}})}}function $t(e){let t=U(e);if(!t)throw new h("Search query must not be empty",p.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 Qu=["auto","keyword","semantic","hybrid"];function Ju(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Qu.includes(n)?n:"auto"}function Pn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Yu(e.requested),source:"explicit"};let t=Ju(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=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import Zu 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]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function Gn(e){return Ze("search",{pmRoot:e.pmRoot===void 0?void 0:Zu.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:Je(e.searchOptions,Ur)})}function ws(e){let t=Xr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Gn(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]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function bs(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 em=[{optionKey:"status",summaryKey:"status",normalize:e=>bs(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:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return Ki(l,r,em),Object.assign(l,en(r)),Object.assign(l,Zt(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function _e(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,m=f=>f??null;return{mode:t,match_mode:n,status:r.status===void 0||bs(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...en(r),...Zt(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(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]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var tm=1.2,nm=.75;function Hn(e){return le(e)}function rm(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function ks(e){let t=[],n=new Map,r=0;for(let o of e){let s=Hn(o.text),a=rm(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function im(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Ss(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,im(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=l+n.k1*u;a+=c*(l*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function vs(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Es(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 Cs(e){let t=e?.search?.bm25;return{k1:vs(t?.k1,tm,0,1e3),b:vs(t?.b,nm,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]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var qn=4,om=20,sm=200,am=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 i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function cm(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 dm(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 Is(e,t=qn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=le(n);if(r.length===0)return[n];let i=r.filter(a=>!am.has(a.toLowerCase())),o=r.map(a=>cm(a)),s=i.map(a=>dm(a));return Wn([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function xs(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Wn(t.filter(n=>typeof n=="string"),qn):[]}function Ts(e,t,n){return Wn([...e,...t],Math.max(1,n))}function Rs(e,t){let n=e.search?.query_expansion,r=ke(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:qn}}function As(e,t){let n=e.search?.rerank,r=ke(n?.model),i=$r(n?.top_k)??om;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(sm,i)}}function Ds(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=ke(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function lm(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Fs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function um(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=lm(e,t),i=Fs(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function Ms(e,t,n,r,i){if(r.length===0)return new Map;let o=ke(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],d=await lt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=Fs(c),u=new Map;for(let m=0;m<r.length;m+=1){let f=r[m],g=d[m+1];if(!g)continue;let _=um(c,g,l);u.set(f.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]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}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 Be(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function zn(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(" "),ut(t).join(" "),mt(t).join(" "),Be(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),ft(t)]}function Vn(e,t){return zn(e).some(n=>U(n).includes(t))}function Kn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&U(r.metadata.title)!==t||n.phraseExact&&!Vn(r,t)))}function mm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null".',p.USAGE)}function fm(e,t,n){let r=Te(e.assignee,{label:"--assignee"});mm(r);let i=zi(e),o=Vi(e);return{typeFilter:Li(e.type,t),tagFilter:Te(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ni(e.priority),deadlineBefore:On(e.deadlineBefore,"deadline-before"),deadlineAfter:On(e.deadlineAfter,"deadline-after"),updatedAfter:oe(e.updatedAfter,"updated-after"),updatedBefore:oe(e.updatedBefore,"updated-before"),createdAfter:oe(e.createdAfter,"created-after"),createdBefore:oe(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Te(e.sprint,{label:"--sprint"}),releaseFilter:Te(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:ji(i),contentFieldFilters:o,contentFiltersActive:Bi(o)}}function pm(e,t){return hm(e,t)&&Jr(e,t)&&gm(e,t)}function hm(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 gm(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 ym(e,t,n,r){let i=e.metadata;return!(!pm(i,t)||!ct(i,n)||t.missingMetadataActive&&!Ui(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Gi(i,t.contentFieldFilters))}function Yn(e,t,n,r,i,o){let s=fm(t,n,i);return e.filter(a=>ym(a,s,r,o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var _m=2,wm=120,bm=6,vm=40,km=1e3,Sm=900,Em="\xAB",Cm="\xBB",$s=60;function Ot(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Os=[{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=>ut(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>mt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Be(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>ft(e.metadata)}],Im=new Map(Os.map(e=>[e.name,e]));function Xn(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${Em}${i}${Cm}`)}function Qn(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-$s),s=Math.min(e.length,r+i+$s),a=Xn(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Lt(e,t,n){let r=[];for(let i of t){let o=Im.get(i);if(o===void 0)continue;let s=Qn(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function xm(e,t,n){return[...Os.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Tm(e,t,n){let r=U(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=U(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?km:Sm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Rm(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=Ot(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Am(e,t,n,r){U(e.title)===t&&(r.score+=wm,r.matched.add("title"));for(let i of n){let o=Ot(U(i.value),t);o>0&&(r.score+=o*i.weight*bm,r.matched.add(i.name))}}function Jn(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Tm(a,n,o);if(d)return d;let c=new Map;for(let g of le(a.title))c.set(g,(c.get(g)??0)+1);let l=xm(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Rm(t,c,l,i,u);let m=new Set(t),f=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&f&&(u.score+=vm),t.length>=_m&&n.includes(" ")&&Am(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,_)=>g.localeCompare(_)),matched_all_terms:f}}function Zn(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function er(e,t,n,r,i,o,s,a=!1){return Jn(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ge(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-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]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Pt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function jt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Pt(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 tr(e,t){let n=jt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Ls(e){return e?.commands?.some(t=>t.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 nr(e,t,n){try{let r=await Ai(e);r.warnings.length>0&&n.push(...r.warnings);let i=eo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Ls(C());n.push(...Ns(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.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 Ns(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 Ut(e,t,n,r){if(!t.active)throw new h(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,p.USAGE);if(!n.active&&!r)throw new h(`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`,p.USAGE);return{provider:t.active,vectorStore:n.active??null}}var B=Ye;function He(e){let t=C(),n=hi(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=B(r.name)??B(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function rr(e){let t=B(e.search?.provider),n=He(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function ir(e){let t=C(),n=B(e.vector_store?.adapter),r=gi(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:B(i.name)??B(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function or(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new h(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,p.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=B(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(m=>typeof m=="string")?[...new Set(l.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,f)=>m.localeCompare(f)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function sr(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Nt(e,t){let n=t.filter(d=>d.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(d=>d.item.id)),i=e.filter(d=>!r.has(d.item.id)),o=i.reduce((d,c)=>Math.max(d,c.score),0),s=n.sort((d,c)=>c.score-d.score),a=o+s.length+1;return[...s.map((d,c)=>({...d,score:a-c,matched_fields:["id"]})),...i]}function Bt(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Ge(t),d=Ge(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let m=e.get(u),f=a.get(u)??0,g=d.get(u)??0,_=f*r+g*l;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(i);for(let w of s.get(u)??[])y.add(w);return{item:m.metadata,score:_,matched_fields:[...y].sort((w,S)=>w.localeCompare(S))}}).filter(u=>u!==null)}function ar(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function cr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Es(Ti(s,{fields:e.corpusFields}))})),n=ks(t),r=Ss(n,Hn(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return Nt(s,e.keywordHits)}let o=Bt(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Nt(o,e.keywordHits)}function dr(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function lr(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 Dm(e,t){let n=e.queryExpansion.enabled?Is(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Ts(r,xs(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function Fm(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new h(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,p.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 h("Semantic search requires either a configured vector store or an extension vector adapter query handler",p.USAGE)}function Mm(e,t,n){return[...e].sort((r,i)=>r.score!==i.score?i.score-r.score:r.item.id.localeCompare(i.item.id)).slice(0,n).map(r=>{let i=t.get(r.item.id);return i?{hit:r,text:lr(i)}:null}).filter(r=>r!==null)}async function $m(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Ds(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function Om(e,t,n){let r=await $m(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Ms(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Lm(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function Nm(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=Mm(n,r,e.rerank.top_k),o=await Om(e,t,i);return o&&o.size>0?Lm(n,o):n}async function ur(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await Dm(e,i),s=await lt(e.provider,o,n),a=await Promise.all(s.map(async g=>await Fm(e,g,t,r))),d=dr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=sr(d,c),m=u.size;if(e.requestedMode==="semantic")return{hits:Nt(l,e.keywordHits),vectorMatchCount:m};let f=await Nm(e,i,Bt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Nt(f,e.keywordHits),vectorMatchCount:m}}function Ps(e){let t=He(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function js(e){let t=He(B(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Gt from"node:fs/promises";import mr 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]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}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()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function Us(e){let t=mr.resolve(e);try{let n=await Gt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function pr(e,t){let[n,r]=await Promise.all([Us(e),Us(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function hr(e,t){let n=fr(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=mr.resolve(o.resolved,i.path);if(!zt(o.resolved,s))continue;let a;try{a=await Gt.realpath(s)}catch{continue}if(zt(o.realpath,a))try{await Se({path:s,scope:i.scope}),r.push(await Gt.readFile(s,"utf8"))}catch{}}return r.join(`
11
- `)}async function gr(e,t,n,r){let i=Ar(C()),o=async(c,l,u)=>{let m=async(f,g)=>{await Se({path:f,scope:"project"});let _=await Gt.readFile(f,"utf8");return li(_,{format:g,schema:r,extensionFieldNames:i,onWarning:y=>s.push(y)}).body};try{return await m(l,u)}catch{let f=u==="toon"?"json_markdown":"toon",g=Vt(e,c.type,c.id,f,n);try{return await m(g,f)}catch{return s.push(`item_list_item_read_failed:${mr.relative(e,g)}`),""}}},s=[],a=await ki(e,t,n,s,r),d=[];if(a.length===0){let c=await Si(e,t,n,s,r);for(let l of c){let u=Vt(e,l.type,l.id,t,n),m=await o(l,u,t);d.push({metadata:l,body:m})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function Bs(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await pr(i,Lr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await hr(a,o)]));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]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var Gs=["tag","status","type","priority"];function yr(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=Gs.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function _r(e,t,n){let r={...e};for(let i of Gs){let o=t[i];if(o!==void 0){if(Ye(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Hs(e,t){let n=[],r=yr(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new h("Inline field:value tokens consumed the entire query, leaving no search terms.",p.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=_r(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Ft(s.includeLinked),titleExact:Ft(s.titleExact),phraseExact:Ft(s.phraseExact),matchMode:ys(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:_s(s.minScore),countOnly:s.count===!0,tokens:$t(o),normalizedQuery:U(o),limit:me(s.limit),projection:Mt(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function qs(e){if(e.after!==void 0&&e.count===!0)throw new h("Search --after cannot be combined with --count.",p.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]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function br(e,t,n,r,i,o,s,a,d,c,l,u,m,f){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let y=ye({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Er(f),items:[],count:0,...g,filters:y,...l.length>0?{warnings:l}:{}}}let _=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:f,items:[],count:0,...g,filters:_e({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:_},now:F(),...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 o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function kr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=vr(n,i);return r})}function Sr(e,t){return br(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 Ws(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return wr({query:e.query.trim(),mode:e.effectiveMode,...Er(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 wr({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:F()},e.warnings)}function Er(e){return e==="settings"?{mode_source:e}:{}}function wr(e,t){return t.length===0?e:{...e,warnings:t}}function qe(e,t){return t?{...e,workspace_memory:t}:e}function zs(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:Lt(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Vs(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return wr({query:e.query.trim(),mode:e.effectiveMode,...Er(e.modeSource),items:t,count:t.length,...s,...o,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=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...o,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:i.mode,fields:a},now:F(),...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]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var qy={applyFilters:Yn,applyExactQueryFilters:Kn,applyInlineQueryFilters:_r,buildHitHighlights:Lt,buildVerboseSearchFilters:_e,buildExplicitSemanticFallbackWarning:tr,buildCompactSearchFilterSummary:ye,buildHybridLexicalScore:er,buildRerankCorpus:lr,buildSemanticHits:sr,classifyImplicitSemanticFallbackReason:jt,collectErrorCauseCodes:Pt,collectExactPhraseFields:zn,collectLinkedPaths:fr,combineHybridHits:Bt,computeBuiltInBm25Hits:cr,computeSemanticOrHybridHits:ur,resolveBuiltInBm25Mode:ar,countOccurrences:Ot,dependencyEntries:Be,documentContainsExactPhrase:Vn,emptySearchResult:br,highlightFieldSnippet:Qn,loadDocuments:gr,markTokenRuns:Xn,parseInlineQueryFilters:yr,maybeEmitVectorIndexStaleWarning:nr,loadLinkedCorpus:hr,mergeVectorHitsById:dr,normalizeExtensionProviderHits:or,normalizeScoreMap:Ge,parseProjectionConfig:Mt,parseTimestampWindow:oe,parseTokens:$t,projectSearchHits:kr,readSearchFieldValue:vr,requireSemanticDependencies:Ut,resolveExtensionSearchProvider:rr,resolveExtensionSearchProviderByName:He,resolveExtensionVectorAdapter:ir,resolveLinkedCorpusRoots:pr,scoreDocument:Jn,sortHits:Zn,stringArray:we,textEntries:K,validateSearchProjectionFields:Ln};async function Pm(e,t){let n=T(process.cwd(),t.path);await G(n);let r=await M(n),i=vi(r).settings,o=P(i.schema),s=Q(i.schema);Ln(e.projection,s,e.query);let a=at(e.options,s,"search"),d=D(i,C()),c=Ii(i),l=Ri(i,n),u=rr(i),m=ir(i),f=gs(e.options.semanticWeight),g=Rs(i,c.active?.name??null),_=As(i,c.active?.model??B(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Nn(i),scoreThreshold:e.minScoreOverride??jn(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:f,hybridSemanticWeight:f??Un(i),tuning:Bn(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:ar({configuredProvider:B(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ps(g),rerank:_,rerankExtension:js(i),...jm({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function jm(e){let t=Ci(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Pn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function Um(e,t){let n=await gr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=st(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Pi(t.statusRegistry),o=Yn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Kn(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Bm(e,t,n){let r=await Bs(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>er(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function Gm(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=cr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:xi(t.settings),bm25Params:Cs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function Hm(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return or(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new h(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,p.GENERIC_FAILURE);return null}}function qm(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 Wm(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await nr(e.pmRoot,n,r),e.extensionSearchProvider||Ut(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function zm(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await Gm(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Wm(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Hm(t,n,r,l)??a,a===i){let{provider:u,vectorStore:m}=Ut(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),f=await ur({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=qm(c,f,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(tr(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function Ks(e){e.searchOptions.after!==void 0&&Kr(e.searchOptions.after,Gn(e))}async function Wy(e,t,n){qs(t);let r=Hs(e,t),i=await Pm(r,n),o=await Um(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await It(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:F()});s.push(...a.warnings);let d=Lo(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ks({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),qe(Sr({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await Bm(r,i,o.filteredDocuments),u=await zm({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ks({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),qe(Sr({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),f=Zn(m,i.statusRegistry),g=f.length,_=ws({pmRoot:i.pmRoot,sorted:f,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return qe(Ws(y,g),d);let{hits:w,projection:S}=zs(r,o.filteredDocuments,_.limited),b=kr(w,S);return qe(Vs(y,b,g,_.limited.length,S,_.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var Ys=["ndcg","mrr","precision","recall"];function Vm(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!Ys.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function Vy(e,t){let n=Vm(t),r=[];for(let i of Ys){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{Js as a,tn as b,Ym as c,oa as d,sa as e,Xm as f,ef as g,nh as h,no as i,af as j,cf as k,df as l,lf as m,ro as n,yf as o,_f as p,wf as q,ho as r,_t as s,ec as t,wt as u,vt as v,$f as w,bo as x,pn as y,St as z,Dc as A,Eo as B,Lc as C,Et as D,Nc as E,Pc as F,Gc as G,Hc as H,Wf as I,qc as J,Co as K,hn as L,gn as M,ed as N,sd as O,np as P,yn as Q,_n as R,Ct as S,ud as T,hd as U,It as V,kd as W,Oo as X,Sd as Y,Lo as Z,Ed as _,Dd as $,Me as aa,$p as ba,kn as ca,$d as da,Od as ea,En as fa,ie as ga,In as ha,xn as ia,Tn as ja,he as ka,Le as la,Tt as ma,Op as na,Ol as oa,Lp as pa,Ul as qa,Xp as ra,Qp as sa,Jp as ta,Zp as ua,eh as va,ch as wa,dh as xa,us as ya,ms as za,fs as Aa,Lh as Ba,Nh as Ca,Kh as Da,Nn as Ea,Pn as Fa,jn as Ga,Un as Ha,Bn as Ia,Gn as Ja,ws as Ka,ye as La,_e as Ma,Pt as Na,jt as Oa,Ls as Pa,Ns as Qa,qy as Ra,Wy as Sa,Ys as Ta,Vm as Ua,Vy as Va};
12
- //# sourceMappingURL=chunk-F7FD25TG.js.map
4
+ `;)t-=1;return e.slice(0,t)}function Xa(e){let t=M(),n=fa(e.view),r=Ga(n,e,t),i=q(e.limit),o=ma(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 h("Calendar occurrence limit must be >= 1",p.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?ao:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Qa(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${ao}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Ja(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 Za(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 go(e,t){let n=R(process.cwd(),t.path);await G(n);let r=Xa(e),i=await $(n),o=P(i.schema),s=Q(i.schema),a=at(e,s,"calendar"),d=F(i,C()),c=[];Qa(c,r.eventsOnlyCapApplied);let l=await fe(n,i.item_format,d.type_to_folder,c,i.schema),u=Na(l,e,d,o,a),m=Sa(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),f=La(u,m,r.includeSources,r.occurrenceLimit).filter(w=>Ba(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?f:f.slice(0,r.limit),_=qa(g),y=[...new Set(c)].sort((w,S)=>w.localeCompare(S));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Za(e,r.rangeBounds),filters:Ja(e,a),summary:Wa(g),events:g,days:_,...y.length>0?{warnings:y}:{}}}import tc from"node:fs/promises";import bo from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var mn={version:1,aliases:{}};function _t(e=[]){let t=new Set(Ee),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function yo(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function fn(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 ec(e,t=Ee){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new h(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new h(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,p.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new h(`Provenance predicate must use dimension=value; received "${o.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function wt(e,t=mn,n={}){let r=fn(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 bt(e,t=mn,n=Ee){let r=yo(e.harness),i=yo(e.agentInstance),o=ec(e,n);return s=>{let a=fn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,c]of o){let l=s.agent_provenance?.[d];if(!l||!c.has(l.value))return!1}return!0}}function vt(e,t=mn,n=Ee){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);fn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a4394793-55d4-5049-ab20-707c1c3d9f2c")}catch{}})();var nc=20,rc=5,ic=15,oc="-24h";function $f(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 sc={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 h(`${t} must not be empty`,p.USAGE);return n}function _o(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new h("Activity time bounds must not be empty",p.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(i,new Date(t),n)}function ac(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function wo(e,t){return t===void 0?e:e.slice(0,t)}function Re(e,t=""){return typeof e=="string"?e:t}function cc(e,t){return{...t,id:e,ts:Re(t.ts),author:Re(t.author,"unknown"),op:Re(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Re(t.before_hash),after_hash:Re(t.after_hash)}}function dc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function lc(e){try{return(await tc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Mr(t))return[];throw t}}function uc(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 mc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?ic:n==="compact"?nc:rc}function fc(e,t){let n=M(),r=t==="digest",i=_o(e.to??(r?n:void 0),n,"--to"),o=_o(e.from??(r?oc:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&E(o,i)>=0)throw new h("Activity --from must be before --to",p.USAGE);let s=me(e.limit);if(e.unbounded===!0&&s!==void 0)throw new h("Activity --unbounded cannot be combined with --limit",p.USAGE);return{id:pn(e.id,"Activity --id"),op:pn(e.op,"Activity --op"),author:pn(e.author,"Activity --author"),from:o,to:i,limit:mc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function pc(e){let t=R(process.cwd(),e.path);return await G(t),{pmRoot:t,settings:await $(t)}}async function hc(e){let t=F(e.settings,C()),n=await fe(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await _i({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=bo.join(e.pmRoot,"history");return await Se({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function gc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:ac(t,n.from,n.to)}async function yc(e,t){let n=[];for(let r of await lc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(bo.join(e,r),i);for(let s of o){let a=cc(i,s);gc(s,a,t)&&n.push(a)}}return n}function _c(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function wc(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function bc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,E(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),E(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:wc(i.operations)}}).sort((r,i)=>E(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function vc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function kc(e,t,n,r,i){if(e==="digest"){let s=bc(t,r),a=wo(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=wo(t,n);return e==="compact"?{rows:{compact_activity:_c(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function vo(e,t){let n=await pc(t),r=uc(e),i=fc(e,r),o=await hc(n),s=_t(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=bt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=dc(await yc(o.historyDir,i)).filter(d),l=kc(r,c,i.limit,o.itemsById,m=>wt(m,a,{itemId:m.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:sc[r]},omission_receipt:Qe("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(m=>m.author)).size,operation_counts:vc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:vt(c,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var ko="1970-01-01T00:00:00.000Z";function Ae(e){if(typeof e!="string")return null;let t=e.trim();if(!Jr(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]="74b476d9-5f30-5135-9539-5fe3e864c60f")}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"],Sc=Symbol("no-context-author"),Ec=Symbol("no-item-assignee");function So(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Cc(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]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function Ic(e){let t=Cc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ae(e.created_at)??ko}}function xc(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=Ae(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 Tc(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 Rc(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 Ac(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 kt(e,t,n){return e?.[t]??n}function St(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Ic(c):xc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,m=n.get(l.id).coordinate;return E(m,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=So(t.author,Sc),a=L("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=So(c.assignee,Ec)===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-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:kt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:kt(t.claimFocus,c.id,I(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Tc(c.priority,4),risk_pressure:Ac(c.risk),deadline_pressure:Rc(c.deadline,d),knowledge_density:kt(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:kt(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Dc="context_relevance",Fc={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},Mc=new TextEncoder;function $c(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!hn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Oc(e){let t={...Fc};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 Co(e,t={}){$c(e);let n=Oc(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=hn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,m=0;for(let f of o){let g=c[f];if(g===void 0)continue;let _=g*n[f];l[f]=_,u+=_,m+=n[f]}return{...a,baseline_rank:d+1,rank:0,score:m===0?0:u/m,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Lc(e,t={}){let n=Co(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function Et(e,t,n={}){let r=Co(t,n),i=await Gr(Dc,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await Lc(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var Nc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Eo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Pc(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,m)=>l+(2**u-1)/Math.log2(m+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Eo(e.required_ids??[],a),continuity_coverage:Eo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function jc(e){return Math.ceil(Mc.encode(JSON.stringify(e)).byteLength/4)}function Uc(e){return Math.round(e*1e4)/1e4}function Bc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function Gc(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"});if(Vr(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new h(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,p.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=Bc(n,e.surface),o={...n,ranking:void 0},s=jc(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Pc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function Hc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Nc;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,Uc(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function Wf(e,t,n){let r=[];for(let i of e)r.push(await Gc(i,t));return Hc(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var qc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Wc=["identity","summary","full"];function zc(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=Wc.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 Vc(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=qc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function Kc(e){let t=new Set;for(let n of e){if(zc(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 Yc(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function Xc(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Yc(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function Qc(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Io(e,t){let n=Vc(t),r=Kc(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=Xc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=Qc(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 De from"node:fs/promises";import Fe from"node:path";import{createHash as xo,randomUUID as Jc}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]="01eff51c-7656-5c3f-b0c0-28594fca8a1e")}catch{}})();var gn=3,yn=2,To=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Zc=new Set(["substantive_history","release_cohort","created_at"]),ed={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 pe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ro(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function td(e){let t={};for(let n of To){let r=e[n];if(r!==void 0){if(!Ro(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function nd(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function rd(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function Ao(e,t){return{...t,activityDensity:t.activityDensity??nd(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??rd(e)}}function bn(e){let t=xo("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function id(e){if(!pe(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",pe(e.signals),pe(t)].every(Boolean))return null;let n=t.recency;if(!pe(n))return null;let r=Ae(n.coordinate);if(r===null)return null;let i=new Set(To),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Ro(a))||![typeof n.source=="string"&&Zc.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(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function od(e,t){let n=Array.from(e,id);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==bn(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function sd(e){if(!pe(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=od(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 Do(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 Fo(e,t,n=bn(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:td(s),signal_provenance:a})).sort((o,s)=>o.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(i.map(o=>Object.freeze(o)))})}function np(e,t){return Do(t),Fo(St(e,Ao(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=Fe.resolve(t)}async read(){try{return JSON.parse(await De.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&Ke(t))return null;throw t}}async write(t){let n=Fe.dirname(this.filePath);await De.mkdir(n,{recursive:!0});let r=Fe.join(n,`.${Fe.basename(this.filePath)}.${Jc()}.tmp`);try{await De.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await De.rename(r,this.filePath)}finally{try{await De.rm(r,{force:!0})}catch{}}}},wn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Do(n);let r=[],i=null;try{let m=await this.adapter.read();i=sd(m),m!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(m=>m.id).sort((m,f)=>m.localeCompare(f)),s=i?.items.map(m=>m.id)??[],a=St(t,Ao(t,n)),d=bn(a),c=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===d&&i.source===n.source&&s.length===o.length&&s.every((m,f)=>m===o[f]),l;if(c&&i!==null)l=i;else{i!==null&&r.push("context_signal_store_stale"),l=Fo(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(m=>[m.id,m]));return{snapshot:l,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>ed[m])}}};function ad(e){let t=xo("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function Ct(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await dt(t.pmRoot),o=t.sourceCursor??i?.source_cursor??ad(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new wn(new _n(Fe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await pi(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:o,source:s})}import cd from"node:path";import{createHash as dd}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]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Mo(e){return e.completed_at!==void 0?{resolved:!0,timestamp:e.completed_at,source:"completed_at",fallback:!1}:e.closed_at!==void 0?{resolved:!0,timestamp:e.closed_at,source:"closed_at",fallback:!0}:e.updated_at!==void 0?{resolved:!0,timestamp:e.updated_at,source:"updated_at",fallback:!0}:{resolved:!1}}import ld 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]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var $o=1,ud=1e4,Oo=12;function md(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function fd(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function pd(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function hd(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(I(o.status,t.statusRegistry))).map(o=>{let s=Mo(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,d=md(a.timestamp),c=`epoch:${d}`,l=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(o),i.set(c,l);let u=fd(s,r);if(u){let m=`epic:${u.id}`,f=i.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};f.items.push(o),i.set(m,f)}}return{format_version:$o,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(pd).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function gd(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 yd(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(gd)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function _d(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==$o||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(yd)?t:null}function wd(e){return`scan:${dd("sha256").update(Pr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function bd(e,t,n){return n!==void 0?n:(await dt(t))?.source_cursor??wd(e)}async function vd(e){try{let t=_d(JSON.parse(await ld.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Ke(t))}}}async function It(e,t){let n=Math.max(1,Math.floor(t.minimumItems??ud));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await bd(e,t.pmRoot,t.sourceCursor),i=cd.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await vd(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let d=hd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await $r(i,`${JSON.stringify(d)}
6
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function kd(e,t,n=Oo){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function Lo(e,t,n=Oo){if(e.snapshot===null)return;let r=kd(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 Sd(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function No(e,t,n=5){let r=Sd(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]="f3fdd154-b363-5447-aee5-69fc833a8c03")}catch{}})();var Ed=["markdown","toon","json","ndjson"],Tt=new Set(["Epic","Feature"]),Go=10,Ho=1e4,qo=["hierarchy","activity","progress","recently_created","unparented","workload"],Cd=[...qo,"blockers","files","staleness","tests"],Id=/^(\d{4})-(\d{2})-(\d{2})/,xd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Td=/^(\d{4})(\d{2})(\d{2})$/,Rd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Ad(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ed.includes(t))throw new h("Context format must be one of markdown|toon|json|ndjson",p.USAGE);return t}var Po=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 Dd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Po.has(r))throw new h(`Context --fields value not projectable: ${r} (valid: ${[...Po].join(", ")})`,p.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new h("Context --fields requires at least one field name",p.USAGE);return t}function Me(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function $p(e,t){let n=Ad(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Fd(e,t){return q(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Go)}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 h("--token-budget must be a positive integer",p.USAGE);return n}function Md(e,t){return t>=Ho&&e===Number.MAX_SAFE_INTEGER?Go:e}function $d(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!zt.includes(n))throw new h(`Context --depth must be one of ${zt.join("|")}`,p.USAGE);return n}function Od(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!Ve.includes(o))throw new h(`Context --section must be one of ${Ve.join("|")}`,p.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...Ve]:(t==="deep"?Cd:qo).filter(r=>n.sections[r])}function Ld(e,t){return e?q(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Nd(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new h("--stale-threshold must be a number of days (e.g. 7 or 7d)",p.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new h("--stale-threshold must be positive",p.USAGE);return i}function jo(e,t){let n=I(e,t),r=L("blocked",t),i=L("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function $e(e,t){let n=L("closed",t);return I(e,t)===n}function En(e,t){return I(e,t)===t.in_progress_status}function Wo(e,t){let n=I(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Pd(e,t){return t.blocked_statuses.has(I(e,t))}var jd=["compact","brief","fields","includeBody","include_body","parent"];function Ud(e){let t={...e};for(let n of jd)delete t[n];return t}function Cn(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=he(e),o=Oe(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function Bd(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new h("Context --parent requires an item id",p.USAGE);return t}function Gd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Hd(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 qd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Wd(e){let t=Id.exec(e)??xd.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=qd(n,r-1)}function zd(e){let t=Td.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Rd.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function zo(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Wd(t))return Number.NaN;let n=Date.parse(zd(t));return Number.isFinite(n)?n:Number.NaN}function kn(e){let t=zo(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Vd(e){let t=zo(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 ie(e,t,n){let r=jo(e.status,n)-jo(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=Gd(e.order,t.order);if(o!==0)return o;let s=Hd(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 vn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function xn(e,t,n=new Set,r="context"){return Io(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:vn({id:i.id,title:i.item.title}),summary:vn({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:vn(i.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(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.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 xt(e,t){return t>0?Math.round(e*100/t):0}function he(e){let t=new Map;for(let n of e){let r=In(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Le(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 i=Oe(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>$e(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=xt(s,o)}}return r}function Kd(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function Rt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Yd(e,t){return e.filter(n=>!t.terminal_statuses.has(I(n.item_status,t)))}function Xd(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=he(e),s=new Set(t.filter(d=>Tt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let l=Oe(d,o),u=o.get(d)??[],m=0,f=0,g=0,_=0;for(let w of l)$e(w.status,n)?m++:En(w.status,n)?g++:Pd(w.status,n)?_++:Wo(w.status,n)&&f++;let y=u.sort((w,S)=>ie(w,S,n)).slice(0,r).map(w=>{let S=Oe(w.id,o),b=S.filter(k=>$e(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:S.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:m,children_open:f,children_in_progress:g,children_blocked:_,children:y})}return a.sort((d,c)=>{let l=i.get(d.id),u=i.get(c.id);return ie(l,u,n)}).slice(0,r)}function Oe(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Qd(e,t){return(await vo({compact:!0,limit:String(e)},t)).compact_activity??[]}function Jd(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>Tt.has(d.type)),a=[];for(let d of s){let c=Oe(d.id,o),l=c.length;if(l===0)continue;let u=0,m=0,f=0,g=0;for(let _ of c)$e(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:En(_.status,r)?f++:Wo(_.status,r)&&m++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:m,in_progress:f,blocked:g,completion_pct:xt(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function Zd(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=xe(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function el(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function tl(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>En(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function nl(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function rl(e,t,n,r){return e.map(i=>({item:i,sortKey:kn(i.created_at)})).sort((i,o)=>{let s=E(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Le(i,t,n),created_at:i.created_at}))}function il(e,t,n,r){return e.filter(i=>!In(i.parent)&&!Tt.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>Le(i,t,n))}function ol(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function Uo(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Vo(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function sl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function al(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`${Uo(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Uo(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 Bo(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function cl(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 dl(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(`- ${al(n)}`);e.push("")}function ll(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=xt(n.children_closed,n.children_total);e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=xt(i.children_closed,i.children_total);e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function ul(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 ml(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${Vd(i.created_at)} ${Vo(i)}`);e.push("")}}function fl(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 pl(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 hl(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function gl(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 yl(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 _l(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 wl(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 bl(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 Op(e){let t=[],n=e.focus_fields,r=o=>n?sl(o,n):Vo(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),Bo(t,"High-level focus",e.high_level,"No high-level active items.",r),Bo(t,"Low-level focus",e.low_level,"No low-level active items.",r),cl(t,e,r),dl(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return ll(t,e),ul(t,e),ml(t,e,n,r),fl(t,e,r),pl(t,e),hl(t,e),gl(t,e),yl(t,e),_l(t,e),wl(t,e),bl(t,e),t.join(`
7
+ `)}async function vl(e,t){let n=R(process.cwd(),t.path),r=await $(n),i=r.context??Ar.context,o=P(r.schema),s=$d(e.depth,i),a=Fd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Od(e.section,s,i),activityLimit:Ld(e.activityLimit,i),staleThresholdDays:Nd(e.staleThreshold,i),parentScope:Bd(e.parent),focusFields:Dd(e.fields),baseListOptions:Ud(e)}}function kl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Sl(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function El(e,t){let n=await W(void 0,Sl(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!J(a.status,t.statusRegistry)),o=r,s=Cl(t.parentScope,r);return s&&(i=i.filter(a=>s.has(a.id.trim().toLowerCase())),o=o.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:i,allItems:o,fullCorpus:r,subtreeIds:s}}function Cl(e,t){if(e===void 0)return;let n=Cn(t,e);if(!n.found)throw new h(`Context --parent item not found: ${e}`,p.NOT_FOUND);return n.ids}function Il(e,t,n,r){let i=new Set(pt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Tt.has(o.type)||i.has(o.id)||Ce(o.type,r)!=="agent").map(o=>o.id))}async function xl(e,t,n,r,i,o,s,a,d,c,l,u,m,f,g,_){let y=[...e].sort((v,ve)=>ie(v,ve,i)),w=await rt({pmRoot:m,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),S=await Ct(y,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),b=await Et("context",S.candidates),k=b.ranked.map(v=>v.item),A=i.active_statuses,T=k.filter(v=>A.has(I(v.status,i))),D=u?Xr(T,c,l,v=>v.id):0,j=u?T.slice(D,D+s):T,We=u&&j.length>0&&D+j.length<T.length,ze=We&&j.length>0?Kr(l,j[j.length-1].id,D+j.length-1):void 0,Z=k.filter(v=>r.has(v.id.trim().toLowerCase())),be=new Set([...j.map(v=>v.id),...Z.filter(v=>!A.has(I(v.status,i))).slice(0,s).map(v=>v.id)]),se=xn({...b,ranked:b.ranked.filter(v=>be.has(v.id))},f,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),Y=se.included.map(v=>v.item),X=Y.filter(v=>A.has(I(v.status,i))),ae=Y.filter(v=>r.has(v.id.trim().toLowerCase())),ce=he(t),qt=kl(o)?ce:void 0,N=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),O=v=>{let ve=Le(v,i,qt);return r.has(v.id.trim().toLowerCase())&&(ve.blocked=!0,ve.blocker_ids=xe(v,N,i).filter(Wt=>!Wt.resolved).map(Wt=>Wt.id)),ve},Ir=Il(X,n,i,_),Xs=X.filter(v=>Ir.has(v.id)).slice(0,u?j.length:s).map(O),Qs=X.filter(v=>!Ir.has(v.id)).slice(0,u?j.length:s).map(O),xr=T.length===0;return{activeItems:X,blockedItems:ae,highLevel:Xs,lowLevel:Qs,blockedFallback:xr?ae.slice(0,s).map(O):[],blockedFallbackUsed:xr,ranking:b,packing:se,featureStore:S,pageExtras:{...u?{applied_limit:s}:{},...We?{has_more:!0,truncated:!0}:{},...ze?{next_cursor:ze}:{}}}}function Tl(e,t){return Ze("context",{pmRoot:t,options:Je(e,Ur)})}function Rl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Ho}async function Al(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await go(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Yd(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:o,agendaEvents:d,agendaSummary:Kd(a)}}function Ko(e,t,n){let r=String(t);return e.filter(i=>I(i.status,n)===r).length}async function Dl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=he(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Xd(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Qd(t.activityLimit,a):void 0,progress:l("progress")?Jd(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Zd(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?rl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?il(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?el(o.activeItems,t.limit):void 0,workload:l("workload")?tl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?nl(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?ol(o.activeItems):void 0}}function Fl(e,t,n){let r=L("canceled",t),i=e.filter(s=>t.active_statuses.has(I(s.status,t))),o=Ko(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>$e(s.status,t)).length,canceled:e.filter(s=>I(s.status,t)===r).length}}function Ml(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 $l(e,t){t&&(e.focus_fields=t,e.high_level=Me(e.high_level,t),e.low_level=Me(e.low_level,t),e.blocked_fallback=Me(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Me(e.recently_created,t)),e.unparented&&(e.unparented=Me(e.unparented,t)))}function Ol(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function Ll(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 Nl(e,t,n,r){try{let i=new Set(t.packing.included.map(d=>d.id)),o=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:i.has(d.id)})),s=new Set(o.map(d=>d.id));for(let d of tt(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await nt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e,a)}catch{e.warnings=Rt(e.warnings,["context_usage_feedback_write_failed"])}}async function Pl(e,t,n){if(e)return{};let r=(await jr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function jl(e,t){let n=fi(),r=await ci(e),i=n.instance||di(t);return io(r.semantic_attribution?.[i])}async function Lp(e,t){let n=R(process.cwd(),t.path),r=await vl(e,t),i=await El(t,r),o=Md(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Sn(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await jl(n,a),c=Pl(e.noExtensionHealth===!0,n,s.settings),l=Mi(i.fullCorpus,s.statusRegistry),u=await xl(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,M(),a,e.after,Tl(e,n),Rl(e,i.fullCorpus.length),n,s.tokenBudget,d,F(s.settings,C())),m=await Al(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),f=await It(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Rt(i.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],f.warnings),_=Ko(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await Dl({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:m.agenda.now,global:t}),S=Fl(i.allItems,s.statusRegistry,l),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??m.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:m.agendaSummary.events,...S},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=Lo(f,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ml(b,w,u.featureStore.warning_details),Ol(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Rn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=Tn(u.packing)),qr(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:I(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),$l(b,s.focusFields),Wr(b),g.length>0&&(b.warnings=g),Ll(b,u.activeItems,u.blockedItems),await Nl(b,u,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function Yo(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(Xt(r,"json"),Xt(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,m=d.length;for(;u<m;){let f=Math.ceil((u+m)/2);r.ready=d.slice(0,f),i()<=t?u=f:m=f-1}r.ready=d.slice(0,u),a=i()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=o-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]="f610c3be-8212-56de-86d4-2b5b9752b87c")}catch{}})();var Ul=["markdown","toon","json"],Bl=5,Gl=1440*60*1e3;function Hl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ul.includes(t))throw new h("Next format must be one of markdown|toon|json",p.USAGE);return t}function Xp(e,t){let n=Hl(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"toon"}function Xo(e,t,n){let r=q(e,t);return r===void 0||r<=0?n:r}function Ne(e,t,n,r){return{...Le(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function ql(e,t,n,r){let i=e.item,o=[],s=L("in_progress",t);return o.push(I(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(Wl(i.deadline,n)),o.push(Ie(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function Qo(e,t,n){let r=ee(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Qp={partitionCallerOwnedReady:Qo,resolveNextCallerAuthor:(e,t)=>Jo(e,t)};function Jp(e,t,n){let r=e.filter(i=>Ce(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Ce(i.item.type,n)!=="human"),decisions:t?[]:r}}function Wl(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/Gl);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function zl(e,t){let n=L("in_progress",t);return e.filter(r=>I(r.status,t)===n).length}function An(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Vl(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 At(e,t,n){return[...e].sort((r,i)=>{let o=An(r.item,t),s=An(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function Kl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:ql(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Yl(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 i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.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 Xl(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function Ql(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of tt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await nt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e.result,i)}catch{e.result.warnings=Rt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Jl(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=Yl(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Yo(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 Ql({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function Zl(e,t,n){if(!n)return e;let r=Cn(t,n);if(!r.found)throw new h(`Next --parent item not found: ${n}`,p.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function eu(e,t,n,r,i,o,s){let a=e.filter(f=>!An(f.item,t)),d=s||a.length===0?e:a,c=await rt({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await Ct(d.map(f=>f.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:c.affinity}),u=await Et("next",l.candidates),m=new Map(d.map(f=>[f.item.id,f]));return{projectedReady:u.ranked.map(f=>m.get(f.id)).filter(f=>f!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Jo(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Zp(e,t){let n=R(process.cwd(),t.path),r=await $(n),i=Jo(e,r.author_default),o=P(r.schema),s=F(r,C()),a=M(),d=Xo(e.limit,"--limit",Bl),c=Sn(e.tokenBudget,Math.max(192,d*128)),l=Xo(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",f=await W(void 0,Vl(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=Zl(f.items,g.items,m),y=g.items,w=pt(_,y,o,s),S=he(y),b=$i(w,o,e,s),k=Qo(b.ready,r.author_default,i),A=At(k.available,S,o),T=[...w.blocked].sort((N,O)=>ie(N.item,O.item,o)),{projectedReady:D,ranking:j,completedContainer:We,featureStore:ze}=await eu(A,S,o,a,i,n,e.includeContainers===!0),Z=D.map((N,O)=>Ne(N,o,S,O+1)),be=T.map((N,O)=>Ne(N,o,S,O+1)),se=At(b.decisions,S,o).map((N,O)=>Ne(N,o,S,O+1)),Y=At(b.gates,S,o).map((N,O)=>Ne(N,o,S,O+1)),X=At(w.containers,S,o).map((N,O)=>Ne(N,o,S,O+1)),ae=Kl({projectedReady:D,readyRows:Z,statusRegistry:o,now:a,completedContainer:We}),ce=Xl(se.length,k.held.length,Z.length,d)??{};Y.length>d&&(ce.gate_needed_total=Y.length),X.length>d&&(ce.containers_total=X.length);let qt={output_default:"toon",now:a,recommended:ae,ready:Z.slice(1,d+1),decision_needed:se.slice(0,d),gate_needed:Y.slice(0,d),containers:X.slice(0,d),blocked:u?[]:be.slice(0,l),held_by_others:k.held.slice(0,d),summary:{recommended:ae!==null,ready:Z.length,blocked:be.length,in_progress:zl(Z,o),candidates:w.active_count,containers:w.container_count,decision_needed:se.length,gate_needed:Y.length,held_by_others:k.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:m.length>0?m: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(ce).length>0?ce:void 0};return Jl({result:qt,recommended:ae,blockedRows:be,gateCount:Y.length,candidatesWarnings:f.warnings,corpusWarnings:g.warnings,readyRanking:j,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:c,featureStore:ze,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function eh(e){let t=["# pm next","",...tu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Pe(n,r.map(i=>`- ${je(i)}`),""));if(t.push(...Pe("Recommended",nu(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Pe("Decision needed",(e.decision_needed??[]).map(n=>`- ${je(n)}`),"No human-gated decisions.")),t.push(...Pe("Ready",e.ready.map(n=>`- ${je(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Pe("Blocked",e.blocked.map(n=>`- ${ru(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 tu(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 nu(e){return e?[`- ${je(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Pe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ru(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${je(e)} blocked_by:${t}`}function je(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]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var iu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],ou=["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 su(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function nh(e,t,n={}){let r=n.includePagination!==!1;return[t,...iu.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(su)||ou.some(i=>e?.[i]===!0)}function Zo(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]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var es=["parent","type","priority","status","assignee","tags","sprint","release"];function ns(e,t){let n=st(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function rs(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new h("Aggregate --sum and --avg must target the same numeric field",p.USAGE);let s=i??o;if(!t.includes(s))throw new h(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,p.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function is(e){let t=e?.trim()??"status";if(t.length===0)throw new h("--group-by requires at least one field name",p.USAGE);let n=Fi(t);if(n.length===0)throw new h("--group-by requires a comma-separated list of fields",p.USAGE);for(let r of n)if(!es.includes(r))throw new h(`Aggregate group fields must be one of ${es.join("|")}; received "${r}"`,p.USAGE);return n}function os(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 ss(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 os(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function as(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 Dt(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var au={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function ts(e,t){return t==null||t===""?au[e]:String(t)}function cu(e,t){return e.length===1?ts(e[0],t[e[0]]):e.map(n=>`${n}=${ts(n,t[n])}`).join(" | ")}function cs(e,t,n){for(let r of n){let i=as(e.group[r],t.group[r]);if(i!==0)return i}return 0}function ds(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function ls(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 du(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 lu(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function uu(e){e.accumulator.row.count+=1,e.includeCompletion&&Dn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&lu(e.accumulator,e.numericValue)}function mu(e,t,n,r){for(let i of t){let o=Dt(n,i),s=e.get(o);if(s){uu({...r,accumulator:s});continue}let a=du(i,r.numericValue);r.includeCompletion&&Dn(a,r.item.status,r.statusRegistry),e.set(o,a)}}function fu(e,t){let n={};for(let r of e)n[r]=ss(r,t);return n}function pu(e,t,n){let r=[fu(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[i]:d}))))}return r}function hu(e,t,n,r){let i={...e.row,group_label:cu(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=ls(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function gu(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 ch(e,t){if(e.count===!1)throw new h("Aggregate grouped counts are always enabled; omit count=false.",p.USAGE);let n=R(process.cwd(),t.path),r=await $(n),i=P(r.schema),o=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=is(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new h("Aggregate --set-mode must be element or tuple",p.USAGE);let d=ns(e.status,i),c=rs(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),l=e.completion===!0,u=e.includeUnparented===!0,m=await W(void 0,{...Zo(e),status:e.status,noTruncate:!0,strictRead:!0},t),f=new Map,g=0,_=0,y=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let A=c===null?null:ds(k,c.field),T=pu(s,k,a);mu(f,T,s,{item:k,statusRegistry:i,includeCompletion:l,numericAggregation:c,numericValue:A}),y+=T.length,_+=1}let w=[...f.values()].map(b=>hu(b,s,l,c)).sort((b,k)=>cs(b,k,s)),S=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...yu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:gu({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:M(),...S?{warnings:S}:{}}}function yu(e,t,n){let r=Zi(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>Dt(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new h("Aggregate --after cursor is absent from the current grouping; restart without --after.",p.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?Dt(t,o.at(-1).group):null}}var dh={buildGroupKey:Dt,compareAggregateRows:cs,compareNullableGroupValue:as,completionPct:ls,normalizeTagGroupValue:os,parseGroupBy:is,parseNumericAggregation:rs,parseStatus:ns,readNumericAggregateValue:ds,resolveGroupValue:ss,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]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var us=1e6,ms=20;function fs(e,t,n,r=ms){if(!Number.isSafeInteger(r)||r<0)throw new h("Child projection sample limit must be a non-negative integer.",p.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let y of t){if(a+=1,a>us)throw new h(`Child projection exceeded the ${us.toLocaleString("en-US")} item safety bound.`,p.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=zi(Wi(s,qi())),l=new Set(c.children_by_parent.get(i)??[]);for(let y of s)y.parent?.trim().toLowerCase()===i&&l.add(y.id.trim().toLowerCase());let u=[...l].map(y=>d.get(y)),m=0;for(let y of u){let w=y.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let f=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>f.length,_=r===0?ms:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([y],[w])=>y.localeCompare(w))),sample:f,sample_limit:r,truncated:g,next_offset:g?f.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${f.length} --limit ${_}`:null,scanned:a}}import{readdir as vu}from"node:fs/promises";import Mn 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]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var _u=new Set(["event","meeting","reminder"]);function wu(e){return _u.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Fn(e){if(!wu(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e2c03bb3-e603-579b-bb44-0b3757a00ea8")}catch{}})();var ku=new Set(["epic","feature","milestone","plan"]),Su=new Set(Object.keys(Rr).map(e=>e.toLowerCase()));function On(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Eu(e,t,n,r,i){let o=On(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Fn(e)?["schedule"]:[],...r&&Ie(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...d})=>Object.values(d).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function hs(e){let t=e.trim().toLowerCase();return t.length>0&&(ku.has(t)||!Su.has(t))}function ps(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Cu(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?ps(i):null,last_release:o?ps(o):null}}function Iu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(it.includes(t))return t;throw new h("Get --depth must be one of brief|standard|deep|full",p.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...it,"full"]}})}function xu(e,t,n){let r=On(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:_})=>({id:g,kind:_}))),t==="deep")return{...i,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:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:d,tests:c,docs:l,reminders:u,events:m,...f}=i;return{...f,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Tu(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 h("Get --fields requires a comma-separated list of field names",p.USAGE);return t}function Ft(e){return e.startsWith("item.")?e.slice(5):e}function Ru(e,t,n){if(e===null)return;let r=Yt(t),i=new Set(r),o=e.filter(s=>{let a=Ft(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new h(`Unknown get --fields value(s): ${o.join(", ")}`,p.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:ue(s),suggested_retry_args:s}})}}var Au=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Du(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Au.has(n)?[]:void 0}function Fu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:On(e)},i={id:e.id};for(let o of t){let s=Ft(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(i[s]=Du(n,r,s))}return i}function Ue(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function ge(e,t){return e.some(n=>{let r=Ft(n);return r===t||r.startsWith(`${t}.`)})}function Mu(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new h("Get projection options are mutually exclusive; remove the extra projection flag and retry.",p.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:ue(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new h("Get --tree-depth requires --tree",p.USAGE);if(e.at!==void 0&&e.tree===!0)throw new h("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",p.USAGE);return{depth:e.full?"deep":Iu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?q(e.treeDepth,"--tree-depth"):void 0,fields:Tu(e.fields),fieldProjection:e.fields!==void 0}}async function $u(e,t,n){let r=R(process.cwd(),t.path);await G(r);let i=await $(r),o=F(i,C());if(n!==void 0){let d=await Ji(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ne(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Ci(r,e,i.id_prefix,o.type_to_folder);let a=await re(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Ou(e,t,n,r){let i=Q(t.schema).definitions.map(o=>o.metadata_key);if(Ru(e,i,r),n&&ge(e??[],"children"))throw new h("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",p.USAGE);if(n&&ge(e??[],"blockers"))throw new h("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",p.USAGE)}function $n(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?Ue(r,i):ge(r,i):n!=="brief"}async function Lu(e,t){if(!t)return;let n=Xe(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return Cu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Nu(e,t,n,r){let i=r||Ue(n,"linked.files"),o=r||Ue(n,"linked.tests"),s=r||Ue(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Pu(e,t){if(!t)return;let n=P(e.settings.schema),r=await fe(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return fs(e.locatedId,r,n)}function ju(e,t){let n=new Map;for(let r of e){let i=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${i}`:`local:${i.toLowerCase()}`,{...r,id:i})}return[...n.values()]}async function Uu(e,t){let n=Mn.basename(e),r=(await vu(Mn.dirname(e)).catch(i=>{throw Xi("Cannot verify the blocker's physical file identity",{exitCode:p.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:i})})).filter(i=>i.toLowerCase()===n.toLowerCase()).sort((i,o)=>+(o===n)-+(i===n)||i.localeCompare(o)).map(i=>Mn.parse(i).name)[0];if(r===void 0)throw new h(`Blocker canonical file disappeared during identity verification: ${t}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function Bu(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?ge(n.fields,"blockers"):n.depth!=="brief"))return;let r=Ie(t.metadata);if(r.length===0)return;let i=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),o=new Map;for(let a of r){if(ri(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&ii(l.source_kind)))continue;let d=await ne(t.pmRoot,i.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(d===null)continue;let c=await re(d,{schema:t.settings.schema});if(d.id=await Uu(d.itemPath,d.id),c.document.metadata.id!==d.id)throw new h(`Blocker identity differs from its canonical file: ${d.id}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(a.toLowerCase(),c.document.metadata)}let s=ju(xe({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,P(t.settings.schema)),o);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...d})=>d),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function Gu(e,t,n,r){if(!r)return;let i=Fn(t.metadata);if(i){if(n===null||Ue(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Ft(s)===`schedule.${o}`)))}}async function Hu(e,t,n,r){if(t.tree!==!0)return;let i=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:i.count,items:i.items.map(o=>o)}}async function Lh(e,t,n={}){let r=Mu(n,e),i=await $u(e,t,n.at);Ou(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=$n({...r,field:"body"}),s=$n({...r,field:"linked"}),a=$n({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?ge(r.fields,"children"):r.depth==="deep"&&(r.full||hs(i.metadata.type))),c=r.fieldProjection?ge(r.fields,"schedule"):r.depth!=="brief",l=await Lu(i,a),u={item:r.fieldProjection?Fu(i.metadata,r.fields):xu(i.metadata,r.depth,r.full)};o&&(u.item.body=i.body),Nu(u,i,r.fields,s),l&&(u.claim_state=l),Gu(u,i,r.fields,c),await Bu(u,i,r);let m=await Pu(i,d);m!==void 0&&(u.children=m);let f=await Hu(i,n,r.treeDepth,t);if(f!==void 0&&(u.tree=f),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await ei({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return Hr(u,r.fieldProjection?[]:Eu(i.metadata,i.body,m,i.historical===void 0,r)),u}var Nh={shouldAutoIncludeGetChildren:hs};(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]="9c9c1249-e52a-5203-8a84-d54211c30202")}catch{}})();function qu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Wu(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=hi(n.patch);for(let s of o)i.add(Qt(s.path)),s.from&&i.add(Qt(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:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function zu(e){if(e[0]?.op!=="history_compact_baseline")return;let t=Jt(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function Vu(e,t){let n=R(process.cwd(),t.path);await G(n);let r=await $(n),i=F(r,C()),o=e.trim()===ot,s=o?ot:vi(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?wi(n):Xe(n,d);if(!a&&!await Fr(c))throw new h(`Item ${e} not found`,p.NOT_FOUND);return a&&await yi({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function Kh(e,t,n){let r=me(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await Vu(e,n),d=await te(i,s),c=zu(d),l=a.agent_identity.identity_vocabulary,u=_t(a.agent_identity.harness_signals),m=bt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),f=Ku(d).filter(({entry:T})=>m(T)),g=qu(f,r),_=g.map(({entry:T})=>T),y=t.compact===!0,w=y?Wu(g,c):void 0,S=t.provenance===!0?g.map(({entry:T,durableVersion:D})=>wt(T,l,{itemId:s,version:D})):void 0,b=t.provenance===!0?"provenance":y?"compact":"full",k={compact:{compact_history:w},provenance:{provenance_history:S},full:{history:_}}[b],A={id:s,...k,compact:y,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:Qe("history",b),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:vt(f.map(({entry:T})=>T),l,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=gi(d,{windowStartIndex:Math.max(0,d.length-_.length),field:t.field})),t.verify){let T=o?(await re(o,{schema:a.schema})).document:void 0;if(A.verification=Qi(d,T),s===ot&&A.verification.ok){let D=await bi(R(process.cwd(),n.path));A.verification={...A.verification,ok:D.ok,errors:D.ok?A.verification.errors:[...A.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:D.ok,workspace_state_mismatches:D.mismatched_documents,workspace_state_missing:D.missing_documents,workspace_state_unreadable:D.unreadable_documents}}}return A}function Ku(e){let t=Jt(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]="f7f0c9be-34c2-55fb-8676-de58e96c382f")}catch{}})();function Yu(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new h("Search mode must be one of keyword|semantic|hybrid",p.USAGE);return t}function Mt(e){return e===!0}function gs(e){return Lr(e,0,1)??void 0}function ys(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new h("Search --match-mode must be one of and|or|exact",p.USAGE);return t}function _s(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new h("Search --min-score must be a finite number >= 0",p.USAGE);return t}function oe(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function U(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Ln(e,t){if(e!==void 0)return H(e,new Date,t)}function Xu(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 h("Search --fields requires a comma-separated list of field names",p.USAGE);return[...new Set(t)]}function $t(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=Xu(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new h("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",p.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ue(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...ti]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Nn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=ni(t.definitions.flatMap(s=>[s.key,s.metadata_key])),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new h(`Unknown search --fields value(s): ${o.join(", ")}`,p.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:ue(s),suggested_retry_args:s}})}}function Ot(e){let t=U(e);if(!t)throw new h("Search query must not be empty",p.USAGE);return t.split(/\s+/u).filter(Boolean)}function Pn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Qu=["auto","keyword","semantic","hybrid"];function Ju(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Qu.includes(n)?n:"auto"}function jn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Yu(e.requested),source:"explicit"};let t=Ju(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Un(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Bn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Gn(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import Zu 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]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function Hn(e){return Ze("search",{pmRoot:e.pmRoot===void 0?void 0:Zu.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:Je(e.searchOptions,Br)})}function ws(e){let t=Qr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Hn(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]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function bs(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 em=[{optionKey:"status",summaryKey:"status",normalize:e=>bs(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:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return Yi(l,r,em),Object.assign(l,tn(r)),Object.assign(l,en(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function _e(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,m=f=>f??null;return{mode:t,match_mode:n,status:r.status===void 0||bs(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...tn(r),...en(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(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]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var tm=1.2,nm=.75;function qn(e){return le(e)}function rm(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function ks(e){let t=[],n=new Map,r=0;for(let o of e){let s=qn(o.text),a=rm(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function im(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Ss(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,im(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=l+n.k1*u;a+=c*(l*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function vs(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Es(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 Cs(e){let t=e?.search?.bm25;return{k1:vs(t?.k1,tm,0,1e3),b:vs(t?.b,nm,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]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var Wn=4,om=20,sm=200,am=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function zn(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function cm(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 dm(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 Is(e,t=Wn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=le(n);if(r.length===0)return[n];let i=r.filter(a=>!am.has(a.toLowerCase())),o=r.map(a=>cm(a)),s=i.map(a=>dm(a));return zn([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function xs(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?zn(t.filter(n=>typeof n=="string"),Wn):[]}function Ts(e,t,n){return zn([...e,...t],Math.max(1,n))}function Rs(e,t){let n=e.search?.query_expansion,r=ke(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:Wn}}function As(e,t){let n=e.search?.rerank,r=ke(n?.model),i=Or(n?.top_k)??om;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(sm,i)}}function Ds(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=ke(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function lm(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Fs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function um(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=lm(e,t),i=Fs(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function Ms(e,t,n,r,i){if(r.length===0)return new Map;let o=ke(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],d=await lt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=Fs(c),u=new Map;for(let m=0;m<r.length;m+=1){let f=r[m],g=d[m+1];if(!g)continue;let _=um(c,g,l);u.set(f.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]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}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 Be(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function Vn(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(" "),ut(t).join(" "),mt(t).join(" "),Be(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),ft(t)]}function Kn(e,t){return Vn(e).some(n=>U(n).includes(t))}function Yn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&U(r.metadata.title)!==t||n.phraseExact&&!Kn(r,t)))}function mm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null".',p.USAGE)}function fm(e,t,n){let r=Te(e.assignee,{label:"--assignee"});mm(r);let i=Vi(e),o=Ki(e);return{typeFilter:Ni(e.type,t),tagFilter:Te(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Pi(e.priority),deadlineBefore:Ln(e.deadlineBefore,"deadline-before"),deadlineAfter:Ln(e.deadlineAfter,"deadline-after"),updatedAfter:oe(e.updatedAfter,"updated-after"),updatedBefore:oe(e.updatedBefore,"updated-before"),createdAfter:oe(e.createdAfter,"created-after"),createdBefore:oe(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Te(e.sprint,{label:"--sprint"}),releaseFilter:Te(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:Ui(i),contentFieldFilters:o,contentFiltersActive:Gi(o)}}function pm(e,t){return hm(e,t)&&Zr(e,t)&&gm(e,t)}function hm(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 gm(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 ym(e,t,n,r){let i=e.metadata;return!(!pm(i,t)||!ct(i,n)||t.missingMetadataActive&&!Bi(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Hi(i,t.contentFieldFilters))}function Xn(e,t,n,r,i,o){let s=fm(t,n,i);return e.filter(a=>ym(a,s,r,o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var _m=2,wm=120,bm=6,vm=40,km=1e3,Sm=900,Em="\xAB",Cm="\xBB",$s=60;function Lt(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Os=[{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=>ut(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>mt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Be(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>ft(e.metadata)}],Im=new Map(Os.map(e=>[e.name,e]));function Qn(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${Em}${i}${Cm}`)}function Jn(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-$s),s=Math.min(e.length,r+i+$s),a=Qn(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function Nt(e,t,n){let r=[];for(let i of t){let o=Im.get(i);if(o===void 0)continue;let s=Jn(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function xm(e,t,n){return[...Os.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Tm(e,t,n){let r=U(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=U(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?km:Sm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Rm(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=Lt(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Am(e,t,n,r){U(e.title)===t&&(r.score+=wm,r.matched.add("title"));for(let i of n){let o=Lt(U(i.value),t);o>0&&(r.score+=o*i.weight*bm,r.matched.add(i.name))}}function Zn(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Tm(a,n,o);if(d)return d;let c=new Map;for(let g of le(a.title))c.set(g,(c.get(g)??0)+1);let l=xm(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Rm(t,c,l,i,u);let m=new Set(t),f=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&f&&(u.score+=vm),t.length>=_m&&n.includes(" ")&&Am(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,_)=>g.localeCompare(_)),matched_all_terms:f}}function er(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function tr(e,t,n,r,i,o,s,a=!1){return Zn(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ge(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-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]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function jt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function Ut(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=jt(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 nr(e,t){let n=Ut(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Ls(e){return e?.commands?.some(t=>t.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 rr(e,t,n){try{let r=await Di(e);r.warnings.length>0&&n.push(...r.warnings);let i=to(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Ls(C());n.push(...Ns(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.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 Ns(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 Bt(e,t,n,r){if(!t.active)throw new h(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,p.USAGE);if(!n.active&&!r)throw new h(`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`,p.USAGE);return{provider:t.active,vectorStore:n.active??null}}var B=Ye;function He(e){let t=C(),n=oi(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=B(r.name)??B(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function ir(e){let t=B(e.search?.provider),n=He(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function or(e){let t=C(),n=B(e.vector_store?.adapter),r=si(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:B(i.name)??B(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function sr(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new h(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,p.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=B(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(m=>typeof m=="string")?[...new Set(l.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,f)=>m.localeCompare(f)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function ar(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Pt(e,t){let n=t.filter(d=>d.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(d=>d.item.id)),i=e.filter(d=>!r.has(d.item.id)),o=i.reduce((d,c)=>Math.max(d,c.score),0),s=n.sort((d,c)=>c.score-d.score),a=o+s.length+1;return[...s.map((d,c)=>({...d,score:a-c,matched_fields:["id"]})),...i]}function Gt(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Ge(t),d=Ge(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let m=e.get(u),f=a.get(u)??0,g=d.get(u)??0,_=f*r+g*l;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(i);for(let w of s.get(u)??[])y.add(w);return{item:m.metadata,score:_,matched_fields:[...y].sort((w,S)=>w.localeCompare(S))}}).filter(u=>u!==null)}function cr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function dr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Es(Ri(s,{fields:e.corpusFields}))})),n=ks(t),r=Ss(n,qn(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return Pt(s,e.keywordHits)}let o=Gt(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Pt(o,e.keywordHits)}function lr(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function ur(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 Dm(e,t){let n=e.queryExpansion.enabled?Is(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Ts(r,xs(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function Fm(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new h(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,p.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Zt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Zt(e.vectorStore,t,n,r);throw new h("Semantic search requires either a configured vector store or an extension vector adapter query handler",p.USAGE)}function Mm(e,t,n){return[...e].sort((r,i)=>r.score!==i.score?i.score-r.score:r.item.id.localeCompare(i.item.id)).slice(0,n).map(r=>{let i=t.get(r.item.id);return i?{hit:r,text:ur(i)}:null}).filter(r=>r!==null)}async function $m(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Ds(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function Om(e,t,n){let r=await $m(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Ms(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Lm(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function Nm(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=Mm(n,r,e.rerank.top_k),o=await Om(e,t,i);return o&&o.size>0?Lm(n,o):n}async function mr(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await Dm(e,i),s=await lt(e.provider,o,n),a=await Promise.all(s.map(async g=>await Fm(e,g,t,r))),d=lr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=ar(d,c),m=u.size;if(e.requestedMode==="semantic")return{hits:Pt(l,e.keywordHits),vectorMatchCount:m};let f=await Nm(e,i,Gt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Pt(f,e.keywordHits),vectorMatchCount:m}}function Ps(e){let t=He(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function js(e){let t=He(B(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Ht from"node:fs/promises";import fr 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]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function pr(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function Us(e){let t=fr.resolve(e);try{let n=await Ht.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function hr(e,t){let[n,r]=await Promise.all([Us(e),Us(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function gr(e,t){let n=pr(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=fr.resolve(o.resolved,i.path);if(!Vt(o.resolved,s))continue;let a;try{a=await Ht.realpath(s)}catch{continue}if(Vt(o.realpath,a))try{await Se({path:s,scope:i.scope}),r.push(await Ht.readFile(s,"utf8"))}catch{}}return r.join(`
11
+ `)}async function yr(e,t,n,r){let i=Dr(C()),o=async(c,l,u)=>{let m=async(f,g)=>{await Se({path:f,scope:"project"});let _=await Ht.readFile(f,"utf8");return ai(_,{format:g,schema:r,extensionFieldNames:i,onWarning:y=>s.push(y)}).body};try{return await m(l,u)}catch{let f=u==="toon"?"json_markdown":"toon",g=Kt(e,c.type,c.id,f,n);try{return await m(g,f)}catch{return s.push(`item_list_item_read_failed:${fr.relative(e,g)}`),""}}},s=[],a=await Si(e,t,n,s,r),d=[];if(a.length===0){let c=await Ei(e,t,n,s,r);for(let l of c){let u=Kt(e,l.type,l.id,t,n),m=await o(l,u,t);d.push({metadata:l,body:m})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function Bs(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await hr(i,Nr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await gr(a,o)]));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]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var Gs=["tag","status","type","priority"];function _r(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=Gs.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function wr(e,t,n){let r={...e};for(let i of Gs){let o=t[i];if(o!==void 0){if(Ye(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Hs(e,t){let n=[],r=_r(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new h("Inline field:value tokens consumed the entire query, leaving no search terms.",p.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=wr(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Mt(s.includeLinked),titleExact:Mt(s.titleExact),phraseExact:Mt(s.phraseExact),matchMode:ys(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:_s(s.minScore),countOnly:s.count===!0,tokens:Ot(o),normalizedQuery:U(o),limit:me(s.limit),projection:$t(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function qs(e){if(e.after!==void 0&&e.count===!0)throw new h("Search --after cannot be combined with --count.",p.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]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function vr(e,t,n,r,i,o,s,a,d,c,l,u,m,f){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let y=ye({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Cr(f),items:[],count:0,...g,filters:y,...l.length>0?{warnings:l}:{}}}let _=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:f,items:[],count:0,...g,filters:_e({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:_},now:M(),...l.length>0?{warnings:l}:{}}}function kr(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Sr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=kr(n,i);return r})}function Er(e,t){return vr(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 Ws(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return br({query:e.query.trim(),mode:e.effectiveMode,...Cr(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 br({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 Cr(e){return e==="settings"?{mode_source:e}:{}}function br(e,t){return t.length===0?e:{...e,warnings:t}}function qe(e,t){return t?{...e,workspace_memory:t}:e}function zs(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:Nt(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Vs(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return br({query:e.query.trim(),mode:e.effectiveMode,...Cr(e.modeSource),items:t,count:t.length,...s,...o,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=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...o,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:i.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]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var qy={applyFilters:Xn,applyExactQueryFilters:Yn,applyInlineQueryFilters:wr,buildHitHighlights:Nt,buildVerboseSearchFilters:_e,buildExplicitSemanticFallbackWarning:nr,buildCompactSearchFilterSummary:ye,buildHybridLexicalScore:tr,buildRerankCorpus:ur,buildSemanticHits:ar,classifyImplicitSemanticFallbackReason:Ut,collectErrorCauseCodes:jt,collectExactPhraseFields:Vn,collectLinkedPaths:pr,combineHybridHits:Gt,computeBuiltInBm25Hits:dr,computeSemanticOrHybridHits:mr,resolveBuiltInBm25Mode:cr,countOccurrences:Lt,dependencyEntries:Be,documentContainsExactPhrase:Kn,emptySearchResult:vr,highlightFieldSnippet:Jn,loadDocuments:yr,markTokenRuns:Qn,parseInlineQueryFilters:_r,maybeEmitVectorIndexStaleWarning:rr,loadLinkedCorpus:gr,mergeVectorHitsById:lr,normalizeExtensionProviderHits:sr,normalizeScoreMap:Ge,parseProjectionConfig:$t,parseTimestampWindow:oe,parseTokens:Ot,projectSearchHits:Sr,readSearchFieldValue:kr,requireSemanticDependencies:Bt,resolveExtensionSearchProvider:ir,resolveExtensionSearchProviderByName:He,resolveExtensionVectorAdapter:or,resolveLinkedCorpusRoots:hr,scoreDocument:Zn,sortHits:er,stringArray:we,textEntries:K,validateSearchProjectionFields:Nn};async function Pm(e,t){let n=R(process.cwd(),t.path);await G(n);let r=await $(n),i=ki(r).settings,o=P(i.schema),s=Q(i.schema);Nn(e.projection,s,e.query);let a=at(e.options,s,"search"),d=F(i,C()),c=xi(i),l=Ai(i,n),u=ir(i),m=or(i),f=gs(e.options.semanticWeight),g=Rs(i,c.active?.name??null),_=As(i,c.active?.model??B(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Pn(i),scoreThreshold:e.minScoreOverride??Un(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:f,hybridSemanticWeight:f??Bn(i),tuning:Gn(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:cr({configuredProvider:B(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ps(g),rerank:_,rerankExtension:js(i),...jm({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function jm(e){let t=Ii(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=jn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function Um(e,t){let n=await yr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=st(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=ji(t.statusRegistry),o=Xn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Yn(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Bm(e,t,n){let r=await Bs(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>tr(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function Gm(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=dr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Ti(t.settings),bm25Params:Cs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function Hm(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return sr(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new h(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,p.GENERIC_FAILURE);return null}}function qm(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 Wm(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await rr(e.pmRoot,n,r),e.extensionSearchProvider||Bt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function zm(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await Gm(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await Wm(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Hm(t,n,r,l)??a,a===i){let{provider:u,vectorStore:m}=Bt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),f=await mr({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=qm(c,f,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(nr(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function Ks(e){e.searchOptions.after!==void 0&&Yr(e.searchOptions.after,Hn(e))}async function Wy(e,t,n){qs(t);let r=Hs(e,t),i=await Pm(r,n),o=await Um(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await It(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:M()});s.push(...a.warnings);let d=No(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ks({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),qe(Er({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await Bm(r,i,o.filteredDocuments),u=await zm({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ks({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),qe(Er({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),f=er(m,i.statusRegistry),g=f.length,_=ws({pmRoot:i.pmRoot,sorted:f,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return qe(Ws(y,g),d);let{hits:w,projection:S}=zs(r,o.filteredDocuments,_.limited),b=Sr(w,S);return qe(Vs(y,b,g,_.limited.length,S,_.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var Ys=["ndcg","mrr","precision","recall"];function Vm(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!Ys.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function Vy(e,t){let n=Vm(t),r=[];for(let i of Ys){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{Js as a,nn as b,Ym as c,oa as d,sa as e,Xm as f,ef as g,nh as h,ro as i,af as j,cf as k,df as l,lf as m,io as n,yf as o,_f as p,wf as q,go as r,_t as s,ec as t,wt as u,vt as v,$f as w,vo as x,hn as y,St as z,Dc as A,Co as B,Lc as C,Et as D,Nc as E,Pc as F,Gc as G,Hc as H,Wf as I,qc as J,Io as K,gn as L,yn as M,ed as N,sd as O,np as P,_n as Q,wn as R,Ct as S,ud as T,hd as U,It as V,kd as W,Lo as X,Sd as Y,No as Z,Ed as _,Dd as $,Me as aa,$p as ba,Sn as ca,$d as da,Od as ea,Cn as fa,ie as ga,xn as ha,Tn as ia,Rn as ja,he as ka,Le as la,Rt as ma,Op as na,Ol as oa,Lp as pa,Ul as qa,Xp as ra,Qp as sa,Jp as ta,Zp as ua,eh as va,ch as wa,dh as xa,us as ya,ms as za,fs as Aa,Lh as Ba,Nh as Ca,Kh as Da,Pn as Ea,jn as Fa,Un as Ga,Bn as Ha,Gn as Ia,Hn as Ja,ws as Ka,ye as La,_e as Ma,jt as Na,Ut as Oa,Ls as Pa,Ns as Qa,qy as Ra,Wy as Sa,Ys as Ta,Vm as Ua,Vy as Va};
12
+ //# sourceMappingURL=chunk-7UD7XTOE.js.map