@unbrained/pm-cli 2026.9.19 → 2026.9.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 (149) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +954 -924
  3. package/dist/cli/main.d.ts +10 -76
  4. package/dist/cli/main.js +1 -2
  5. package/dist/cli/register-operations.js +1 -1
  6. package/dist/cli/runtime/activation.d.ts +51 -0
  7. package/dist/cli/runtime/activation.js +2 -0
  8. package/dist/cli/runtime/invocation-options.d.ts +41 -0
  9. package/dist/cli/runtime/invocation-options.js +2 -0
  10. package/dist/cli/runtime/selection.d.ts +29 -0
  11. package/dist/cli/runtime/selection.js +2 -0
  12. package/dist/cli/runtime/telemetry-outcome.d.ts +20 -0
  13. package/dist/cli/runtime/telemetry-outcome.js +2 -0
  14. package/dist/cli-bundle/bundle-manifest.json +150 -150
  15. package/dist/cli-bundle/chunks/{chunk-QA4GUEKJ.js → chunk-2QLXN6HZ.js} +46 -46
  16. package/dist/cli-bundle/chunks/chunk-2UNYUB4A.js +2 -0
  17. package/dist/cli-bundle/chunks/chunk-4SI67A2F.js +8 -0
  18. package/dist/cli-bundle/chunks/chunk-7YUYLYJQ.js +6 -0
  19. package/dist/cli-bundle/chunks/{chunk-7CN53F4S.js → chunk-FBWAECBI.js} +3 -3
  20. package/dist/cli-bundle/chunks/chunk-GRHSNUQO.js +20 -0
  21. package/dist/cli-bundle/chunks/chunk-HAFSMFJK.js +3 -0
  22. package/dist/cli-bundle/chunks/chunk-JBJUOOJI.js +238 -0
  23. package/dist/cli-bundle/chunks/chunk-K7RWRJLT.js +29 -0
  24. package/dist/cli-bundle/chunks/chunk-NHRB3L5T.js +2 -0
  25. package/dist/cli-bundle/chunks/{chunk-CCLWCESZ.js → chunk-QZTS23BV.js} +2 -2
  26. package/dist/cli-bundle/chunks/{chunk-K4VAU4HU.js → chunk-SDLBF4PY.js} +1252 -1252
  27. package/dist/cli-bundle/chunks/{register-list-query-RMZNHSII.js → register-list-query-5V43MYPN.js} +6 -6
  28. package/dist/cli-bundle/chunks/{register-mutation-HJGSGX3H.js → register-mutation-DXES37MA.js} +4 -4
  29. package/dist/cli-bundle/chunks/register-operations-LJU5H2CU.js +2 -0
  30. package/dist/cli-bundle/chunks/register-setup-HJUNGYBB.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-3XPBKIV6.js +12 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-7Y7PAC56.js → chunk-5BLRMUMK.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-5SZ4JSPZ.js → chunk-6MNKQKT6.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-IKPR4VVN.js → chunk-DPBTIFW7.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-J3GN4SQT.js → chunk-DRNXMOSV.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-P4BA7OX7.js → chunk-FXAZPSU6.js} +7 -7
  37. package/dist/cli-bundle/focused-chunks/{chunk-ARK4FIO4.js → chunk-HYPK5OPA.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-I4WDON3K.js → chunk-IA5CCSBB.js} +2 -2
  39. package/dist/cli-bundle/focused-chunks/{chunk-CJ4QA4RW.js → chunk-ISEOBALS.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-ZI2YBJFH.js → chunk-K5ZCBC6Y.js} +3 -3
  41. package/dist/cli-bundle/focused-chunks/{chunk-V3YMNAO7.js → chunk-L6L4XCLY.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/{chunk-TDHVROGL.js → chunk-N6KI3LWF.js} +2 -2
  43. package/dist/cli-bundle/focused-chunks/chunk-PC6ZZVNP.js +20 -0
  44. package/dist/cli-bundle/focused-chunks/chunk-RQL5WLNZ.js +30 -0
  45. package/dist/cli-bundle/focused-chunks/{chunk-ZDBKYZFE.js → chunk-U2SB2BMM.js} +2 -2
  46. package/dist/cli-bundle/focused-chunks/{chunk-YDFEWXXZ.js → chunk-UIS5FVHH.js} +53 -53
  47. package/dist/cli-bundle/main.js +26 -27
  48. package/dist/cli-bundle/sdk-authoring.js +1 -1
  49. package/dist/cli-bundle/sdk-contracts.js +1 -1
  50. package/dist/cli-bundle/sdk-core.js +39 -39
  51. package/dist/cli-bundle/sdk-governance.js +1 -1
  52. package/dist/cli-bundle/sdk-graph.js +1 -1
  53. package/dist/cli-bundle/sdk-merge.js +42 -42
  54. package/dist/cli-bundle/sdk-query.js +1 -1
  55. package/dist/cli-bundle/sdk-runtime.js +1 -1
  56. package/dist/cli-bundle/sdk-testing.js +1 -1
  57. package/dist/cli-bundle/sdk.js +8 -8
  58. package/dist/core/diagnostics/remediation.js +1 -1
  59. package/dist/core/extensions/extension-types.d.ts +2 -2
  60. package/dist/core/extensions/loader.d.ts +9 -15
  61. package/dist/core/extensions/loader.js +1 -1
  62. package/dist/core/extensions/manifest-parser.d.ts +5 -0
  63. package/dist/core/extensions/manifest-parser.js +2 -0
  64. package/dist/core/extensions/registration-contracts.d.ts +34 -0
  65. package/dist/core/extensions/registration-contracts.js +2 -0
  66. package/dist/core/governance/issue-codes.d.ts +10 -1
  67. package/dist/core/governance/issue-codes.js +1 -1
  68. package/dist/core/validate/fix-planning.d.ts +3 -3
  69. package/dist/core/validate/fix-planning.js +1 -1
  70. package/dist/sdk/agent/refusal-reachability.d.ts +1 -1
  71. package/dist/sdk/completion/bash.d.ts +3 -0
  72. package/dist/sdk/completion/bash.js +2 -0
  73. package/dist/sdk/completion/fish.d.ts +3 -0
  74. package/dist/sdk/completion/fish.js +1054 -0
  75. package/dist/sdk/completion/shared.d.ts +103 -0
  76. package/dist/sdk/completion/shared.js +2 -0
  77. package/dist/sdk/completion/zsh.d.ts +3 -0
  78. package/dist/sdk/completion/zsh.js +1109 -0
  79. package/dist/sdk/completion.d.ts +5 -30
  80. package/dist/sdk/completion.js +1 -2160
  81. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  82. package/dist/sdk/governance/closure-timestamps.d.ts +32 -0
  83. package/dist/sdk/governance/closure-timestamps.js +2 -0
  84. package/dist/sdk/governance/validate-normalization.d.ts +2 -0
  85. package/dist/sdk/governance/validate-normalization.js +1 -1
  86. package/dist/sdk/governance/validate.js +1 -1
  87. package/dist/sdk/governance.d.ts +1 -0
  88. package/dist/sdk/governance.js +1 -1
  89. package/dist/sdk/public-surface.json +1 -1
  90. package/dist/sdk/query/search/corpus.d.ts +27 -0
  91. package/dist/sdk/query/search/corpus.js +2 -0
  92. package/dist/sdk/query/search/filters.d.ts +27 -0
  93. package/dist/sdk/query/search/filters.js +2 -0
  94. package/dist/sdk/query/search/input.d.ts +28 -0
  95. package/dist/sdk/query/search/input.js +2 -0
  96. package/dist/sdk/query/search/lexical.d.ts +34 -0
  97. package/dist/sdk/query/search/lexical.js +2 -0
  98. package/dist/sdk/query/search/response.d.ts +34 -0
  99. package/dist/sdk/query/search/response.js +2 -0
  100. package/dist/sdk/query/search/semantic.d.ts +229 -0
  101. package/dist/sdk/query/search/semantic.js +3 -0
  102. package/dist/sdk/query/search/types.d.ts +123 -0
  103. package/dist/sdk/query/search/types.js +2 -0
  104. package/dist/sdk/query/search.d.ts +13 -364
  105. package/dist/sdk/query/search.js +1 -2
  106. package/dist/sdk/runtime/actions.d.ts +4 -0
  107. package/dist/sdk/runtime/actions.js +2 -0
  108. package/dist/sdk/runtime/context.d.ts +38 -0
  109. package/dist/sdk/runtime/context.js +2 -0
  110. package/dist/sdk/runtime/schema.d.ts +4 -0
  111. package/dist/sdk/runtime/schema.js +2 -0
  112. package/dist/sdk/runtime.d.ts +90 -95
  113. package/dist/sdk/runtime.js +1 -1
  114. package/docs/ARCHITECTURE.md +68 -0
  115. package/docs/HISTORY_GOVERNANCE_REPAIR.md +66 -0
  116. package/docs/README.md +2 -0
  117. package/docs/VALIDATION_PORTABILITY.md +82 -0
  118. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  119. package/marketplace.json +2 -2
  120. package/package.json +6 -6
  121. package/packages/pm-beads/package.json +1 -1
  122. package/packages/pm-calendar/package.json +1 -1
  123. package/packages/pm-command-kit/package.json +1 -1
  124. package/packages/pm-digital-twin/package.json +1 -1
  125. package/packages/pm-governance-audit/package.json +1 -1
  126. package/packages/pm-guide-shell/extensions/guide-shell/runtime.ts +23 -17
  127. package/packages/pm-guide-shell/package.json +1 -1
  128. package/packages/pm-kanban/package.json +1 -1
  129. package/packages/pm-lifecycle-hooks/package.json +1 -1
  130. package/packages/pm-linked-test-adapters/package.json +1 -1
  131. package/packages/pm-search-advanced/package.json +1 -1
  132. package/packages/pm-templates/package.json +1 -1
  133. package/packages/pm-todos/package.json +1 -1
  134. package/packages/pm-vcs/package.json +1 -1
  135. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  136. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  137. package/dist/cli-bundle/chunks/chunk-AACGU5IA.js +0 -3
  138. package/dist/cli-bundle/chunks/chunk-J7NP7QLW.js +0 -6
  139. package/dist/cli-bundle/chunks/chunk-KHN4NMKT.js +0 -238
  140. package/dist/cli-bundle/chunks/chunk-KYG2QKNY.js +0 -29
  141. package/dist/cli-bundle/chunks/chunk-OQS2Y6VN.js +0 -2
  142. package/dist/cli-bundle/chunks/chunk-QTHR3LXF.js +0 -20
  143. package/dist/cli-bundle/chunks/chunk-RVMDPIGD.js +0 -2
  144. package/dist/cli-bundle/chunks/chunk-WASMH647.js +0 -8
  145. package/dist/cli-bundle/chunks/register-operations-LBEMFUMM.js +0 -2
  146. package/dist/cli-bundle/chunks/register-setup-MU557JAA.js +0 -2
  147. package/dist/cli-bundle/focused-chunks/chunk-I32L3FWW.js +0 -12
  148. package/dist/cli-bundle/focused-chunks/chunk-OOZHQFBF.js +0 -20
  149. package/dist/cli-bundle/focused-chunks/chunk-QL4MO5M2.js +0 -30
@@ -1,12 +0,0 @@
1
- import{$ as Ut,$a as po,Aa as me,F as Pt,G as Wr,Ja as Jr,P as Je,R as fe,Ra as G,S as Ze,Sa as Zr,T as et,Ta as eo,U as qr,Ua as io,W as zr,Wa as Se,X as Kr,Xa as lo,Y as tt,Ya as uo,Z as Vr,Za as fo,_ as jt,_a as mo,aa as Ht,b as Hr,ba as Yr,cb as ho,db as go,fa as Xr,fb as _o,ga as Bt,gb as yo,h as Br,i as Gr,jb as vo,kb as Wt,lb as qt,mb as W,pa as Qr,sb as wo}from"./chunk-OOZHQFBF.js";import{e as $t,f as Ot,g as Lt,h as Nt}from"./chunk-I4WDON3K.js";import{Na as ir,Va as sr}from"./chunk-J3GN4SQT.js";import{$ as B,$a as $r,Aa as Ir,C as ee,Ca as Ar,Cb as Ur,G as br,Ha as Xe,Ia as Rr,Ja as Fr,Kb as to,Lb as no,Ob as ro,S as L,Sa as D,T as R,U as Q,Wa as Dr,X as kr,Ya as be,Za as Mr,ab as Or,ac as oo,e as hr,ea as Sr,f as gr,fc as ke,g as _r,h as yr,hc as so,i as vr,ib as Lr,jb as Nr,kc as Gt,lc as ao,m as we,mc as co,na as Er,nc as nt,oa as Cr,pa as xr,qb as Qe,sb as Pr,ub as j,v as wr,vb as de,wb as le,ya as Tr,yb as jr,zb as ue}from"./chunk-P4BA7OX7.js";import{b as Xn,n as P,p as X}from"./chunk-TDHVROGL.js";import{$ as m,$c as Ge,Aa as F,Ae as Mt,Ga as C,H as ae,Ia as er,Jc as x,Ka as Ft,M as At,Ma as Be,N as Ue,Oc as ve,Pa as ye,Qa as Dt,Sc as ar,Sd as O,V as Vn,Va as tr,Vd as fr,Wa as nr,Wd as E,Xd as mr,Yc as ce,Yd as H,Z as Yn,Zc as cr,aa as p,bd as We,cd as qe,ce as ze,dd as dr,ee as Ke,ge as Ve,hd as lr,i as Kn,id as ur,ja as Qn,je as pr,ka as He,ke as Ye,la as Jn,na as Zn,pb as rr,qa as Rt,xb as or}from"./chunk-QL4MO5M2.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f6e02611-4b44-5aa3-b762-9fd984aa12bc")}catch{}})();var Us=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],zt=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 qf(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function T(e,t,n,r){t&&e.push({code:n,message:r})}function Hs(e,t){let n=q(e.completeness)?e.completeness:{};T(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),T(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;T(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),T(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=q(e.filters)?e.filters:{},s=q(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return T(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),T(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),T(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function Bs(e,t,n){T(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."),T(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=q(e.projection)?e.projection:{};T(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=q(e.omission_receipt)?e.omission_receipt:void 0;T(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),T(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),T(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Gs(e){return e.contract_version!==1||e.command!=="list"||e.within_budget!==!0||e.strings_compacted!==!1||e.rows_compacted!==!1||e.result_omitted!==!1}function Ws(e){if(!Array.isArray(e.requested_dimensions))return!1;let t=new Set(e.requested_dimensions);return["include","amount","cost"].every(n=>t.has(n))}function qs(e,t){let n=q(e.read_output)?e.read_output:void 0;T(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),T(t,n!==void 0&&Gs(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),T(t,n!==void 0&&!Ws(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),T(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=q(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;T(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),T(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function zs(e,t){let n=e.map(r=>q(r)&&typeof r.id=="string"?r.id.trim():"");T(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),T(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ks(e){if(!q(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Us[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Hs(t,n);return Bs(t,r,n),qs(t,n),zs(t.items,n),{ok:n.length===0,findings:n}}function Vs(e){let t=Ks(e);if(!t.ok)throw new zt(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 zf(e){Vs(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b6ef0b23-e861-50ec-b7b3-751863936631")}catch{}})();function bo(e,t){let n=Ar(e),r=e.length>0?e[e.length-1].after_hash:xr(),o=t===void 0||n.item_hash_version===void 0?void 0:Cr(t,n.item_hash_version,br(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Er(t):o[Math.max(0,o.indexOf(r))],s=i===void 0?void 0:i===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function ko(e,t,n={}){let r=C(n.cwd??process.cwd(),n.pmRoot);await j(r);let o=await D(r),i=F(o,x()),s=await Hr(r,e,o,i.type_to_folder),a=await B(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=Mr(t,a),c=Or($r(a,d.historyIndex),d),l=Tr(c,{schema:o.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex],f=be(a,!0);return{document:l,reconstructed:!0,as_of_version:f===null?null:f+d.historyIndex+1,as_of_timestamp:u.ts,target:d,history_length:a.length}}import Xs from"node:fs/promises";import xo from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="94a81e04-bb02-5c2e-9362-4cf7212d66e6")}catch{}})();var Kt={version:1,aliases:{}};function rt(e=[]){let t=new Set(we),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let o of Object.keys(r.provenance_environment_keys??{}))n(o);for(let o of Object.keys(r.provenance_resolvers??{}))n(o);for(let o of r.provenance_unavailable_dimensions??[])n(o)}return[...t].sort()}function So(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function Vt(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 Ys(e,t=we){let n=new Set(t),r=new Map,o=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let i of o.flatMap(s=>s.split(","))){let s=i.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),d=i.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${i.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function ot(e,t=Kt,n={}){let r=Vt(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 it(e,t=Kt,n=we){let r=So(e.harness),o=So(e.agentInstance),i=Ys(e,n);return s=>{let d=Vt(s,t).agent_harness;if(r&&(!d||!r.has(d))||o&&!o.has(s.agent_instance??""))return!1;for(let[c,l]of i){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function st(e,t=Kt,n=we){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);Vt(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03488490-bc4a-5988-9ceb-46800c6d7833")}catch{}})();var Qs=20,Js=5,Zs=15,ea="-24h";function xm(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 ta={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Yt(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function Eo(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(o,new Date(t),n)}function na(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function Co(e,t){return t===void 0?e:e.slice(0,t)}function Ee(e,t=""){return typeof e=="string"?e:t}function ra(e,t){return{...t,id:e,ts:Ee(t.ts),author:Ee(t.author,"unknown"),op:Ee(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ee(t.before_hash),after_hash:Ee(t.after_hash)}}function oa(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function ia(e){try{return(await Xs.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Jn(t))return[];throw t}}function sa(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 aa(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Zs:n==="compact"?Qs:Js}function ca(e,t){let n=O(),r=t==="digest",o=Eo(e.to??(r?n:void 0),n,"--to"),i=Eo(e.from??(r?ea:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=fe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:Yt(e.id,"Activity --id"),op:Yt(e.op,"Activity --op"),author:Yt(e.author,"Activity --author"),from:i,to:o,limit:aa(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function da(e){let t=C(process.cwd(),e.path);return await j(t),{pmRoot:t,settings:await D(t)}}async function la(e){let t=F(e.settings,x()),n=await ue(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Nr({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=xo.join(e.pmRoot,"history");return await ve({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function ua(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:na(t,n.from,n.to)}async function fa(e,t){let n=[];for(let r of await ia(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await B(xo.join(e,r),o);for(let s of i){let a=ra(o,s);ua(s,a,t)&&n.push(a)}}return n}function ma(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function pa(e){let t=[...e.entries()].sort(([r,o],[i,s])=>s-o||r.localeCompare(i)),n=t.slice(0,4).map(([r,o])=>`${r}:${o}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function ha(e,t){let n=new Map;for(let r of e){let o=n.get(r.id);if(o===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}o.eventCount+=1,E(r.ts,o.firstTs)<0&&(o.firstTs=r.ts),E(r.ts,o.lastTs)>0&&(o.lastTs=r.ts),o.operations.set(r.op,(o.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,o])=>{let i=t.get(r);return{id:r,type:i?.type??"unknown",status:i?.status??"unknown",title:(i?.title??"(item metadata unavailable)").slice(0,160),event_count:o.eventCount,first_ts:o.firstTs,last_ts:o.lastTs,operations:pa(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function ga(e){let t=new Map;for(let o of e)t.set(o.op,(t.get(o.op)??0)+1);let n=[...t.entries()].sort((o,i)=>i[1]-o[1]||o[0].localeCompare(i[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((o,[,i])=>o+i,0)]),Object.fromEntries(r)}function _a(e,t,n,r,o){if(e==="digest"){let s=ha(t,r),a=Co(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=Co(t,n);return e==="compact"?{rows:{compact_activity:ma(i)},compact:!0,totalRows:t.length,returnedRows:i.length}:e==="provenance"?{rows:{provenance_activity:i.map(o)},compact:!1,totalRows:t.length,returnedRows:i.length}:{rows:{activity:i},compact:!1,totalRows:t.length,returnedRows:i.length}}async function To(e,t){let n=await da(t),r=sa(e),o=ca(e,r),i=await la(n),s=rt(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=it({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=oa(await fa(i.historyDir,o)).filter(d),l=_a(r,c,o.limit,i.itemsById,f=>ot(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:ta[r]},omission_receipt:Ge("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:o.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:ga(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:st(c,a,s)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2a9a4dc0-8027-5761-9bbf-cac1ef83bd10")}catch{}})();var ya=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],va=["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 wa(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Im(e,t,n={}){let r=n.includePagination!==!1;return[t,...ya.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(wa)||va.some(i=>e?.[i]===!0)}function Io(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7a4a98b2-3872-506d-b88d-877b0033dd2d")}catch{}})();var Ao=["parent","type","priority","status","assignee","tags","sprint","release"];function Fo(e,t){let n=Je(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function Do(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),o=n&&n.length>0?n:void 0,i=r&&r.length>0?r:void 0;if(!o&&!i)return null;if(o&&i&&o!==i)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=o??i;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function Mo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=Jr(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!Ao.includes(r))throw new p(`Aggregate group fields must be one of ${Ao.join("|")}; received "${r}"`,m.USAGE);return n}function $o(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function Oo(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return $o(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Lo(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 ba={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function Ro(e,t){return t==null||t===""?ba[e]:String(t)}function ka(e,t){return e.length===1?Ro(e[0],t[e[0]]):e.map(n=>`${n}=${Ro(n,t[n])}`).join(" | ")}function No(e,t,n){for(let r of n){let o=Lo(e.group[r],t.group[r]);if(o!==0)return o}return 0}function Po(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let o=r.trim();if(o.length===0)return null;let i=Number(o);if(Number.isFinite(i))return i}return null}function jo(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Xt(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 Sa(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 Ea(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Ca(e){e.accumulator.row.count+=1,e.includeCompletion&&Xt(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Ea(e.accumulator,e.numericValue)}function xa(e,t,n,r){for(let o of t){let i=at(n,o),s=e.get(i);if(s){Ca({...r,accumulator:s});continue}let a=Sa(o,r.numericValue);r.includeCompletion&&Xt(a,r.item.status,r.statusRegistry),e.set(i,a)}}function Ta(e,t){let n={};for(let r of e)n[r]=Oo(r,t);return n}function Ia(e,t,n){let r=[Ta(e,t)];if(n==="tuple")return r;for(let o of e){let i=t[o];if(!Array.isArray(i))continue;let s=[...new Set(i.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[o]:d}))))}return r}function Aa(e,t,n,r){let o={...e.row,group_label:ka(t,e.row.group)};return n&&(o.open=e.open_count,o.in_progress=e.in_progress_count,o.closed=e.closed_count,o.other=e.other_count,o.completion_pct=jo(e.closed_count,e.row.count)),r!==null&&(o.null_count=e.null_count,r.sum&&(o.sum=e.numeric_sum),r.avg&&(o.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),o}function Ra(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 $m(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=C(process.cwd(),t.path),r=await D(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...X(r.schema).definitions.filter(w=>w.type==="number").map(w=>w.metadata_key)],s=Mo(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",m.USAGE);let d=Fo(e.status,o),c=Do(e,[...new Set(i)].sort((w,S)=>w.localeCompare(S))),l=e.completion===!0,u=e.includeUnparented===!0,f=await W(void 0,{...Io(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,y=0,_=0;for(let w of f.items){let S=w;if(s.includes("parent")&&S.parent===void 0&&!u){g+=1;continue}let J=c===null?null:Po(S,c.field),A=Ia(s,S,a);xa(h,A,s,{item:S,statusRegistry:o,includeCompletion:l,numericAggregation:c,numericValue:J}),_+=A.length,y+=1}let v=[...h.values()].map(w=>Aa(w,s,l,c)).sort((w,S)=>No(w,S,s)),k=f.warnings&&f.warnings.length>0?f.warnings:void 0;return{...Fa(v,s,e),count:v.length,totals:{items_considered:f.items.length,items_grouped:y,items_skipped_unparented:g,group_memberships:_},filters:Ra({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:O(),...k?{warnings:k}:{}}}function Fa(e,t,n){let r=oo(n.limit,"limit")??50,o=n.after===void 0?-1:e.findIndex(a=>at(t,a.group)===n.after);if(n.after!==void 0&&o<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",m.USAGE);let i=e.slice(o+1,o+1+r),s=o+1+i.length<e.length;return{groups:i,returned_count:i.length,truncated:s,next_after:s?at(t,i.at(-1).group):null}}var Om={buildGroupKey:at,compareAggregateRows:No,compareNullableGroupValue:Lo,completionPct:jo,normalizeTagGroupValue:$o,parseGroupBy:Mo,parseNumericAggregation:Do,parseStatus:Fo,readNumericAggregateValue:Po,resolveGroupValue:Oo,updateCompletionCounts:Xt};import{encode as Da}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77dd912c-158f-5280-8112-dd971be4df3b")}catch{}})();var Qt=["agenda","day","week","month"],Jt=["markdown","toon","json"],Ma=["sun","mon","tue","wed","thu","fri","sat"],$a=365,Oa=365,Bo=28,La=1e3;function Zt(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function Na(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let o of n){if(o==="deadlines"||o==="deadline"){r.add("deadlines");continue}if(o==="reminders"||o==="reminder"){r.add("reminders");continue}if(o==="events"||o==="event"||o==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Go(e,t){let n;for(let r of t){let o=Kn(e,r,2);o!==null&&(n===void 0||o<n.distance)&&(n={choice:r,distance:o})}return n?.choice}function Pa(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!Qt.includes(t)){let n=Go(t,Qt);throw new p(`Calendar view must be one of ${Qt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function ja(e){if(!e)return;let t=e.trim().toLowerCase();if(!Jt.includes(t)){let n=Go(t,Jt);throw new p(`Calendar format must be one of ${Jt.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function Bm(e,t){let n=ja(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Ua(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function Ha(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function ct(e){return new Date(e).toISOString().slice(0,10)}function Wo(e,t){if(!t||t==="UTC")return ct(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,o=n.find(s=>s.type==="month")?.value,i=n.find(s=>s.type==="day")?.value;if(r&&o&&i)return`${r}-${o}-${i}`}catch{}return ct(e)}function rn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function qo(e){let t=new Date(rn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function Ba(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ga(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 Uo(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Ho(e,t){e.set(t,(e.get(t)??0)+1)}function qa(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,o)=>ae(r)-ae(o));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,o)=>r-o);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,o)=>r.localeCompare(o));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function zo(e,t,n,r){let o=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(o.getUTCFullYear()!==e||o.getUTCMonth()!==t||o.getUTCDate()!==n))return o.toISOString()}function Ko(e){return Ma[new Date(e).getUTCDay()]}function za(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=za(n);r&&t.add(r)}return t}function Va(e,t,n,r,o){let i=e??z(n,-(r??Oa)),s=t??z(e??n,o??$a);return{start:i,end:E(s,i)>0?s:z(i,1)}}function Ya(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[Ko(e)],i=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??La,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(o)].sort((s,a)=>ae(s)-ae(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function dt(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 lt(e,t){let n=Ko(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Xa(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(lt(e,t)&&dt(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function Qa(e,t,n){let r=ae(n),o=z(t,r),i=new Date(o);return new Date(Date.UTC(i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function Ja(e){let t=qo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=Qa(e,r,o);if(lt(e,i)&&dt(e,i)==="stop")return e.occurrences}}return e.occurrences}function Za(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=zo(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!lt(e,s))&&dt(e,s)==="stop")return e.occurrences}}return e.occurrences}function ec(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=t+r*e.interval;for(let i of e.sortedMonthDays){let s=zo(o,n,i,e.startDate);if(!(!s||!lt(e,s))&&dt(e,s)==="stop")return e.occurrences}}return e.occurrences}function tc(e,t,n,r){let o=Ya(e,t,n,r);return t.freq==="daily"?Xa(o):t.freq==="weekly"?Ja(o):t.freq==="monthly"?Za(o):ec(o)}function Vo(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function on(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 nc(e){return e.deadline?{at:e.deadline,date:ct(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,...on(e),item_deadline:e.deadline}:null}function rc(e){return(e.reminders??[]).map(t=>({at:t.at,date:ct(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,...on(e)}))}function oc(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function ic(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function sc(e,t,n,r){let o=qa(t.recurrence),i=oc(t.start_at,t.end_at);return(t.recurrence?tc(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Wo(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:ic(a,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...on(e)}))}function ac(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?nc(i):null;s&&o.push(s),n.has("reminders")&&o.push(...rc(i));for(let a of n.has("events")?i.events??[]:[])o.push(...sc(i,a,t,r))}return Vo(o)}function cc(e,t,n,r,o){let i=eo(t.type,n),s=t.tag?.trim().toLowerCase(),a=Zr(t.priority),d=Ua(t.status,r),c=t.assignee?.trim(),l=Ha(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>dc(h,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:o}))}function dc(e,t){return lc(e,t)&&uc(e,t)&&et(e,t.runtimeFieldFilters)}function lc(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 uc(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 fc(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function en(e,t,n){return e.trim().toLowerCase()==="today"?rn(t):H(e,new Date(t),n)}function mc(e,t,n){let r=t.date?en(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?en(t.from,n,"--from"):void 0,a=t.to?en(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return pc(r,t,n,o,i,s,a);if(e==="day"){let c=rn(r);return tn(r,n,o,i,c,z(c,1))}if(e==="week"){let c=qo(r);return tn(r,n,o,i,c,z(c,7))}let d=Ba(r);return tn(r,n,o,i,d,Ga(r))}function pc(e,t,n,r,o,i,s){if(o)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function tn(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:Wa(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function hc(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:Vo(r)}))}function gc(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let d of e)t.add(d.item_id),Ho(n,d.item_type),Ho(r,d.item_status),d.kind==="deadline"?o+=1:d.kind==="reminder"?i+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:o,reminders:i,scheduled:s,by_kind:{deadline:o,reminder:i,event:s},by_type:Uo(n),by_status:Uo(r),recurring_events:a}}function _c(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function Yo(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(i=>i.type==="hour")?.value,o=n.find(i=>i.type==="minute")?.value;if(r&&o)return`${r}:${o}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function nn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function yc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Wo(e.event_end,e.event_timezone)?Yo(e.event_end,e.event_timezone):e.event_end:null}function vc(e){let t=`${Yo(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=yc(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 Gm(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${_c(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: ${nn(e.summary.by_kind)}`),t.push(`- by-type: ${nn(e.summary.by_type)}`),t.push(`- by-status: ${nn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
2
- `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${vc(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 wc(t.join(`
3
- `))}function Wm(e){return Da(e)}function wc(e){let t=e.length;for(;t>0&&e[t-1]===`
4
- `;)t-=1;return e.slice(0,t)}function bc(e){let t=O(),n=Pa(e.view),r=mc(n,e,t),o=G(e.limit),i=Na(e.include),s=Zt(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Zt(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=Zt(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:d,recurrenceLookaheadDays:u?Bo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function kc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${Bo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Sc(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 Ec(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 Xo(e,t){let n=C(process.cwd(),t.path);await j(n);let r=bc(e),o=await D(n),i=P(o.schema),s=X(o.schema),a=Ze(e,s,"calendar"),d=F(o,x()),c=[];kc(c,r.eventsOnlyCapApplied);let l=await ue(n,o.item_format,d.type_to_folder,c,o.schema),u=cc(l,e,d,i,a),f=Va(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),g=ac(u,f,r.includeSources,r.occurrenceLimit).filter(k=>fc(k,r.rangeBounds.start,r.rangeBounds.end)),y=r.limit===void 0?g:g.slice(0,r.limit),_=hc(y),v=[...new Set(c)].sort((k,w)=>k.localeCompare(w));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:Ec(e,r.rangeBounds),filters:Sc(e,a),summary:gc(y),events:y,days:_,...v.length>0?{warnings:v}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9a4301eb-d8a5-52c0-8bf0-f65b3b9a96a3")}catch{}})();var Qo="1970-01-01T00:00:00.000Z";function Ce(e){if(typeof e!="string")return null;let t=e.trim();if(!fr(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return H(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="33841a67-2bd5-5cbd-a9d4-14833ddcf9d2")}catch{}})();var sn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Cc=Symbol("no-context-author"),xc=Symbol("no-item-assignee");function Jo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Tc(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),o=Number(t[3]),i=new Date(Date.UTC(n,r-1,o));return i.getUTCFullYear()===n&&i.getUTCMonth()===r-1&&i.getUTCDate()===o?i.toISOString():void 0}function Ic(e){let t=Tc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ce(e.created_at)??Qo}}function Ac(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=Ce(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 Rc(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 Fc(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 Dc(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 ut(e,t,n){return e?.[t]??n}function ft(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Ic(c):Ac(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,f=n.get(l.id).coordinate;return E(f,u)||c.id.localeCompare(l.id)}),o=new Map(r.map((c,l)=>[c.id,l])),i=Math.max(e.length-1,1),s=Jo(t.author,Cc),a=L("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Jo(c.assignee,xc)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-o.get(c.id)/i,activity_density:t.activityDensity?.[c.id],graph_proximity:ut(t.graphProximity,c.id,c.parent?.3:0),claim_focus:ut(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:Rc(c.priority,4),risk_pressure:Dc(c.risk),deadline_pressure:Fc(c.deadline,d),knowledge_density:ut(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:ut(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Mc="context_relevance",$c={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},Oc=new TextEncoder;function Lc(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,o]of Object.entries(n.signals??{})){if(r==="structural"||!sn.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(o!==void 0&&(!Number.isFinite(o)||o<0||o>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Nc(e){let t={...$c};for(let[n,r]of Object.entries(e??{}))r!==void 0&&sn.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 ei(e,t={}){Lc(e);let n=Nc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(d);let i=sn.filter(a=>o.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of i){let g=c[h];if(g===void 0)continue;let y=g*n[h];l[h]=y,u+=y,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Pc(e,t={}){let n=ei(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),o=new Map;for(let s of r){if(o.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");o.set(s.id,s.score)}if(o.size!==e.length||e.some(s=>!o.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let i=n.ranked.map(s=>{let a=o.get(s.id);return{...s,score:a,contributions:{custom:a}}});return i.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),i.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:i}}async function mt(e,t,n={}){let r=ei(t,n),o=await ar(Mc,{surface:e,candidates:t,default_report:r});if(!o.handled)return o.warnings.length>0?{...r,warnings:o.warnings}:r;if(!Array.isArray(o.result)||!o.result.every(i=>typeof i=="object"&&i!==null&&typeof i.id=="string"&&typeof i.score=="number"&&Number.isFinite(i.score)))return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]};try{let i=await Pc(t,{...n,scorer:()=>o.result});return o.warnings.length>0?{...i,warnings:o.warnings}:i}catch{return{...r,warnings:[...o.warnings,"extension_context_relevance_invalid_result"]}}}var jc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Zo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Uc(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),o=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:Zo(e.required_ids??[],a),continuity_coverage:Zo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Hc(e){return Math.ceil(Oc.encode(JSON.stringify(e)).byteLength/4)}function Bc(e){return Math.round(e*1e4)/1e4}function Gc(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(i=>i.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(i=>i.id),r=new Set(n),o=(e.ranking?.items??[]).filter(i=>r.has(i.id)).map(i=>({id:i.id,contributions:i.contributions}));return{rankedIds:n,attribution:o}}async function Wc(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}),{rankedIds:r,attribution:o}=Gc(n,e.surface),i={...n,ranking:void 0},s=Hc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Uc({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:o}}function qc(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=jc;for(let i of n)if(!Number.isFinite(t[i]))throw new TypeError(`Context evaluation threshold ${i} must be a finite number`);let r=Object.fromEntries(n.map(i=>[i,Bc(e.reduce((s,a)=>s+a.metrics[i],0)/e.length)])),o=n.filter(i=>r[i]<t[i]).map(i=>`${i}:${r[i]}<${t[i]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:o.length===0,failures:o}}async function Jm(e,t,n){let r=[];for(let o of e)r.push(await Wc(o,t));return qc(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a533ce49-ef4f-50a0-9785-acd716999b29")}catch{}})();var zc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Kc=["identity","summary","full"];function Vc(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=Kc.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 Yc(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=zc[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,o=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(o)||o<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:o,profile:t}}function Xc(e){let t=new Set;for(let n of e){if(Vc(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 Qc(e,t,n,r,o){let i=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&o()>=r)return{index:i,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Jc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:o(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Qc(s,r,o,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;i(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function Zc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[o],c=a.token_costs[r]-a.token_costs[o];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of i){if(s.projection!==o)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function ti(e,t){let n=Yc(t),r=Xc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Jc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,d=Zc(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 xe from"node:fs/promises";import Te from"node:path";import{createHash as ni,randomUUID as ed}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190679b7-4723-5c76-be57-2ec88b92b109")}catch{}})();var an=3,cn=2,ri=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],td=new Set(["substantive_history","release_cohort","created_at"]),nd={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 oi(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function rd(e){let t={};for(let n of ri){let r=e[n];if(r!==void 0){if(!oi(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function od(e,t){let n=e.map(o=>[o.id,t(o)]),r=Math.max(0,...n.map(([,o])=>o));return Object.fromEntries(n.map(([o,i])=>[o,r===0?0:i/r]))}function id(e){let t=new Map(e.map(o=>[o.id,0])),n=o=>{t.set(o,(t.get(o)??0)+1)};for(let o of e){typeof o.parent=="string"&&o.parent.trim()&&(n(o.id),n(o.parent.trim()));for(let i of o.dependencies??[])typeof i.id!="string"||!i.id.trim()||(n(o.id),n(i.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(o=>[o.id,r===0?0:t.get(o.id)/r]))}function ii(e,t){return{...t,activityDensity:t.activityDensity??od(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??id(e)}}function un(e){let t=ni("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((o,i)=>o.id.localeCompare(i.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function sd(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=Ce(n.coordinate);if(r===null)return null;let o=new Set(ri),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&oi(a))||![typeof n.source=="string"&&td.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(i),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function ad(e,t){let n=Array.from(e,sd);if(n.some(o=>o===null))return null;let r=n;return new Set(r.map(o=>o.id)).size!==r.length||r.some(o=>o.id.trim().length===0)||t!==un(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function cd(e){if(!pe(e)||e.format_version!==an||e.signal_set_version!==cn||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=ad(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:an,signal_set_version:cn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function si(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 ai(e,t,n=un(e)){let r=e.map(({id:i})=>i);if(new Set(r).size!==r.length||r.some(i=>i.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let o=e.map(({id:i,signals:s,signal_provenance:a})=>({id:i,signals:rd(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:an,signal_set_version:cn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function dp(e,t){return si(t),ai(ft(e,ii(e,t)),t)}var dn=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=Te.resolve(t)}async read(){try{return JSON.parse(await xe.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&He(t))return null;throw t}}async write(t){let n=Te.dirname(this.filePath);await xe.mkdir(n,{recursive:!0});let r=Te.join(n,`.${Te.basename(this.filePath)}.${ed()}.tmp`);try{await xe.writeFile(r,`${JSON.stringify(t)}
5
- `,{encoding:"utf8",flag:"wx"}),await xe.rename(r,this.filePath)}finally{try{await xe.rm(r,{force:!0})}catch{}}}},ln=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){si(n);let r=[],o=null;try{let f=await this.adapter.read();o=cd(f),f!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=o?.items.map(f=>f.id)??[],a=ft(t,ii(t,n)),d=un(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===d&&o.source===n.source&&s.length===i.length&&s.every((f,h)=>f===i[h]),l;if(c&&o!==null)l=o;else{o!==null&&r.push("context_signal_store_stale"),l=ai(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>nd[f])}}};function dd(e){let t=ni("sha256");for(let n of[...e].sort((r,o)=>r.id.localeCompare(o.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function pt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let o=n?null:await Qe(t.pmRoot),i=t.sourceCursor??o?.source_cursor??dd(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new ln(new dn(Te.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await Sr(t.pmRoot,e.map(c=>c.id))).map(([c,l])=>[c,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:i,source:s})}import ld from"node:path";import{createHash as ud}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ee5f5c8d-37f9-577d-87a7-bb43be7c1186")}catch{}})();function ci(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 fd from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="51bac04a-5a6e-53b3-806f-fa0bf6f8e7b4")}catch{}})();var di=1,md=1e4,li=12;function pd(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function hd(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let o=t.get(r);if(!o)return;if(o.type.toLowerCase()==="epic")return o;r=o.parent}}function gd(e){let t=[...e.items].sort((o,i)=>i.completion.timestamp.localeCompare(o.completion.timestamp)||o.item.id.localeCompare(i.item.id)),n=new Set,r=0;for(let{item:o}of t){let i=o.resolution??o.close_reason;i?.trim()&&n.add(i.trim()),r+=(o.notes?.length??0)+(o.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:o,title:i}})=>({id:o,title:i})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function _d(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(i=>t.statusRegistry.terminal_done_statuses.has(R(i.status,t.statusRegistry))).map(i=>{let s=ci(i);if(!s.resolved)throw new TypeError(`Completed item ${i.id} has no reporting timestamp`);return{item:i,completion:s}}),r=new Map(e.map(i=>[i.id,i])),o=new Map;for(let i of n){let{item:s,completion:a}=i,d=pd(a.timestamp),c=`epoch:${d}`,l=o.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(i),o.set(c,l);let u=hd(s,r);if(u){let f=`epic:${u.id}`,h=o.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(i),o.set(f,h)}}return{format_version:di,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((i,{completion:s})=>(i[s.source]+=1,i),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...o.values()].map(gd).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function yd(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 vd(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(o=>typeof o=="string"&&o.length>0),r=[t.first_closed_at,t.last_closed_at].every(o=>typeof o=="string"&&Number.isFinite(Date.parse(o)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(yd)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function wd(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==di||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(vd)?t:null}function bd(e){return`scan:${ud("sha256").update(rr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function kd(e,t,n){return n!==void 0?n:(await Qe(t))?.source_cursor??bd(e)}async function Sd(e){try{let t=wd(JSON.parse(await fd.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&He(t))}}}async function ht(e,t){let n=Math.max(1,Math.floor(t.minimumItems??md));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await kd(e,t.pmRoot,t.sourceCursor),o=ld.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await Sd(o),a=s.snapshot;if(s.invalid&&i.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:i};a&&i.push("workspace_memory_stale");let d=_d(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Zn(o,`${JSON.stringify(d)}
6
- `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:i}}function Ed(e,t,n=li){let r=Math.max(0,Math.floor(t)),o=0,i=[];for(let s of e.rollups){if(i.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);o+a>r||(i.push(s),o+=a)}return i}function ui(e,t,n=li){if(e.snapshot===null)return;let r=Ed(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 Cd(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(o=>({rollup:o,score:r.filter(i=>[o.key,o.label,...o.outcomes,...o.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(i)).length})).filter(({score:o})=>o>0).sort((o,i)=>i.score-o.score||i.rollup.last_closed_at.localeCompare(o.rollup.last_closed_at)||o.rollup.key.localeCompare(i.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:o})=>o)}function fi(e,t,n=5){let r=Cd(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]="05df81b3-2fbd-5d83-88e3-be300091dd09")}catch{}})();var mi=16;async function pi(e,t,n){let r=F(t,x()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<mi;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let d=await de(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await le(d,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function Cp(e){await _r({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await pi(e.pmRoot,e.settings,e.itemId)})}async function xp(e){await yr(e)}async function Tp(e){await vr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await pi(e.pmRoot,e.settings,e.itemId)}:{}})}var Ip={lineage_depth:mi,active_items:64,evidence_rows:32};function hi(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ec0faae4-1fdb-5c7c-bcf1-eb338d73958a")}catch{}})();var xd=["markdown","toon","json","ndjson"],gt=new Set(["Epic","Feature"]),wi=10,bi=1e4,ki=["hierarchy","activity","progress","recently_created","unparented","workload"],Td=[...ki,"blockers","files","staleness","tests"],Id=/^(\d{4})-(\d{2})-(\d{2})/,Ad=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Rd=/^(\d{4})(\d{2})(\d{2})$/,Fd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Dd(e){if(!e)return;let t=e.trim().toLowerCase();if(!xd.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var gi=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 Md(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!gi.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...gi].join(", ")})`,m.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",m.USAGE);return t}function Ie(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function Yp(e,t){let n=Dd(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function $d(e,t){return G(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:wi)}function pn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",m.USAGE);return n}function Od(e,t){return t>=bi&&e===Number.MAX_SAFE_INTEGER?wi:e}function Ld(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!At.includes(n))throw new p(`Context --depth must be one of ${At.join("|")}`,m.USAGE);return n}function Nd(e,t,n){if(e&&e.length>0){let o=[];for(let i of e){let s=i.trim().toLowerCase();if(!Ue.includes(s))throw new p(`Context --section must be one of ${Ue.join("|")}`,m.USAGE);o.includes(s)||o.push(s)}return o}return t==="brief"?[]:t==="full"?[...Ue]:(t==="deep"?Td:ki).filter(o=>n.sections[o])}function Pd(e,t){return e?G(e,"--activity-limit")??t.activity_limit:t.activity_limit}function jd(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",m.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new p("--stale-threshold must be positive",m.USAGE);return o}function _i(e,t){let n=R(e,t),r=L("blocked",t),o=L("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:o&&n===o?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Ae(e,t){let n=L("closed",t);return R(e,t)===n}function hn(e,t){return R(e,t)===t.in_progress_status}function Si(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Ud(e,t){return t.blocked_statuses.has(R(e,t))}var Hd=["compact","brief","fields","includeBody","include_body","parent"];function Bd(e){let t={...e};for(let n of Hd)delete t[n];return t}function gn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=he(e),i=Re(r.id,o);return{ids:new Set([r.id,...i.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Gd(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",m.USAGE);return t}function Wd(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function qd(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 zd(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Kd(e){let t=Id.exec(e)??Ad.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),o=Number.parseInt(t[3],10);return r>=1&&r<=12&&o>=1&&o<=zd(n,r-1)}function Vd(e){let t=Rd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Fd.exec(e);if(n){let[,r,o,i,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${l}${u}`}return e}function Ei(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Kd(t))return Number.NaN;let n=Date.parse(Vd(t));return Number.isFinite(n)?n:Number.NaN}function mn(e){let t=Ei(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Yd(e){let t=Ei(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function _n(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function te(e,t,n){let r=_i(e.status,n)-_i(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Wd(e.order,t.order);if(i!==0)return i;let s=qd(e.deadline,t.deadline);if(s!==0)return s;let a=E(mn(t.updated_at),mn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function fn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function yn(e,t,n=new Set,r="context"){return ti(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:fn({id:o.id,title:o.item.title}),summary:fn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:fn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function vn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function wn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(o=>n.has(o.id));return{model:e.model,available_signals:e.available_signals,items:r.map(o=>({id:o.id,rank:o.rank,baseline_rank:o.baseline_rank,score:o.score,contributions:o.contributions,...o.signal_provenance===void 0?{}:{recency:o.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function Ci(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=_n(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Fe(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:_n(e.parent)};if(t&&n){let o=Re(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>Ae(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Ci(s,i)}}return r}function Xd(e){let t=0,n=0,r=0,o=new Set;for(let i of e){if(o.add(i.item_id),i.kind==="deadline"){t+=1;continue}if(i.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:o.size,deadlines:t,reminders:n,scheduled:r}}function _t(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Qd(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Jd(e,t,n,r){let o=new Map;for(let d of e)o.set(d.id,d);let i=he(e),s=new Set(t.filter(d=>gt.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=o.get(d);if(!c)continue;let l=Re(d,i),u=i.get(d)??[],f=0,h=0,g=0,y=0;for(let v of l)Ae(v.status,n)?f++:hn(v.status,n)?g++:Ud(v.status,n)?y++:Si(v.status,n)&&h++;let _=u.sort((v,k)=>te(v,k,n)).slice(0,r).map(v=>{let k=Re(v.id,i),w=k.filter(S=>Ae(S.status,n)).length;return{id:v.id,title:v.title,type:v.type,status:v.status,children_total:k.length,children_closed:w}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:g,children_blocked:y,children:_})}return a.sort((d,c)=>{let l=o.get(d.id),u=o.get(c.id);return te(l,u,n)}).slice(0,r)}function Re(e,t){let n=[],r=[e],o=new Set;for(;r.length>0;){let i=r.pop();if(o.has(i))continue;o.add(i);let s=t.get(i)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Zd(e,t){return(await To({compact:!0,limit:String(e)},t)).compact_activity??[]}function el(e,t,n,r,o){let i=new Map;for(let d of e){if(!d.parent)continue;let c=i.get(d.parent)??[];c.push(d),i.set(d.parent,c)}let s=t.filter(d=>gt.has(d.type)),a=[];for(let d of s){let c=Re(d.id,i),l=c.length;if(l===0)continue;let u=0,f=0,h=0,g=0;for(let y of c)Ae(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?g++:hn(y.status,r)?h++:Si(y.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:g,completion_pct:Ci(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,o)}function tl(e,t,n,r){let o=new Map(t.map(i=>[i.id.trim().toLowerCase(),i]));return e.slice(0,r).map(i=>{let s=Gt(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function nl(e,t){let n=new Map;for(let r of e)for(let o of r.files??[]){let i=n.get(o.path)??new Set;i.add(r.id),n.set(o.path,i)}return[...n.entries()].map(([r,o])=>({path:r,references:o.size,items:[...o].sort()})).sort((r,o)=>o.references-r.references).slice(0,t)}function rl(e,t,n){let r=new Map;for(let o of e){let i=o.assignee??null,s=r.get(i)??[];s.push(o),r.set(i,s)}return[...r.entries()].map(([o,i])=>({assignee:o,active:i.length,in_progress:i.filter(s=>hn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function ol(e,t,n,r){let o=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(i=>new Date(i.updated_at).getTime()<o).map(i=>({id:i.id,title:i.title,status:i.status,updated_at:i.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(i.updated_at).getTime())/(1440*60*1e3))})).sort((i,s)=>s.stale_days-i.stale_days).slice(0,r)}function il(e,t,n,r){return e.map(o=>({item:o,sortKey:mn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Fe(o,t,n),created_at:o.created_at}))}function sl(e,t,n,r){return e.filter(o=>!_n(o.parent)&&!gt.has(o.type)).sort((o,i)=>te(o,i,t)).slice(0,r).map(o=>Fe(o,t,n))}function al(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,o+=l.failed??0,i+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:o,skipped:i},items_failing:s.sort()}}function yi(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function xi(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",o=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",i=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${o}${i} ${e.title}`}function cl(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function dl(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`${yi(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${yi(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 vi(e,t,n,r,o){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let i of n)e.push(`- ${o(i)}`);e.push("")}function ll(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 ul(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(`- ${dl(n)}`);e.push("")}function fl(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let o of n.children){let i=o.children_total>0?Math.round(o.children_closed/o.children_total*100):0;e.push(` - ${o.id} ${o.type} ${o.status} "${o.title}" [${o.children_closed}/${o.children_total} done ${i}%]`)}}e.push("")}}function ml(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 pl(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let o of t.recently_created)e.push(n?`- ${r(o)}`:`- ${Yd(o.created_at)} ${xi(o)}`);e.push("")}}function hl(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 gl(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 _l(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",o=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",i=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${o}${i}`)}e.push("")}}function yl(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 vl(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 wl(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 bl(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 kl(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 Xp(e){let t=[],n=e.focus_fields,r=i=>n?cl(i,n):xi(i);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let i=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${i.length>0?` (${i.join(", ")})`:""}`)}let o=e.sections_included.filter(i=>i!=="blockers"||(e.blockers?.length??0)>0);if(o.length>0&&t.push(`- sections: ${o.join(", ")}`),t.push(""),vi(t,"High-level focus",e.high_level,"No high-level active items.",r),vi(t,"Low-level focus",e.low_level,"No low-level active items.",r),ll(t,e,r),ul(t,e),e.workspace_memory){t.push("## Workspace memory");for(let i of e.workspace_memory.rollups)t.push(`- ${i.kind}:${i.key} \u2014 ${i.label} (${i.item_count} completed, latest ${i.last_closed_at})`);t.push("")}return fl(t,e),ml(t,e),pl(t,e,n,r),hl(t,e,r),gl(t,e),_l(t,e),yl(t,e),vl(t,e),wl(t,e),bl(t,e),kl(t,e),t.join(`
7
- `)}async function Sl(e,t){let n=C(process.cwd(),t.path),r=await D(n),o=r.context??Yn.context,i=P(r.schema),s=Ld(e.depth,o),a=$d(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Nd(e.section,s,o),activityLimit:Pd(e.activityLimit,o),staleThresholdDays:jd(e.staleThreshold,o),parentScope:Gd(e.parent),focusFields:Md(e.fields),baseListOptions:Bd(e)}}function El(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Cl(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function xl(e,t){let n=await W(void 0,Cl(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!Q(a.status,t.statusRegistry)),i=r,s=Tl(t.parentScope,r);return s&&(o=o.filter(a=>s.has(a.id.trim().toLowerCase())),i=i.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:o,allItems:i,fullCorpus:r,subtreeIds:s}}function Tl(e,t){if(e===void 0)return;let n=gn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}function Il(e,t,n,r){let o=new Set(nt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>gt.has(i.type)||o.has(i.id)||ke(i.type,r)!=="agent").map(i=>i.id))}async function Al(e,t,n,r,o,i,s,a,d,c,l,u,f,h,g,y){let _=[...e].sort((b,se)=>te(b,se,o)),v=await Ye({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),k=await pt(_,{pmRoot:f,storeKey:"context",statusRegistry:o,now:a,author:d,usageAffinity:v.affinity,claimFocus:g}),w=await mt("context",k.candidates),S=w.ranked.map(b=>b.item),J=o.active_statuses,A=S.filter(b=>J.has(R(b.status,o))),M=u?lr(A,c,l,b=>b.id):0,I=u?A.slice(M,M+s):A,Pe=u&&I.length>0&&M+I.length<A.length,je=Pe&&I.length>0?dr(l,I[I.length-1].id,M+I.length-1):void 0,Z=S.filter(b=>r.has(b.id.trim().toLowerCase())),_e=new Set([...I.map(b=>b.id),...Z.slice(0,s).map(b=>b.id)]),re=yn({...w,ranked:w.ranked.filter(b=>_e.has(b.id))},h,new Set(Object.entries(g??{}).filter(([,b])=>b>=1).map(([b])=>b))),V=re.included.map(b=>b.item),Y=V.filter(b=>J.has(R(b.status,o))),oe=V.filter(b=>r.has(b.id.trim().toLowerCase())),ie=he(t),Tt=El(i)?ie:void 0,N=new Map(n.map(b=>[b.id.trim().toLowerCase(),b])),$=b=>{let se=Fe(b,o,Tt);return r.has(b.id.trim().toLowerCase())&&(se.blocked=!0,se.blocker_ids=Gt(b,N,o).filter(It=>!It.resolved).map(It=>It.id)),se},qn=Il(Y,n,o,y),Ps=Y.filter(b=>qn.has(b.id)).slice(0,u?I.length:s).map($),js=Y.filter(b=>!qn.has(b.id)).slice(0,u?I.length:s).map($),zn=A.length===0;return{activeItems:Y,blockedItems:oe,highLevel:Ps,lowLevel:js,blockedFallback:zn?oe.slice(0,s).map($):[],blockedFallbackUsed:zn,ranking:w,packing:re,featureStore:k,pageExtras:{...u?{applied_limit:s}:{},...Pe?{has_more:!0,truncated:!0}:{},...je?{next_cursor:je}:{}}}}function Rl(e){return qe("context",We(e,ir))}function Fl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=bi}async function Dl(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await Xo(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Qd(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:i,agendaEvents:d,agendaSummary:Xd(a)}}function Ti(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Ml(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,d=he(n),c=n.filter(u=>!Q(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?Jd(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Zd(t.activityLimit,a):void 0,progress:l("progress")?el(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?tl(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?il(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?sl(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?nl(i.activeItems,t.limit):void 0,workload:l("workload")?rl(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?ol(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?al(i.activeItems):void 0}}function $l(e,t,n){let r=L("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=Ti(o,t.in_progress_status,t);return{scope:"matching_items",active_items:o.length,open:o.length-i,in_progress:i,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Ae(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function Ol(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 Ll(e,t){t&&(e.focus_fields=t,e.high_level=Ie(e.high_level,t),e.low_level=Ie(e.low_level,t),e.blocked_fallback=Ie(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Ie(e.recently_created,t)),e.unparented&&(e.unparented=Ie(e.unparented,t)))}function Nl(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let i of n)delete i.tags,delete i.tags_inherited;return}let r=new Map(n.map(i=>[i.id,i])),o=new Map(n.map(i=>[i.id,i.tags?[...i.tags].sort().join("\0"):void 0]));for(let i of n){if(!i.parent||!i.tags)continue;let s=r.get(i.parent);s&&o.get(i.id)===o.get(s.id)&&(delete i.tags,i.tags_inherited=s.id)}}function Pl(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 jl(e,t,n,r){try{let o=new Set(t.packing.included.map(d=>d.id)),i=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:o.has(d.id)})),s=new Set(i.map(d=>d.id));for(let d of Ke(e,"context"))s.has(d)||(i.push({id:d,rank:i.length+1,included:!1}),s.add(d));let a=await Ve({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e,a)}catch{e.warnings=_t(e.warnings,["context_usage_feedback_write_failed"])}}async function Ul(e,t,n){if(e)return{};let o=(await or({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),i=o.filter(s=>s.status==="degraded").length;return o.length===0?{}:{extension_health:{total:o.length,ok:o.length-i,degraded:i,packages:o.slice(0,20),...o.length>20?{truncated:!0}:{}}}}async function Hl(e,t){let n=wr(),r=await hr(e),o=n.instance||gr(t);return hi(r.semantic_attribution?.[o])}async function Qp(e,t){let n=C(process.cwd(),t.path),r=await Sl(e,t),o=await xl(t,r),i=Od(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:pn(e.tokenBudget,Math.max(256,i*160))},a=ee(void 0,s.settings.author_default),d=await Hl(n,a),c=Ul(e.noExtensionHealth===!0,n,s.settings),l=ao(o.fullCorpus,s.statusRegistry),u=await Al(o.listedItemMetadata,o.allItems,o.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,O(),a,e.after,Rl(e),Fl(e,o.fullCorpus.length),n,s.tokenBudget,d,F(s.settings,x())),f=await Dl(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),h=await ht(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),g=_t(o.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=Ti(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),_=u.activeItems.length-y,v=await Ml({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),k=$l(o.allItems,s.statusRegistry,l),w={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:_,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...k},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return w.workspace_memory=ui(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(w,await c),Ol(w,v,u.featureStore.warning_details),Nl(w,e.noTags===!0),e.explainRanking===!0&&(w.ranking=wn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(S=>S.id))),w.packing=vn(u.packing)),Ll(w,s.focusFields),g.length>0&&(w.warnings=g),Pl(w,u.activeItems,u.blockedItems),await jl(w,u,n,a),w}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7b1a6347-904d-5c7d-a86d-23e6232b9467")}catch{}})();function Ii(e,t,n){let r={recommended:e.recommended,ready:e.ready},o=()=>Math.max(Mt(r,"json"),Mt(r,"toon")),i=r.ready.length+ +(r.recommended!==null),s=o(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=o()),s>t&&a<=t){let u=0,f=d.length;for(;u<f;){let h=Math.ceil((u+f)/2);r.ready=d.slice(0,h),o()<=t?u=h:f=h-1}r.ready=d.slice(0,u),a=o()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=o()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=i-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0497aebe-9963-5025-9266-124455dd4567")}catch{}})();var Bl=["markdown","toon","json"],Gl=5,Wl=1440*60*1e3;function ql(e){if(!e)return;let t=e.trim().toLowerCase();if(!Bl.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function uh(e,t){let n=ql(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"toon"}function Ai(e,t,n){let r=G(e,t);return r===void 0||r<=0?n:r}function De(e,t,n,r){return{...Fe(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(o=>({id:o.id,title:o.title,status:o.status,...o.external?{external:!0}:{},...o.blocked_since?{blocked_since:o.blocked_since}:{},...o.external?{resolver:o.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function zl(e,t,n,r){let o=e.item,i=[],s=L("in_progress",t);return i.push(R(o.status,t)===s?"resume work":"ready"),r&&i.push("completed container \u2014 governance closeout"),i.push(`p${o.priority}${o.priority===0?" (highest)":""}`),typeof o.deadline=="string"&&o.deadline.trim().length>0&&i.push(Kl(o.deadline,n)),i.push(so(o).length>0?"all blockers resolved":"no blockers"),typeof o.parent=="string"&&o.parent.trim().length>0&&i.push(`advances ${o.parent.trim()}`),e.unblocks.length>0&&i.push(`unblocks ${e.unblocks.length} item(s)`),i}function Ri(e,t,n){let r=ee(n,t),o=[],i=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?i.push({id:s.item.id,assignee:a}):o.push(s)}return{available:o,held:i}}var fh={partitionCallerOwnedReady:Ri,resolveNextCallerAuthor:(e,t)=>Fi(e,t)};function mh(e,t,n){let r=e.filter(o=>ke(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>ke(o.item.type,n)!=="human"),decisions:t?[]:r}}function Kl(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),o=new Date(Date.parse(t)).toISOString().slice(0,10),i=Math.round((Date.parse(r)-Date.parse(o))/Wl);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function Vl(e,t){let n=L("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function bn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Yl(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 yt(e,t,n){return[...e].sort((r,o)=>{let i=bn(r.item,t),s=bn(o.item,t);return i!==s?Number(i)-Number(s):te(r.item,o.item,n)})}function Xl(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:zl(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Ql(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let o=t.find(i=>i.blockers.length>0);return[...r,o?`${t.length} item(s) are blocked; unblock the top one by closing ${o.blockers.map(i=>i.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return[...r,'pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}function Jl(e,t,n,r){let o={};return e>r&&(o.decision_needed_total=e),t>r&&(o.held_by_others_total=t),n>r+1&&(o.ready_total=n),Object.keys(o).length>0?o:void 0}async function Zl(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(i=>i.id)]),n=e.ranking.ranked.map(i=>({id:i.id,rank:i.rank,included:t.has(i.id)})),r=new Set(n.map(i=>i.id));for(let i of Ke(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await Ve({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ze(e.result,o)}catch{e.result.warnings=_t(e.result.warnings,["context_usage_feedback_write_failed"])}}async function eu(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=Ql(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Ii(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=wn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=vn(yn(e.readyRanking,e.packingBudget,new Set,"next"))),await Zl({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function tu(e,t,n){if(!n)return e;let r=gn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function nu(e,t,n,r,o,i,s){let a=e.filter(g=>!bn(g.item,t)),d=s||a.length===0?e:a,c=await Ye({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await pt(d.map(g=>g.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:c.affinity}),u=await mt("next",l.candidates),f=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>f.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:l}}function Fi(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function ph(e,t){let n=C(process.cwd(),t.path),r=await D(n),o=Fi(e,r.author_default),i=P(r.schema),s=F(r,x()),a=O(),d=Ai(e.limit,"--limit",Gl),c=pn(e.tokenBudget,Math.max(192,d*128)),l=Ai(e.blockedLimit,"--blocked-limit",d),u=e.readyOnly===!0,f=typeof e.parent=="string"?e.parent.trim():"",h=await W(void 0,Yl(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=tu(h.items,g.items,f),_=g.items,v=nt(y,_,i,s),k=he(_),w=co(v,i,e,s),S=Ri(w.ready,r.author_default,o),J=yt(S.available,k,i),A=[...v.blocked].sort((N,$)=>te(N.item,$.item,i)),{projectedReady:M,ranking:I,completedContainer:Pe,featureStore:je}=await nu(J,k,i,a,o,n,e.includeContainers===!0),Z=M.map((N,$)=>De(N,i,k,$+1)),_e=A.map((N,$)=>De(N,i,k,$+1)),re=yt(w.decisions,k,i).map((N,$)=>De(N,i,k,$+1)),V=yt(w.gates,k,i).map((N,$)=>De(N,i,k,$+1)),Y=yt(v.containers,k,i).map((N,$)=>De(N,i,k,$+1)),oe=Xl({projectedReady:M,readyRows:Z,statusRegistry:i,now:a,completedContainer:Pe}),ie=Jl(re.length,S.held.length,Z.length,d)??{};V.length>d&&(ie.gate_needed_total=V.length),Y.length>d&&(ie.containers_total=Y.length);let Tt={output_default:"toon",now:a,recommended:oe,ready:Z.slice(1,d+1),decision_needed:re.slice(0,d),gate_needed:V.slice(0,d),containers:Y.slice(0,d),blocked:u?[]:_e.slice(0,l),held_by_others:S.held.slice(0,d),summary:{recommended:oe!==null,ready:Z.length,blocked:_e.length,in_progress:Vl(Z,i),candidates:v.active_count,containers:v.container_count,decision_needed:re.length,gate_needed:V.length,held_by_others:S.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:f.length>0?f:null,limit:d,blocked_limit:l,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(ie).length>0?ie:void 0};return eu({result:Tt,recommended:oe,blockedRows:_e,gateCount:V.length,candidatesWarnings:h.warnings,corpusWarnings:g.warnings,readyRanking:I,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packingBudget:c,featureStore:je,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function hh(e){let t=["# pm next","",...ru(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Me(n,r.map(o=>`- ${$e(o)}`),""));if(t.push(...Me("Recommended",ou(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Me("Decision needed",(e.decision_needed??[]).map(n=>`- ${$e(n)}`),"No human-gated decisions.")),t.push(...Me("Ready",e.ready.map(n=>`- ${$e(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Me("Blocked",e.blocked.map(n=>`- ${iu(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 ru(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 ou(e){return e?[`- ${$e(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Me(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function iu(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${$e(e)} blocked_by:${t}`}function $e(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]="0cc18a30-5068-5c59-b559-7afc4d446ed8")}catch{}})();function su(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function au(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=Ir(n.patch);for(let s of i)o.add(Pt(s.path)),s.from&&o.add(Pt(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function cu(e){if(e[0]?.op!=="history_compact_baseline")return;let t=be(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function du(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await D(n),o=F(r,x()),i=e.trim()===Xe,s=i?Xe:Dr(e,r.id_prefix),a=await de(n,s,r.id_prefix,r.item_format,o.type_to_folder),d=a?.id??s,c=i?Rr(n):Be(n,d);if(!a&&!await Qn(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await Lr({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function xh(e,t,n){let r=fe(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await du(e,n),d=await B(o,s),c=cu(d),l=a.agent_identity.identity_vocabulary,u=rt(a.agent_identity.harness_signals),f=it({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=lu(d).filter(({entry:M})=>f(M)),g=su(h,r),y=g.map(({entry:M})=>M),_=t.compact===!0,v=_?au(g,c):void 0,k=t.provenance===!0?g.map(({entry:M,durableVersion:I})=>ot(M,l,{itemId:s,version:I})):void 0,w=t.provenance===!0?"provenance":_?"compact":"full",S={compact:{compact_history:v},provenance:{provenance_history:k},full:{history:y}}[w],A={id:s,...S,compact:_,projection:{mode:w,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[w]},omission_receipt:Ge("history",w),count:y.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:st(h.map(({entry:M})=>M),l,u)}:{}};if((t.diff||t.field!==void 0)&&(A.diff=Wr(d,{windowStartIndex:Math.max(0,d.length-y.length),field:t.field})),t.verify){let M=i?(await le(i,{schema:a.schema})).document:void 0;if(A.verification=bo(d,M),s===Xe&&A.verification.ok){let I=await Fr(C(process.cwd(),n.path));A.verification={...A.verification,ok:I.ok,errors:I.ok?A.verification.errors:[...A.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:I.ok,workspace_state_mismatches:I.mismatched_documents,workspace_state_missing:I.missing_documents,workspace_state_unreadable:I.unreadable_documents}}}return A}function lu(e){let t=be(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]="acda1c64-cb50-57b5-868d-a27ca6912979")}catch{}})();var Di=1e6,Mi=20;function $i(e,t,n,r=Mi){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let _ of t){if(a+=1,a>Di)throw new p(`Child projection exceeded the ${Di.toLocaleString("en-US")} item safety bound.`,m.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(_)}let d=new Map(s.map(_=>[_.id.trim().toLowerCase(),_])),c=ro(no(s,to())),l=new Set(c.children_by_parent.get(o)??[]);for(let _ of s)_.parent?.trim().toLowerCase()===o&&l.add(_.id.trim().toLowerCase());let u=[...l].map(_=>d.get(_)),f=0;for(let _ of u){let v=_.status.trim().toLowerCase();i[v]=(i[v]??0)+1,Q(v,n)||(f+=1)}u.sort((_,v)=>_.id.localeCompare(v.id));let h=u.slice(0,r).map(_=>({id:_.id,title:_.title,type:_.type,status:_.status,priority:_.priority})),g=u.length>h.length,y=r===0?Mi:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(i).sort(([_],[v])=>_.localeCompare(v))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="926ca5b2-8cfc-56e7-8cbf-fb0e7152d834")}catch{}})();var uu=new Set(["event","meeting","reminder"]);function fu(e){return uu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function kn(e){if(!fu(e))return;let t=[...e.events??[]].sort((r,o)=>r.start_at.localeCompare(o.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="26bf8487-2515-5885-b6de-56ba6292fb65")}catch{}})();var pu=new Set(["epic","feature","milestone","plan"]),hu=new Set(Object.keys(Vn).map(e=>e.toLowerCase()));function En(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function gu(e,t){let n=En(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,o])=>o>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...kn(e)?["schedule"]:[]]}function Li(e){let t=e.trim().toLowerCase();return t.length>0&&(pu.has(t)||!hu.has(t))}function Oi(e){return{ts:e.ts,author:e.author,message:e.message??null}}function _u(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,o=[...t].reverse().find(s=>s.op==="claim"),i=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:o?Oi(o):null,last_release:i?Oi(i):null}}function yu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if($t.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function vu(e,t){let n=En(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:o,learnings:i,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function wu(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function wt(e){return e.startsWith("item.")?e.slice(5):e}function bu(e,t,n){if(e===null)return;let r=Ot(t),o=new Set(r),i=e.filter(s=>{let a=wt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:ce(s),suggested_retry_args:s}})}}var ku=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Su(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:ku.has(n)?[]:void 0}function Eu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:En(e)},o={id:e.id};for(let i of t){let s=wt(i);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(o[s]=Su(n,r,s))}return o}function Oe(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function vt(e,t){return e.some(n=>{let r=wt(n);return r===t||r.startsWith(`${t}.`)})}function Cu(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",m.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",m.USAGE);return{depth:e.full?"deep":yu(e.depth),treeDepth:e.tree===!0?G(e.treeDepth,"--tree-depth"):void 0,fields:wu(e.fields),fieldProjection:e.fields!==void 0}}async function xu(e,t,n){let r=C(process.cwd(),t.path);await j(r);let o=await D(r),i=F(o,x());if(n!==void 0){let d=await ko(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await de(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await Ur(r,e,o.id_prefix,i.type_to_folder);let a=await le(s,{schema:o.schema});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function Tu(e,t,n,r){let o=X(t.schema).definitions.map(i=>i.metadata_key);if(bu(e,o,r),n&&vt(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Sn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Oe(r,o):vt(r,o):n!=="brief"}async function Iu(e,t){if(!t)return;let n=Be(e.pmRoot,e.locatedId),r=await B(n,e.locatedId);return _u(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Au(e,t,n,r){let o=r||Oe(n,"linked.files"),i=r||Oe(n,"linked.tests"),s=r||Oe(n,"linked.docs");!r&&!o&&!i&&!s||(e.linked={files:o?t.metadata.files??[]:[],tests:i?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function Ru(e,t){if(!t)return;let n=P(e.settings.schema),r=await ue(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return $i(e.locatedId,r,n)}function Fu(e,t,n,r){if(!r)return;let o=kn(t.metadata);if(o){if(n===null||Oe(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>wt(s)===`schedule.${i}`)))}}async function Du(e,t,n,r){if(t.tree!==!0)return;let o=await W(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:o.count,items:o.items.map(i=>i)}}async function Vh(e,t,n={}){let r=Cu(n,e),o=await xu(e,t,n.at);Tu(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Sn({...r,field:"body"}),s=Sn({...r,field:"linked"}),a=Sn({...r,field:"claim_state"}),d=o.historical===void 0&&(r.fieldProjection?vt(r.fields,"children"):r.depth==="deep"&&Li(o.metadata.type)),c=r.fieldProjection?vt(r.fields,"schedule"):r.depth!=="brief",l=await Iu(o,a),u={item:r.fieldProjection?Eu(o.metadata,r.fields):vu(o.metadata,r.depth)};i&&(u.item.body=o.body),Au(u,o,r.fields,s),l&&(u.claim_state=l),Fu(u,o,r.fields,c);let f=await Ru(o,d);f!==void 0&&(u.children=f);let h=await Du(o,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),o.historical&&(u.reconstructed=!0,u.as_of_version=o.historical.as_of_version,u.as_of_timestamp=o.historical.as_of_timestamp),o.historical===void 0)try{await pr({pmRoot:o.pmRoot,author:ee(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return cr(u,gu(o.metadata,o.body)),u}var Yh={shouldAutoIncludeGetChildren:Li};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="48888c80-60e1-5905-afd5-8c1b6e532f99")}catch{}})();function Ni(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 Mu=[{optionKey:"status",summaryKey:"status",normalize:e=>Ni(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 Le(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return vo(l,r,Mu),Object.assign(l,qt(r)),Object.assign(l,Wt(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),o&&(l.include_linked=!0),i&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function Ne(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ni(r.status)?"all":r.status,type:f(r.type),tag:f(r.tag),priority:f(r.priority),deadline_before:f(r.deadlineBefore),deadline_after:f(r.deadlineAfter),updated_after:f(r.updatedAfter),updated_before:f(r.updatedBefore),created_after:f(r.createdAfter),created_before:f(r.createdBefore),assignee:f(r.assignee),sprint:f(r.sprint),release:f(r.release),parent:f(r.parent),...qt(r),...Wt(r),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:f(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91b01dd0-6a8d-5b97-96d2-c27f4044c009")}catch{}})();function $u(e){return qe("search",{query:e.query.trim(),mode:e.mode,options:We(e.searchOptions,sr)})}function Pi(e){let t=ur(e.sorted,{cursor:e.searchOptions.after,fingerprint:$u(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]="255d7c53-5905-51f7-8f5a-3580cf340648")}catch{}})();function Ou(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",m.USAGE);return t}function bt(e){return e===!0}function ji(e){return nr(e,0,1)??void 0}function Ui(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",m.USAGE);return t}function Hi(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",m.USAGE);return t}function ge(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function K(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Cn(e,t){if(e!==void 0)return H(e,new Date,t)}function Lu(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Search --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function xn(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=Lu(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:ce(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Lt]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Tn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Nt(t.definitions.flatMap(s=>[s.key,s.metadata_key])),o=new Set(r),i=e.fields.filter(s=>{let a=s.trim();return!o.has(a)});if(i.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:ce(s),suggested_retry_args:s}})}}function In(e){let t=K(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function An(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Nu=["auto","keyword","semantic","hybrid"];function Pu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Nu.includes(n)?n:"auto"}function Rn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Ou(e.requested),source:"explicit"};let t=Pu(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function Fn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Dn(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Mn(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import St from"node:fs/promises";import jn 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]="e2985104-efdb-59e5-9674-2dd865ebdf56")}catch{}})();var $n=4,ju=20,Uu=200,Hu=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function On(e,t){let n=[],r=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function Bu(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 Gu(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 Bi(e,t=$n){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=me(n);if(r.length===0)return[n];let o=r.filter(a=>!Hu.has(a.toLowerCase())),i=r.map(a=>Bu(a)),s=o.map(a=>Gu(a));return On([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Gi(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?On(t.filter(n=>typeof n=="string"),$n):[]}function Wi(e,t,n){return On([...e,...t],Math.max(1,n))}function qi(e,t){let r=e.search?.query_expansion,o=ye(r?.provider);return{enabled:r?.enabled===!0,provider:o??t,max_queries:$n}}function zi(e,t){let r=e.search?.rerank,o=ye(r?.model),s=tr(r?.top_k)??ju;return{enabled:r?.enabled===!0,model:o??t,top_k:Math.min(Uu,s)}}function Ki(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let o of t){if(typeof o!="object"||o===null)continue;let i=ye(o.id),s=o.score;if(!i||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(i);(a===void 0||s>a)&&n.set(i,s)}let r=[...n.entries()].map(([o,i])=>({id:o,score:i}));return r.sort((o,i)=>o.score!==i.score?i.score-o.score:o.id.localeCompare(i.id)),r}function Wu(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function Vi(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function qu(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Wu(e,t),o=Vi(t),i=n*o;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(o)||!Number.isFinite(i)||i===0?0:Math.max(-1,Math.min(1,r/i))}async function Yi(e,t,n,r,o){if(r.length===0)return new Map;let i=ye(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(f=>f.text)],d=await tt(s,a,o?{timeout_ms:o}:{}),c=d[0];if(!c)return new Map;let l=Vi(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],g=d[f+1];if(!g)continue;let y=qu(c,g,l);u.set(h.id,Math.max(0,Math.min(1,(y+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]="bc52818b-d37f-5d00-954d-d50203a433c2")}catch{}})();var zu=1.2,Ku=.75;function Ln(e){return me(e)}function Vu(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function Qi(e){let t=[],n=new Map,r=0;for(let i of e){let s=Ln(i.text),a=Vu(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:i.id,termFrequencies:a,length:s.length})}let o=t.length;return{documents:t,documentFrequency:n,documentCount:o,averageDocumentLength:o>0?r/o:0}}function Yu(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Ji(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let o=[...new Set(t.filter(s=>s.length>0))];if(o.length===0)return r;let i=new Map;for(let s of o){let a=e.documentFrequency.get(s);a!==void 0&&i.set(s,Yu(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of i){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function Xi(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Zi(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 es(e){let t=e?.search?.bm25;return{k1:Xi(t?.k1,zu,0,1e3),b:Xi(t?.b,Ku,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]="c1f323c4-410f-5e51-ba94-29caaccfbac7")}catch{}})();var Xu=2,Qu=120,Ju=6,Zu=40,ef=1e3,tf=900,nf="\xAB",rf="\xBB",ts=60,os=["tag","status","type","priority"];function is(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function ss(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=is(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 as(e,t){let n=ss(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function of(e){return e?.commands?.some(n=>n.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function cs(e,t,n){try{let r=await Qr(e);r.warnings.length>0&&n.push(...r.warnings);let o=io(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=of(x());n.push(...sf(o.length,i)),process.stderr.write(`[pm] warning: ${o.length} item${o.length===1?" is":"s are"} new or modified since the last reindex and ${o.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${i.command}'${i.follow_up_command?`, then '${i.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
9
- `)}catch{}}function sf(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(" ")}`]:[]]}var o_={applyFilters:ps,applyExactQueryFilters:ms,applyInlineQueryFilters:ls,buildHitHighlights:bs,buildVerboseSearchFilters:Ne,buildExplicitSemanticFallbackWarning:as,buildCompactSearchFilterSummary:Le,buildHybridLexicalScore:Es,buildRerankCorpus:Ms,buildSemanticHits:As,classifyImplicitSemanticFallbackReason:ss,collectErrorCauseCodes:is,collectExactPhraseFields:us,collectLinkedPaths:hs,combineHybridHits:Gn,computeBuiltInBm25Hits:Fs,computeSemanticOrHybridHits:$s,resolveBuiltInBm25Mode:Rs,countOccurrences:Hn,dependencyEntries:Un,documentContainsExactPhrase:fs,emptySearchResult:Cs,highlightFieldSnippet:ws,loadDocuments:Os,markTokenRuns:vs,parseInlineQueryFilters:ds,maybeEmitVectorIndexStaleWarning:cs,loadLinkedCorpus:_s,mergeVectorHitsById:Ds,normalizeExtensionProviderHits:Is,normalizeScoreMap:Nn,parseProjectionConfig:xn,parseTimestampWindow:ge,parseTokens:In,projectSearchHits:Ns,readSearchFieldValue:Ls,requireSemanticDependencies:Bn,resolveExtensionSearchProvider:xs,resolveExtensionSearchProviderByName:xt,resolveExtensionVectorAdapter:Ts,resolveLinkedCorpusRoots:gs,scoreDocument:ks,sortHits:Ss,stringArray:Ct,textEntries:ne,validateSearchProjectionFields:Tn};function ds(e){let t={},n=[];for(let r of e.split(/\s+/).filter(o=>o.length>0)){let o=r.indexOf(":"),i=o>0?r.slice(0,o).toLowerCase():"",s=o>0?r.slice(o+1):"",a=os.includes(i)?i:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function ls(e,t,n){let r={...e};for(let o of os){let i=t[o];if(i!==void 0){if(Dt(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Ct(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function ne(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Un(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function us(e){let t=e.metadata;return[t.title,t.description,t.status,Ct(t.tags).join(" "),e.body,ne(t.comments).map(n=>n.text).join(" "),ne(t.notes).map(n=>n.text).join(" "),ne(t.learnings).map(n=>n.text).join(" "),jt(t).join(" "),Ut(t).join(" "),Un(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),Ht(t)]}function fs(e,t){return us(e).some(n=>K(n).includes(t))}function ms(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&K(r.metadata.title)!==t||n.phraseExact&&!fs(r,t)))}function af(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function cf(e,t,n){let r=Se(e.assignee,{label:"--assignee"});af(r);let o=_o(e),i=yo(e);return{typeFilter:lo(e.type,t),tagFilter:Se(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:uo(e.priority),deadlineBefore:Cn(e.deadlineBefore,"deadline-before"),deadlineAfter:Cn(e.deadlineAfter,"deadline-after"),updatedAfter:ge(e.updatedAfter,"updated-after"),updatedBefore:ge(e.updatedBefore,"updated-before"),createdAfter:ge(e.createdAfter,"created-after"),createdBefore:ge(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Se(e.sprint,{label:"--sprint"}),releaseFilter:Se(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:mo(o),contentFieldFilters:i,contentFiltersActive:ho(i)}}function df(e,t){return lf(e,t)&&uf(e,t)&&ff(e,t)}function lf(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&&!Ct(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function uf(e,t){return mr(e,t)}function ff(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 mf(e,t,n,r){let o=e.metadata;return!(!df(o,t)||!et(o,n)||t.missingMetadataActive&&!po(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!go(o,t.contentFieldFilters))}function ps(e,t,n,r,o,i){let s=cf(t,n,o);return e.filter(a=>mf(a,s,r,i))}function Hn(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}function pf(e){return me(e)}function hs(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),o=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),i=new Map;for(let s of o)i.set(`${s.scope}:${s.path}`,s);return[...i.values()]}async function ns(e){let t=jn.resolve(e);try{let n=await St.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function gs(e,t){let[n,r]=await Promise.all([ns(e),ns(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function _s(e,t){let n=hs(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=jn.resolve(i.resolved,o.path);if(!Rt(i.resolved,s))continue;let a;try{a=await St.realpath(s)}catch{continue}if(Rt(i.realpath,a))try{await ve({path:s,scope:o.scope}),r.push(await St.readFile(s,"utf8"))}catch{}}return r.join(`
10
- `)}var ys=[{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=>Ct(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=>ne(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>ne(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>ne(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>jt(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>Ut(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Un(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>Ht(e.metadata)}],hf=new Map(ys.map(e=>[e.name,e]));function gf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vs(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(gf);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${nf}${o}${rf}`)}function ws(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,o=l.length)}if(r<0)return null;let i=Math.max(0,r-ts),s=Math.min(e.length,r+o+ts),a=vs(e.slice(i,s),t),d=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function bs(e,t,n){let r=[];for(let o of t){let i=hf.get(o);if(i===void 0)continue;let s=ws(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function _f(e,t,n){return[...ys.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function yf(e,t,n){let r=K(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=K(o),s=i.length>0&&r.startsWith(i)?r.slice(i.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?ef:tf,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function vf(e,t,n,r,o){for(let i of e){let s=t.get(i)??0;s>0&&(o.score+=s*r.title_exact_bonus,o.matched.add("title"),o.matchedTokens.add(i));for(let a of n){let d=Hn(a.value.toLowerCase(),i);d>0&&(o.score+=d*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function wf(e,t,n,r){K(e.title)===t&&(r.score+=Qu,r.matched.add("title"));for(let i of n){let s=Hn(K(i.value),t);s>0&&(r.score+=s*i.weight*Ju,r.matched.add(i.name))}}function ks(e,t,n,r,o,i,s=!1){let a=e.metadata,d=yf(a,n,i);if(d)return d;let c=new Map;for(let y of pf(a.title))c.set(y,(c.get(y)??0)+1);let l=_f(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};vf(t,c,l,o,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Zu),t.length>=Xu&&n.includes(" ")&&wf(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((y,_)=>y.localeCompare(_)),matched_all_terms:h}}function Ss(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=Q(n.item.status,t),s=Q(r.item.status,t);if(i!==s)return i?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=E(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function Es(e,t,n,r,o,i,s,a=!1){return ks(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function Nn(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(i=>[i,1]));let o=new Map;for(let[i,s]of e)o.set(i,(s-n)/(r-n));return o}function Cs(e,t,n,r,o,i,s,a,d,c,l,u,f,h){let g=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let v=Le({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Wn(h),items:[],count:0,...g,filters:v,...l.length>0?{warnings:l}:{}}}let _=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:Ne({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:_},now:O(),...l.length>0?{warnings:l}:{}}}function Bn(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,m.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var U=Dt;function xt(e){let t=x(),n=Br(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,o=r.query,i=r.queryExpansion??r.query_expansion,s=r.rerank,a=U(r.name)??U(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function xs(e){let t=U(e.search?.provider),n=xt(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Ts(e){let t=x(),n=U(e.vector_store?.adapter),r=Gr(t,n);if(!r)return null;let o=r.runtime_definition??r.definition,i=o.query;if(typeof i!="function")return null;let s=o.upsert;return{adapterName:U(o.name)??U(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function Is(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,m.GENERIC_FAILURE);let o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=U(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||o.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:d,matched_fields:u})}return i}function As(e,t){let n=[],r=new Map;for(let o of e){if(r.has(o.id))continue;let i=t.get(o.id);i&&(r.set(o.id,o.score),n.push({item:i.metadata,score:o.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Et(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),o=e.filter(c=>!r.has(c.item.id)),i=o.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=i+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...o]}function Gn(e,t,n,r,o="semantic"){let i=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=Nn(t),d=Nn(i),c=new Set([...t.keys(),...i.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,g=d.get(u)??0,y=h*r+g*l;if(y<=0)return null;let _=new Set;t.has(u)&&_.add(o);for(let v of s.get(u)??[])_.add(v);return{item:f.metadata,score:y,matched_fields:[..._].sort((v,k)=>v.localeCompare(k))}}).filter(u=>u!==null)}function Rs(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Fs(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Zi(Yr(s,{fields:e.corpusFields}))})),n=Qi(t),r=Ji(n,Ln(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:o.get(a).metadata,score:d,matched_fields:["bm25"]}));return Et(s,e.keywordHits)}let i=Gn(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Et(i,e.keywordHits)}function Ds(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function Ms(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(`
11
- `)}async function bf(e,t){let n=e.queryExpansion.enabled?Bi(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let o=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Wi(r,Gi(o),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function kf(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(o){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Bt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Bt(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function Sf(e,t,n){return[...e].sort((o,i)=>o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)).slice(0,n).map(o=>{let i=t.get(o.item.id);return i?{hit:o,text:Ms(i)}:null}).filter(o=>o!==null)}async function Ef(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(i=>({id:i.hit.item.id,text:i.text,score:i.hit.score}))})),o=Ki(r);return o.length>0?new Map(o.map(i=>[i.id,i.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function Cf(e,t,n){let r=await Ef(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Yi(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function xf(e,t){let n=new Set(t.keys()),r=e.map(o=>{let i=t.get(o.item.id);if(i===void 0)return o;let s=new Set(o.matched_fields);return s.add("rerank"),{...o,score:i,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((o,i)=>{let s=n.has(o.item.id),a=n.has(i.item.id);return s!==a?s?-1:1:o.score!==i.score?i.score-o.score:o.item.id.localeCompare(i.item.id)}),r}async function Tf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=Sf(n,r,e.rerank.top_k),i=await Cf(e,t,o);return i&&i.size>0?xf(n,i):n}async function $s(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},o=e.query.trim(),i=await bf(e,o),s=await tt(e.provider,i,n),a=await Promise.all(s.map(async g=>await kf(e,g,t,r))),d=Ds(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=As(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Et(l,e.keywordHits),vectorMatchCount:f};let h=await Tf(e,o,Gn(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Et(h,e.keywordHits),vectorMatchCount:f}}async function Os(e,t,n,r){let o=Xn(x()),i=async(c,l,u)=>{let f=async(h,g)=>{await ve({path:h,scope:"project"});let y=await St.readFile(h,"utf8");return kr(y,{format:g,schema:r,extensionFieldNames:o,onWarning:v=>s.push(v)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=Ft(e,c.type,c.id,h,n);try{return await f(g,h)}catch{return s.push(`item_list_item_read_failed:${jn.relative(e,g)}`),""}}},s=[],a=await Pr(e,t,n,s,r),d=[];if(a.length===0){let c=await jr(e,t,n,s,r);for(let l of c){let u=Ft(e,l.type,l.id,t,n),f=await i(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await i(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}function Ls(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function Ns(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=Ls(n,o);return r})}function If(e){let t=xt(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Af(e){let t=xt(U(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function Rf(e,t){let n=[],r=ds(e),o=Object.keys(r.inlineFilters).length>0;if(o&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let i=o?r.residualQuery:e,s=ls(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:bt(s.includeLinked),titleExact:bt(s.titleExact),phraseExact:bt(s.phraseExact),matchMode:Ui(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Hi(s.minScore),countOnly:s.count===!0,tokens:In(i),normalizedQuery:K(i),limit:fe(s.limit),projection:xn(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function Ff(e,t){let n=C(process.cwd(),t.path);await j(n);let r=await D(n),o=qr(r).settings,i=P(o.schema),s=X(o.schema);Tn(e.projection,s,e.query);let a=Ze(e.options,s,"search"),d=F(o,x()),c=Kr(o),l=Xr(o,n),u=xs(o),f=Ts(o),h=ji(e.options.semanticWeight),g=qi(o,c.active?.name??null),y=zi(o,c.active?.model??U(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:An(o),scoreThreshold:e.minScoreOverride??Fn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??Dn(o),tuning:Mn(o),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Rs({configuredProvider:U(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:If(g),rerank:y,rerankExtension:Af(o),...Df({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f})}}function Df(e){let n=zr(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),r=e.extensionSearchProvider!==null||n,o=Rn({requested:e.requested,settings:e.settings,semanticRunnable:r});return{effectiveMode:o.mode,modeSource:o.source}}async function Mf(e,t){let n=await Os(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=Je(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=fo(t.statusRegistry),i=ps(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:ms(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function $f(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await gs(o,er(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await _s(a,i)]));for(let[a,d]of s)r.set(a,d);return r}async function Of(e,t,n){let r=await $f(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>Es(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}function rs(e,t){return Cs(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)}async function Lf(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=Fs({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Vr(t.settings),bm25Params:es(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&o.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),i}async function Nf(e,t,n,r){if(!t.extensionSearchProvider)return null;let o=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let i=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return Is(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,m.GENERIC_FAILURE);return null}}function Pf(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 jf(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await cs(e.pmRoot,n,r),e.extensionSearchProvider||Bn(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Uf(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,d=await Lf(t,n,r,o,i),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await jf(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await Nf(t,n,r,l)??a,a===o){let{provider:u,vectorStore:f}=Bn(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await $s({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Pf(c,h,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return i.push(as(n.effectiveMode,l)),{effectiveMode:"keyword",hits:o}}}function Hf(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Wn(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:Le({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 Pn({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:Ne({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:O()},e.warnings)}function Wn(e){return e==="settings"?{mode_source:e}:{}}function Pn(e,t){return t.length===0?e:{...e,warnings:t}}function kt(e,t){return t?{...e,workspace_memory:t}:e}function Bf(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(i=>[i.metadata.id,i])),o=n.map(i=>({...i,highlights:bs(r.get(i.item.id),i.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:o,projection:e.projection}:{hits:o,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Gf(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return Pn({query:e.query.trim(),mode:e.effectiveMode,...Wn(e.modeSource),items:t,count:t.length,...s,...i,filters:Le({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:Ne({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:o.mode,fields:a},now:O(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function Wf(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function i_(e,t,n){Wf(t);let r=Rf(e,t),o=await Ff(r,n),i=await Mf(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await ht(i.allDocuments.map(S=>S.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:O()});s.push(...a.warnings);let d=fi(a,r.query);o.effectiveMode==="hybrid"&&o.semanticWeightProvided&&o.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:o.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:o.scoreThreshold,hybridSemanticWeight:o.hybridSemanticWeight,queryExpansion:o.queryExpansion,rerank:o.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:o.runtimeFieldFilters};if(o.effectiveMode==="keyword"&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(rs({...c,effectiveMode:o.effectiveMode},r.countOnly),d);let l=await Of(r,o,i.filteredDocuments),u=await Uf({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return kt(rs({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(S=>S.exact_id_match===!0||S.score>=o.scoreThreshold),h=Ss(f,o.statusRegistry),g=h.length,y=Pi({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),_={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return kt(Hf(_,g),d);let{hits:v,projection:k}=Bf(r,i.filteredDocuments,y.limited),w=Ns(v,k);return kt(Gf(_,w,g,y.limited.length,k,y.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]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function d_(e,t={}){let n=await wo({pmRoot:C(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{Us as a,zt as b,qf as c,Ks as d,Vs as e,zf as f,ko as g,rt as h,Ys as i,ot as j,st as k,xm as l,To as m,Im as n,$m as o,Om as p,Bm as q,Gm as r,Wm as s,Xo as t,sn as u,ft as v,Mc as w,ei as x,Pc as y,mt as z,jc as A,Uc as B,Wc as C,qc as D,Jm as E,zc as F,ti as G,an as H,cn as I,nd as J,cd as K,dp as L,dn as M,ln as N,pt as O,md as P,_d as Q,ht as R,Ed as S,ui as T,Cd as U,fi as V,pi as W,Cp as X,xp as Y,Tp as Z,Ip as _,hi as $,xd as aa,Md as ba,Ie as ca,Yp as da,pn as ea,Ld as fa,Nd as ga,gn as ha,te as ia,yn as ja,vn as ka,wn as la,he as ma,Fe as na,_t as oa,Xp as pa,Nl as qa,Qp as ra,Bl as sa,uh as ta,fh as ua,mh as va,ph as wa,hh as xa,xh as ya,Di as za,Mi as Aa,$i as Ba,Vh as Ca,Yh as Da,Le as Ea,Ne as Fa,$u as Ga,Pi as Ha,An as Ia,Rn as Ja,Fn as Ka,Dn as La,Mn as Ma,is as Na,ss as Oa,of as Pa,sf as Qa,o_ as Ra,i_ as Sa,d_ as Ta};
12
- //# sourceMappingURL=chunk-I32L3FWW.js.map