@unbrained/pm-cli 2026.10.5 → 2026.10.6

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 (114) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +26 -1
  3. package/dist/cli/register-setup.js +1 -1
  4. package/dist/cli/runtime/projection-retry.js +1 -1
  5. package/dist/cli-bundle/bundle-manifest.json +158 -158
  6. package/dist/cli-bundle/chunks/{chunk-Z66DWDAU.js → chunk-25EW53VO.js} +39 -38
  7. package/dist/cli-bundle/chunks/{chunk-YVBRASXO.js → chunk-3CCVTV6Q.js} +2 -2
  8. package/dist/cli-bundle/chunks/{chunk-5MNOWZPN.js → chunk-3REXBTST.js} +2 -2
  9. package/dist/cli-bundle/chunks/chunk-4WB55TBC.js +80 -0
  10. package/dist/cli-bundle/chunks/{chunk-OOLYASYJ.js → chunk-6STTPXOC.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-AJ7H6XUF.js → chunk-ATB4ZZBQ.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-N4YGSG6F.js → chunk-D4G43LBV.js} +38 -38
  13. package/dist/cli-bundle/chunks/{chunk-HRJ6G6ZG.js → chunk-K6D6DMRT.js} +28 -28
  14. package/dist/cli-bundle/chunks/chunk-KIRHWPZB.js +2 -0
  15. package/dist/cli-bundle/chunks/chunk-O67BH435.js +6 -0
  16. package/dist/cli-bundle/chunks/{chunk-3CYOBJUK.js → chunk-RJHLD64E.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-WFZ4UEOB.js → chunk-TUKO5NF7.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-VZ63DEVJ.js → chunk-XJD47LUH.js} +2 -2
  19. package/dist/cli-bundle/chunks/{register-list-query-75QXHIFH.js → register-list-query-53WYLNZT.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-mutation-YS54SCHG.js → register-mutation-34XXUBVI.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-operations-6KHZQSYJ.js → register-operations-WANO6EIM.js} +2 -2
  22. package/dist/cli-bundle/chunks/register-setup-WT37UPBQ.js +2 -0
  23. package/dist/cli-bundle/focused-chunks/{chunk-GITOYRUW.js → chunk-6KFKQD2D.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-UDYRVBOZ.js → chunk-FOHRPFIT.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-DDRN42PB.js → chunk-GRQXL5G5.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-ABV67XCC.js → chunk-JZ4WGUVH.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-B5RSLVE6.js → chunk-NM3PM6O6.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-OT7HK7SG.js +2 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-2CVX3KR3.js → chunk-PCLU34KB.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-5C3IDDW7.js → chunk-QQIE4L42.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/chunk-RPUNVKXK.js +2 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-LE4JUCRR.js → chunk-RXSVJPZ7.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-SPN5QTZ3.js +30 -0
  34. package/dist/cli-bundle/focused-chunks/{chunk-CLDPTMQY.js → chunk-SUZJNPGB.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-YMU42COG.js → chunk-W4BG5HHS.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-C224METM.js → chunk-Y5HXFDTZ.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-ECBOPEJE.js → chunk-ZK5SOOPC.js} +61 -61
  38. package/dist/cli-bundle/focused-chunks/chunk-ZQK2XUSS.js +12 -0
  39. package/dist/cli-bundle/main.js +21 -21
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +1 -1
  42. package/dist/cli-bundle/sdk-core.js +31 -30
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +42 -42
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +2 -2
  50. package/dist/core/extensions/extension-types.d.ts +2 -0
  51. package/dist/core/extensions/extension-types.js +1 -1
  52. package/dist/sdk/cli-bootstrap.d.ts +5 -1
  53. package/dist/sdk/cli-bootstrap.js +1 -1
  54. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  55. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  56. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  57. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
  58. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  59. package/dist/sdk/extension/managed-state.d.ts +2 -0
  60. package/dist/sdk/extension/managed-state.js +1 -1
  61. package/dist/sdk/extension/managed-update-status.d.ts +3 -0
  62. package/dist/sdk/extension/managed-update-status.js +2 -0
  63. package/dist/sdk/extension/source-resolution.d.ts +2 -6
  64. package/dist/sdk/extension/source-resolution.js +1 -1
  65. package/dist/sdk/extension/update-check.d.ts +10 -0
  66. package/dist/sdk/extension/update-check.js +1 -1
  67. package/dist/sdk/extension-command-context.js +2 -1
  68. package/dist/sdk/extension.d.ts +4 -0
  69. package/dist/sdk/extension.js +1 -1
  70. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  71. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  72. package/dist/sdk/public-surface.json +1 -1
  73. package/dist/sdk/query/get.js +1 -1
  74. package/dist/sdk/read-output-contracts.js +1 -1
  75. package/dist/sdk/runtime-input.js +1 -1
  76. package/dist/sdk/test/execution.d.ts +2 -1
  77. package/dist/sdk/test/execution.js +3 -3
  78. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +36 -0
  79. package/docs/GET_READ_EVIDENCE.md +17 -1
  80. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +23 -0
  81. package/docs/PR_REVIEW_LOOP.md +21 -4
  82. package/docs/README.md +1 -0
  83. package/docs/RELEASING.md +18 -0
  84. package/docs/SDK_CONFIGURATION_SAFETY.md +123 -0
  85. package/docs/generated/FLAG_LEXICON_BUDGETS.md +3 -3
  86. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
  87. package/marketplace.json +2 -2
  88. package/package.json +3 -3
  89. package/packages/pm-beads/package.json +1 -1
  90. package/packages/pm-calendar/package.json +1 -1
  91. package/packages/pm-command-kit/package.json +1 -1
  92. package/packages/pm-digital-twin/package.json +1 -1
  93. package/packages/pm-governance-audit/package.json +1 -1
  94. package/packages/pm-guide-shell/package.json +1 -1
  95. package/packages/pm-kanban/package.json +1 -1
  96. package/packages/pm-lifecycle-hooks/package.json +1 -1
  97. package/packages/pm-linked-test-adapters/package.json +1 -1
  98. package/packages/pm-search-advanced/package.json +1 -1
  99. package/packages/pm-templates/package.json +1 -1
  100. package/packages/pm-todos/package.json +1 -1
  101. package/packages/pm-vcs/package.json +1 -1
  102. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  103. package/plugins/pm-claude/package.json +2 -2
  104. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  105. package/plugins/pm-codex/package.json +2 -2
  106. package/plugins/pm-codex/plugin.json +1 -1
  107. package/dist/cli-bundle/chunks/chunk-D332RXZ7.js +0 -80
  108. package/dist/cli-bundle/chunks/chunk-KRVI56QE.js +0 -6
  109. package/dist/cli-bundle/chunks/chunk-TGMONGWX.js +0 -2
  110. package/dist/cli-bundle/chunks/register-setup-RTATEN2M.js +0 -2
  111. package/dist/cli-bundle/focused-chunks/chunk-DOVTUKJQ.js +0 -2
  112. package/dist/cli-bundle/focused-chunks/chunk-GUIF3WVC.js +0 -30
  113. package/dist/cli-bundle/focused-chunks/chunk-RHIH6XIW.js +0 -12
  114. package/dist/cli-bundle/focused-chunks/chunk-XV5RV4ZT.js +0 -2
@@ -0,0 +1,12 @@
1
+ import{$ as ft,E as Xt,F as yo,Ia as Do,O as st,Q as ue,Qa as q,R as at,Ra as $o,S as ct,Sa as Oo,T as vo,Ua as Te,V as Co,Va as Lo,W as Io,Wa as No,X as dt,Xa as Po,Y as xo,Ya as jo,Z as ut,Za as Uo,_ as mt,aa as To,ab as Bo,bb as Go,db as zo,ea as Ro,eb as Vo,fa as Jt,g as ho,h as go,hb as Ko,ib as Zt,jb as en,kb as W,oa as Ao,ob as Yo,pb as Xo,ub as Jo,wb as Zo,za as fe}from"./chunk-Y5HXFDTZ.js";import{e as ot,f as Yt,g as to,h as no}from"./chunk-QQIE4L42.js";import{Na as jr,Va as Ur}from"./chunk-W4BG5HHS.js";import{$a as wo,Ab as G,Ba as mo,Bb as ne,Cb as re,D as ee,Eb as So,Fb as me,Ia as it,Ib as Eo,Ja as fo,Ka as po,Mb as Ce,Ob as Ie,Rb as xe,Sb as Fo,T as L,Tb as Mo,U as R,Ub as pt,V as J,Xa as M,Y as lo,Yb as Ho,Zb as qo,_a as _o,aa as te,ac as Wo,cb as bo,eb as Qt,f as ro,fa as uo,g as oo,h as io,i as so,j as ao,n as Ee,oc as Qo,w as co,wb as lt,yb as ko}from"./chunk-6KFKQD2D.js";import{b as Ar,n as P,p as Q}from"./chunk-NM3PM6O6.js";import{$ as p,$c as Gr,$d as E,Aa as zt,Ad as Vr,Bd as Kr,Da as ke,Ea as Ye,Fe as Kt,Gd as Yr,H as le,Ja as $r,Ka as Or,Lc as C,Le as Zr,M as Wt,Me as eo,N as Ve,Qc as Se,Ua as D,Uc as Br,V as Tr,Xd as F,Z as Rr,_a as T,_c as de,_d as Xr,aa as h,ab as Lr,ae as Qr,bd as Qe,be as H,cb as Vt,dd as Je,eb as Xe,ed as Ze,fd as Hr,he as et,i as xr,id as qr,jd as Wr,je as tt,kd as zr,le as nt,oe as Jr,pe as rt,sa as Dr,sb as Nr,ta as Ke,ua as Fr,xa as Mr,zb as Pr}from"./chunk-SPN5QTZ3.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]="c08374a3-4ac6-5f9a-be69-0ac9839bba39")}catch{}})();var Qs="PmCliError";function Js(e){if(!Number.isFinite(e))throw new TypeError("createPmCliExpectedError options.exitCode must be a finite number");let t=Math.trunc(e);if(t<=p.SUCCESS)throw new TypeError("createPmCliExpectedError options.exitCode must be a positive exit code");return t}function ei(e,t={}){if(typeof e!="string"||e.trim().length===0)throw new TypeError("createPmCliExpectedError message must be a non-empty string");let n=new h(e,Js(t.exitCode??p.USAGE),t.context??{});return"cause"in t&&Object.defineProperty(n,"cause",{value:t.cause,enumerable:!1,configurable:!0,writable:!0}),n}function Qm(e){if(!(e instanceof Error)||e.name!==Qs)return!1;let t=e;return typeof t.exitCode=="number"&&Number.isFinite(t.exitCode)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var Zs=["invalid_envelope","source_incomplete","source_unchecked","filtered_corpus","terminal_items_excluded","strict_read_unproven","page_incomplete","count_mismatch","projection_incomplete","field_omission","omission_receipt_missing","omission_receipt_invalid","read_output_missing","read_output_invalid","read_output_dimensions_incomplete","budget_compaction","budget_omission","session_projection","invalid_item_id","duplicate_item_id"],tn=class extends Error{receipt;constructor(t){super(`Complete-list certification failed: ${t.map(n=>n.code).join(", ")}.`),this.name="PmCompleteListValidationError",this.receipt={contract_version:1,contract:"complete_list",findings:t,recovery:{suggested_retry:"pm list --all --output-include full --strict-read --no-truncate --output-budget unbounded --output-limit unbounded --json",sdk:"await client.listAllComplete()"}}}};function ef(e={}){return Yr({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function I(e,t,n,r){t&&e.push({code:n,message:r})}function ea(e,t){let n=z(e.completeness)?e.completeness:{};I(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),I(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,o=n.unreadable_directory_count;I(t,n.status==="complete"&&(r!==0||o!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(o),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),I(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(o)||Number(r)<0||Number(o)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let i=z(e.filters)?e.filters:{},s=z(i.runtime_filters)?i.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return I(t,i.status!=="all"||Object.keys(s).length>0||Object.keys(i).some(l=>!a.has(l)),"filtered_corpus","The list did not explicitly select every lifecycle status."),I(t,i.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),I(t,i.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),i}function ta(e,t,n){I(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),I(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=z(e.projection)?e.projection:{};I(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let o=z(e.omission_receipt)?e.omission_receipt:void 0;I(n,o===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),I(n,o!==void 0&&(o.has_omissions!==!1||o.omitted_field_group_count!==0||!Number.isSafeInteger(o.omitted_field_group_count)||!Array.isArray(o.omitted_field_groups)||o.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),I(n,o?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function na(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 ra(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 oa(e,t){let n=z(e.read_output)?e.read_output:void 0;I(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),I(t,n!==void 0&&na(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),I(t,n!==void 0&&!ra(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),I(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=z(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;I(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),I(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function ia(e,t){let n=e.map(r=>z(r)&&typeof r.id=="string"?r.id.trim():"");I(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),I(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function sa(e){if(!z(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:Zs[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=ea(t,n);return ta(t,r,n),oa(t,n),ia(t.items,n),{ok:n.length===0,findings:n}}function aa(e){let t=sa(e);if(!t.ok)throw new tn(t.findings);let n=e;return{...n,complete_list:{contract_version:1,item_count:n.items.length,unique_item_id_count:new Set(n.items.map(r=>r.id)).size,terminal_items_included:!0,source_complete:!0,full_projection:!0,no_omissions:!0,unbounded:!0}}}function tf(e){aa(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function sf(e,t={}){let n=await Jo({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(o=>o.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let o=r.id;return{...r,canonical_id:o,close_command:`pm close <duplicate-id> --duplicate-of ${o}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var ti=16;async function ni(e,t,n){let r=D(t,C()).type_to_folder,o=[],i=new Set,s=n;for(;s&&o.length<ti;){let a=s.trim().toLowerCase();if(!a||i.has(a))break;i.add(a);let l=await ne(e,s,t.id_prefix,t.item_format,r);if(!l)break;let c=await re(l,{schema:t.schema});o.push(c.document.metadata.id),s=c.document.metadata.parent}return o}async function mf(e){await io({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await ni(e.pmRoot,e.settings,e.itemId)})}async function ff(e){await so(e)}async function pf(e){await ao({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await ni(e.pmRoot,e.settings,e.itemId)}:{}})}var hf={lineage_depth:ti,active_items:64,evidence_rows:32};function ri(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}import{encode as ca}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="809a4d75-4915-585d-9fc8-ad3e9ef15b1f")}catch{}})();var nn=["agenda","day","week","month"],rn=["markdown","toon","json"],la=["sun","mon","tue","wed","thu","fri","sat"],da=365,ua=365,si=28,ma=1e3;function on(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new h(`${t} must be a non-negative integer`,p.USAGE);return n}function fa(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 h("Calendar include filter must not be empty",p.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 h("Calendar include filter must be deadlines|reminders|events|scheduled|all",p.USAGE)}return r}function ai(e,t){let n;for(let r of t){let o=xr(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(!nn.includes(t)){let n=ai(t,nn);throw new h(`Calendar view must be one of ${nn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function ha(e){if(!e)return;let t=e.trim().toLowerCase();if(!rn.includes(t)){let n=ai(t,rn);throw new h(`Calendar format must be one of ${rn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,p.USAGE)}return t}function kf(e,t){let n=ha(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"markdown"}function ga(e,t){if(e===void 0)return;let n=L(e,t);if(!n){let r=t.definitions.map(o=>o.id);throw new h(`Calendar status filter must be one of ${r.join("|")}`,p.USAGE)}return n}function ya(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new h("Calendar assignee filter must be one of assigned|unassigned",p.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new h(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,p.USAGE);return t}function ht(e){return new Date(e).toISOString().slice(0,10)}function ci(e,t){if(!t||t==="UTC")return ht(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,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 ht(e)}function ln(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function V(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function li(e){let t=new Date(ln(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return V(t.toISOString(),r)}function _a(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function wa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function ba(e,t){return E(e,t)>=0?e:t}function oi(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function ii(e,t){e.set(t,(e.get(t)??0)+1)}function va(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)=>le(r)-le(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 di(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 ui(e){return la[new Date(e).getUTCDay()]}function ka(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Sa(e){let t=new Set;for(let n of e??[]){let r=ka(n);r&&t.add(r)}return t}function Ea(e,t,n,r,o){let i=e??V(n,-(r??ua)),s=t??V(e??n,o??da);return{start:i,end:E(s,i)>0?s:V(i,1)}}function Ca(e,t,n,r){let o=t.by_weekday!==void 0?[...t.by_weekday]:[ui(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??ma,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Sa(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)=>le(s)-le(a)),sortedMonthDays:[...new Set(i)].sort((s,a)=>s-a),occurrences:[],produced:0}}function gt(e,t){return E(t,e.startAt)<0?"continue":e.until&&E(t,e.until)>0||E(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,E(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function yt(e,t){let n=ui(t),r=new Date(t).getUTCDate(),o=!e.weekdayFilter||e.weekdayFilter.has(n),i=!e.monthDayFilter||e.monthDayFilter.has(r);return o&&i}function Ia(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(yt(e,t)&&gt(e,t)==="stop");n+=1)t=V(t,e.interval);return e.occurrences}function xa(e,t,n){let r=le(n),o=V(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 Ta(e){let t=li(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=V(t,n*e.interval*7);for(let o of e.sortedWeekdays){let i=xa(e,r,o);if(yt(e,i)&&gt(e,i)==="stop")return e.occurrences}}return e.occurrences}function Ra(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let o=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let i of e.sortedMonthDays){let s=di(o.getUTCFullYear(),o.getUTCMonth(),i,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Aa(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=di(o,n,i,e.startDate);if(!(!s||!yt(e,s))&&gt(e,s)==="stop")return e.occurrences}}return e.occurrences}function Da(e,t,n,r){let o=Ca(e,t,n,r);return t.freq==="daily"?Ia(o):t.freq==="weekly"?Ta(o):t.freq==="monthly"?Ra(o):Aa(o)}function mi(e){return[...e].sort((t,n)=>{let r=E(t.at,n.at);if(r!==0)return r;let o=t.item_priority-n.item_priority;if(o!==0)return o;let i=t.item_id.localeCompare(n.item_id);if(i!==0)return i;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function dn(e){return{item_id:e.id,item_title:e.title,item_type:e.type,item_status:e.status,item_priority:e.priority,item_assignee:e.assignee??null,item_deadline:e.deadline??null,item_tags:e.tags}}function Fa(e){return e.deadline?{at:e.deadline,date:ht(e.deadline),kind:"deadline",reminder_text:null,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...dn(e),item_deadline:e.deadline}:null}function Ma(e){return(e.reminders??[]).map(t=>({at:t.at,date:ht(t.at),kind:"reminder",reminder_text:t.text,event_title:null,event_end:null,event_location:null,event_all_day:null,event_timezone:null,event_recurring:null,event_recurrence_rule:null,...dn(e)}))}function $a(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Oa(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function La(e,t,n,r){let o=va(t.recurrence),i=$a(t.start_at,t.end_at);return(t.recurrence?Da(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):ci(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Oa(s,t,i),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:o,...dn(e)}))}function Na(e,t,n,r){let o=[];for(let i of e){let s=n.has("deadlines")?Fa(i):null;s&&o.push(s),n.has("reminders")&&o.push(...Ma(i));for(let a of n.has("events")?i.events??[]:[])o.push(...La(i,a,t,r))}return mi(o)}function Pa(e,t,n,r,o){let i=Oo(t.type,n),s=t.tag?.trim().toLowerCase(),a=$o(t.priority),l=ga(t.status,r),c=t.assignee?.trim(),d=ya(t.assigneeFilter),u=t.sprint?.trim(),m=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',p.USAGE);if(c!==void 0&&d==="unassigned")throw new h("Cannot combine --assignee with --assignee-filter unassigned",p.USAGE);return e.filter(f=>ja(f,{typeFilter:i,tagFilter:s,priorityFilter:a,statusFilter:l,assigneeFilter:c,assigneeModeFilter:d,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:o}))}function ja(e,t){return Ua(e,t)&&Ba(e,t)&&ct(e,t.runtimeFieldFilters)}function Ua(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 Ba(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 Ga(e,t,n){return!(t&&E(e.at,t)<0||n&&E(e.at,n)>=0)}function sn(e,t,n){return e.trim().toLowerCase()==="today"?ln(t):H(e,new Date(t),n)}function Ha(e,t,n){let r=t.date?sn(t.date,n,"--date"):n,o=t.past===!0,i=t.fullPeriod===!0,s=t.from?sn(t.from,n,"--from"):void 0,a=t.to?sn(t.to,n,"--to"):void 0;if(s&&a&&E(s,a)>=0)throw new h("Calendar --from must be before --to",p.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new h("--from and --to are only supported for --view agenda",p.USAGE);if(e==="agenda")return qa(r,t,n,o,i,s,a);if(e==="day"){let c=ln(r);return an(r,n,o,i,c,V(c,1))}if(e==="week"){let c=li(r);return an(r,n,o,i,c,V(c,7))}let l=_a(r);return an(r,n,o,i,l,wa(r))}function qa(e,t,n,r,o,i,s){if(o)throw new h("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",p.USAGE);return{anchor:e,start:i??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function an(e,t,n,r,o,i){let s=n||r;return{anchor:e,start:s?o:ba(o,t),end:i,periodStart:o,periodEnd:i,fullPeriod:s}}function Wa(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:mi(r)}))}function za(e){let t=new Set,n=new Map,r=new Map,o=0,i=0,s=0,a=0;for(let l of e)t.add(l.item_id),ii(n,l.item_type),ii(r,l.item_status),l.kind==="deadline"?o+=1:l.kind==="reminder"?i+=1:(s+=1,l.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:oi(n),by_status:oi(r),recurring_events:a}}function Va(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function fi(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 cn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function Ka(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===ci(e.event_end,e.event_timezone)?fi(e.event_end,e.event_timezone):e.event_end:null}function Ya(e){let t=`${fi(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let o=Ka(e);return o&&n.push(`end=${o}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function Sf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${Va(e.range)}`),e.range.period_start&&e.range.period_end&&(t.push(`- period: ${e.range.period_start} -> ${e.range.period_end}`),t.push(`- period-mode: ${e.range.full_period?"full-period":"active-window"}`)),t.push(`- events: ${e.summary.events} (deadlines: ${e.summary.deadlines}, reminders: ${e.summary.reminders}, scheduled: ${e.summary.scheduled})`),t.push(`- items: ${e.summary.items}`),t.push(`- by-kind: ${cn(e.summary.by_kind)}`),t.push(`- by-type: ${cn(e.summary.by_type)}`),t.push(`- by-status: ${cn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push("No calendar events matched the selected filters."),t.join(`
2
+ `);for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${Ya(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 Xa(t.join(`
3
+ `))}function Ef(e){return ca(e)}function Xa(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function Qa(e){let t=F(),n=pa(e.view),r=Ha(n,e,t),o=q(e.limit),i=fa(e.include),s=on(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=on(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),l=on(e.occurrenceLimit,"Calendar occurrence limit");if(l!==void 0&&l<1)throw new h("Calendar occurrence limit must be >= 1",p.USAGE);let c=i.has("events")&&!i.has("deadlines")&&!i.has("reminders"),d=e.to!==void 0||s!==void 0||a!==void 0||l!==void 0,u=c&&!d;return{nowValue:t,view:n,rangeBounds:r,limit:o,includeSources:i,occurrenceLimit:l,recurrenceLookaheadDays:u?si:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function Ja(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${si}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Za(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 pi(e,t){let n=T(process.cwd(),t.path);await G(n);let r=Qa(e),o=await M(n),i=P(o.schema),s=Q(o.schema),a=at(e,s,"calendar"),l=D(o,C()),c=[];Ja(c,r.eventsOnlyCapApplied);let d=await me(n,o.item_format,l.type_to_folder,c,o.schema),u=Pa(d,e,l,i,a),m=Ea(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),f=Na(u,m,r.includeSources,r.occurrenceLimit).filter(w=>Ga(w,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?f:f.slice(0,r.limit),_=Wa(g),y=[...new Set(c)].sort((w,S)=>w.localeCompare(S));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:ec(e,r.rangeBounds),filters:Za(e,a),summary:za(g),events:g,days:_,...y.length>0?{warnings:y}:{}}}import nc from"node:fs/promises";import _i from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var un={version:1,aliases:{}};function _t(e=[]){let t=new Set(Ee),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let 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 hi(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function mn(e,t){if(e.agent_harness?.trim())return{agent_harness:e.agent_harness,harness_source:"recorded"};let n=t.aliases[e.author];return n?{agent_harness:n,harness_source:"vocabulary"}:{harness_source:"unresolved"}}function tc(e,t=Ee){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 h(`Provenance predicate must use dimension=value; received "${i.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let a=i.slice(0,s).trim().toLowerCase(),l=i.slice(s+1).trim();if(!n.has(a))throw new h(`Unknown provenance dimension "${a||i.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,p.USAGE,{code:"unknown_provenance_dimension"});if(l.length===0)throw new h(`Provenance predicate must use dimension=value; received "${i.trim()}".`,p.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(l),r.set(a,c)}return r}function wt(e,t=un,n={}){let r=mn(e,t);return{...n.itemId===void 0?{}:{item_id:n.itemId},...n.version===void 0?{}:{version:n.version},ts:e.ts,op:e.op,author:e.author,...e.author_source===void 0?{}:{author_source:e.author_source},...r,vocabulary_version:t.version,...e.agent_instance===void 0?{}:{agent_instance:e.agent_instance},agent_provenance:e.agent_provenance??{},...e.message===void 0?{}:{message:e.message}}}function bt(e,t=un,n=Ee){let r=hi(e.harness),o=hi(e.agentInstance),i=tc(e,n);return s=>{let a=mn(s,t).agent_harness;if(r&&(!a||!r.has(a))||o&&!o.has(s.agent_instance??""))return!1;for(let[l,c]of i){let d=s.agent_provenance?.[l];if(!d||!c.has(d.value))return!1}return!0}}function vt(e,t=un,n=Ee){let r=new Set(n),o=new Map,i=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);mn(s,t).agent_harness?i+=1:o.set(s.author,(o.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:i,unresolved:e.length-i,unresolved_authors:[...o].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,l=0;for(let c of e){let d=c.agent_provenance?.[s];d===null?l+=1:d!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:l,legacy_missing:e.length-a-l}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a4394793-55d4-5049-ab20-707c1c3d9f2c")}catch{}})();var rc=20,oc=5,ic=15,sc="-24h";function jf(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 ac={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function fn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new h(`${t} must not be empty`,p.USAGE);return n}function gi(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new h("Activity time bounds must not be empty",p.USAGE);let o=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return H(o,new Date(t),n)}function cc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&E(e.ts,t)<0||n&&E(e.ts,n)>=0)}function yi(e,t){return t===void 0?e:e.slice(0,t)}function Re(e,t=""){return typeof e=="string"?e:t}function lc(e,t){return{...t,id:e,ts:Re(t.ts),author:Re(t.author,"unknown"),op:Re(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Re(t.before_hash),after_hash:Re(t.after_hash)}}function dc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let o=t.id.localeCompare(n.id);return o!==0?o:t.op.localeCompare(n.op)})}async function uc(e){try{return(await nc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Fr(t))return[];throw t}}function mc(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 fc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?ic:n==="compact"?rc:oc}function pc(e,t){let n=F(),r=t==="digest",o=gi(e.to??(r?n:void 0),n,"--to"),i=gi(e.from??(r?sc:void 0),e.from===void 0&&r?o:n,"--from");if(i&&o&&E(i,o)>=0)throw new h("Activity --from must be before --to",p.USAGE);let s=ue(e.limit);if(e.unbounded===!0&&s!==void 0)throw new h("Activity --unbounded cannot be combined with --limit",p.USAGE);return{id:fn(e.id,"Activity --id"),op:fn(e.op,"Activity --op"),author:fn(e.author,"Activity --author"),from:i,to:o,limit:fc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function hc(e){let t=T(process.cwd(),e.path);return await G(t),{pmRoot:t,settings:await M(t)}}async function gc(e){let t=D(e.settings,C()),n=await me(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await wo({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(o=>o.id),commandLabel:"activity"});let r=_i.join(e.pmRoot,"history");return await Se({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(o=>[o.id,{title:o.title,type:o.type,status:o.status}]))}}function yc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:cc(t,n.from,n.to)}async function _c(e,t){let n=[];for(let r of await uc(e)){let o=r.slice(0,-6);if(t.id&&o!==t.id)continue;let i=await te(_i.join(e,r),o);for(let s of i){let a=lc(o,s);yc(s,a,t)&&n.push(a)}}return n}function wc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function bc(e){let t=[...e.entries()].sort(([r,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 vc(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:bc(o.operations)}}).sort((r,o)=>E(o.last_ts,r.last_ts)||r.id.localeCompare(o.id))}function kc(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 Sc(e,t,n,r,o){if(e==="digest"){let s=vc(t,r),a=yi(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let i=yi(t,n);return e==="compact"?{rows:{compact_activity:wc(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 wi(e,t){let n=await hc(t),r=mc(e),o=pc(e,r),i=await gc(n),s=_t(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,l=bt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},a,s),c=dc(await _c(i.historyDir,o)).filter(l),d=Sc(r,c,o.limit,i.itemsById,m=>wt(m,a,{itemId:m.id})),u=d.totalRows-d.returnedRows;return{...d.rows,compact:d.compact,projection:{mode:r,row_key:ac[r]},omission_receipt:Qe("activity",r),count:d.returnedRows,total_count:d.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:d.totalRows,author_count:new Set(c.map(m=>m.author)).size,operation_counts:kc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:vt(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]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var bi="1970-01-01T00:00:00.000Z";function Ae(e){if(typeof e!="string")return null;let t=e.trim();if(!Xr(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]="e750a203-8bef-5bfd-85a5-a584c2105472")}catch{}})();var pn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],Ec=Symbol("no-context-author"),Cc=Symbol("no-item-assignee");function vi(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Ic(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 xc(e){let t=Ic(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ae(e.created_at)??bi}}function Tc(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=Ae(e.coordinate);if(t===null)throw new TypeError("Context signal recency coordinate must be a valid absolute timestamp with millisecond precision");return{...e,coordinate:t}}function 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 Ac(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 kt(e,t,n){return e?.[t]??n}function St(e,t){let n=new Map(e.map(c=>{let d=t.recencyEvidence?.[c.id];return[c.id,d===void 0?xc(c):Tc(d)]})),r=[...e].sort((c,d)=>{let u=n.get(c.id).coordinate,m=n.get(d.id).coordinate;return E(m,u)||c.id.localeCompare(d.id)}),o=new Map(r.map((c,d)=>[c.id,d])),i=Math.max(e.length-1,1),s=vi(t.author,Ec),a=L("in_progress",t.statusRegistry),l=Date.parse(t.now);return e.map(c=>{let d=vi(c.assignee,Cc)===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:kt(t.graphProximity,c.id,c.parent?.3:0),claim_focus:kt(t.claimFocus,c.id,R(c.status,t.statusRegistry)===a?1:d?.75:0),priority_pressure:Rc(c.priority,4),risk_pressure:Dc(c.risk),deadline_pressure:Ac(c.deadline,l),knowledge_density:kt(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:kt(t.authorAffinity,c.id,d?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Fc="context_relevance",Mc={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},$c=new TextEncoder;function Oc(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"||!pn.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 Lc(e){let t={...Mc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&pn.includes(n)&&(t[n]=r);for(let[n,r]of Object.entries(t))if(!Number.isFinite(r)||r<0)throw new TypeError(`Context relevance weight ${n} must be a finite non-negative number`);return t}function Si(e,t={}){Oc(e);let n=Lc(t.weights),r=Math.max(e.length-1,1),o=new Set(["structural"]);for(let a of e)for(let[l,c]of Object.entries(a.signals??{}))c!==void 0&&o.add(l);let i=pn.filter(a=>o.has(a)),s=e.map((a,l)=>{let c={structural:e.length===1?1:1-l/r,...a.signals},d={},u=0,m=0;for(let f of i){let g=c[f];if(g===void 0)continue;let _=g*n[f];d[f]=_,u+=_,m+=n[f]}return{...a,baseline_rank:l+1,rank:0,score:m===0?0:u/m,contributions:d}});return s.sort((a,l)=>l.score-a.score||a.baseline_rank-l.baseline_rank),s.forEach((a,l)=>{a.rank=l+1}),{model:"default-weighted-v1",available_signals:i,ranked:s}}async function Nc(e,t={}){let n=Si(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 Et(e,t,n={}){let r=Si(t,n),o=await Br(Fc,{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 Nc(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 Pc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function ki(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function jc(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,d)=>d-c).slice(0,n.length||1),o=c=>c.reduce((d,u,m)=>d+(2**u-1)/Math.log2(m+2),0),i=o(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),l=e.actual_tokens<=e.token_budget;return{ndcg:i===0?1:o(n)/i,reciprocal_rank:s<0?0:1/(s+1),required_recall:ki(e.required_ids??[],a),continuity_coverage:ki(e.continuity_ids??[],a),token_budget_adherence:l?1:e.token_budget/e.actual_tokens,within_token_budget:l}}function Uc(e){return Math.ceil($c.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 Hc(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=Uc(i);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:jc({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=Pc;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 Vf(e,t,n){let r=[];for(let o of e)r.push(await Hc(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]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var Wc={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},zc=["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=zc.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 Kc(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=Wc[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 Yc(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 Xc(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 l=e[a];if(l.token_costs.identity>t)continue;s+=1;let c=i<0?void 0:e[i],d=n(l)/l.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(d>u||d===u&&c!==void 0&&(l.rank<c.rank||l.rank===c.rank&&l.id.localeCompare(c.id)<0))&&(i=a)}return{index:i,evaluated:s,timedOut:!1}}function Qc(e){let t=new Set,n=[],r=e.tokenBudget,o=c=>{let d=c.lineage??c.cluster,u=d&&t.has(d)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},i=c=>{let d=c.token_costs.identity;n.push({...c,projection:"identity",tokens:d,marginal_value:o(c)}),r-=d;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(d=>d.required))c.token_costs.identity<=r&&i(c);let s=e.ordered.filter(c=>!c.required),a=!0,l=0;for(;s.length>0;){let c=Xc(s,r,o,e.deadline,e.readClock);if(l+=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:l}}function Jc(e,t){let n=t;for(let r of["summary","full"]){let o=r==="summary"?"identity":"summary",i=[...e].sort((s,a)=>{let l=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(l,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 Ei(e,t){let n=Kc(t),r=Yc(e),o=t.readClock??performance.now.bind(performance),i=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:o()+t.latencyBudgetMs,s=Qc({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:i,readClock:o}),{included:a}=s,l=Jc(a,s.remaining);a.sort((d,u)=>d.rank-u.rank||d.id.localeCompare(u.id));let c=new Set(a.map(d=>d.id));return{included:a,omitted_ids:r.filter(d=>!c.has(d.id)).map(d=>d.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-l,remaining_tokens:l,complete:s.selectionComplete&&a.length===e.length&&a.every(d=>d.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import De from"node:fs/promises";import Fe from"node:path";import{createHash as Ci,randomUUID as Zc}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="01eff51c-7656-5c3f-b0c0-28594fca8a1e")}catch{}})();var hn=3,gn=2,Ii=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],el=new Set(["substantive_history","release_cohort","created_at"]),tl={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 xi(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function nl(e){let t={};for(let n of Ii){let r=e[n];if(r!==void 0){if(!xi(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function rl(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 ol(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 Ti(e,t){return{...t,activityDensity:t.activityDensity??rl(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??ol(e)}}function wn(e){let t=Ci("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 il(e){if(!pe(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",pe(e.signals),pe(t)].every(Boolean))return null;let n=t.recency;if(!pe(n))return null;let r=Ae(n.coordinate);if(r===null)return null;let o=new Set(Ii),i=Object.entries(e.signals);return!i.every(([s,a])=>o.has(s)&&xi(a))||![typeof n.source=="string"&&el.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 sl(e,t){let n=Array.from(e,il);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!==wn(r)?null:r.sort((o,i)=>o.id.localeCompare(i.id))}function al(e){if(!pe(e)||e.format_version!==hn||e.signal_set_version!==gn||typeof e.source_cursor!="string"||e.source_cursor.trim().length===0||typeof e.recency_evidence_fingerprint!="string"||!/^sha256:[a-f0-9]{64}$/u.test(e.recency_evidence_fingerprint)||typeof e.generated_at!="string"||!Number.isFinite(Date.parse(e.generated_at))||e.source!=="derived_index"&&e.source!=="scan_fallback"||!Array.isArray(e.items))return null;let t=sl(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:hn,signal_set_version:gn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Ri(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=wn(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:nl(s),signal_provenance:a})).sort((i,s)=>i.id.localeCompare(s.id));return Object.freeze({format_version:hn,signal_set_version:gn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(o.map(i=>Object.freeze(i)))})}function op(e,t){return Ri(t),Ai(St(e,Ti(e,t)),t)}var yn=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Fe.resolve(t)}async read(){try{return JSON.parse(await De.readFile(this.filePath,"utf8"))}catch(t){if(pe(t)&&Ke(t))return null;throw t}}async write(t){let n=Fe.dirname(this.filePath);await De.mkdir(n,{recursive:!0});let r=Fe.join(n,`.${Fe.basename(this.filePath)}.${Zc()}.tmp`);try{await De.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await De.rename(r,this.filePath)}finally{try{await De.rm(r,{force:!0})}catch{}}}},_n=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Ri(n);let r=[],o=null;try{let m=await this.adapter.read();o=al(m),m!==null&&o===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let i=t.map(m=>m.id).sort((m,f)=>m.localeCompare(f)),s=o?.items.map(m=>m.id)??[],a=St(t,Ti(t,n)),l=wn(a),c=o!==null&&o.source_cursor===n.sourceCursor&&o.recency_evidence_fingerprint===l&&o.source===n.source&&s.length===i.length&&s.every((m,f)=>m===i[f]),d;if(c&&o!==null)d=o;else{o!==null&&r.push("context_signal_store_stale"),d=Ai(a,n,l);try{await this.adapter.write(d)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(d.items.map(m=>[m.id,m]));return{snapshot:d,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>tl[m])}}};function cl(e){let t=Ci("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 Ct(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let o=n?null:await lt(t.pmRoot),i=t.sourceCursor??o?.source_cursor??cl(e),s=t.source??(o===null?"scan_fallback":"derived_index"),a=new _n(new yn(Fe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),l=t.recencyEvidence??Object.fromEntries(Object.entries(await uo(t.pmRoot,e.map(c=>c.id))).map(([c,d])=>[c,{source:"substantive_history",coordinate:d.entry.ts,history_op:d.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:l,sourceCursor:i,source:s})}import ll from"node:path";import{createHash as dl}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Di(e){return e.completed_at!==void 0?{resolved:!0,timestamp:e.completed_at,source:"completed_at",fallback:!1}:e.closed_at!==void 0?{resolved:!0,timestamp:e.closed_at,source:"closed_at",fallback:!0}:e.updated_at!==void 0?{resolved:!0,timestamp:e.updated_at,source:"updated_at",fallback:!0}:{resolved:!1}}import ul from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Fi=1,ml=1e4,Mi=12;function fl(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function pl(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 hl(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 gl(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=Di(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,l=fl(a.timestamp),c=`epoch:${l}`,d=o.get(c)??{kind:"epoch",key:l,label:l,items:[]};d.items.push(i),o.set(c,d);let u=pl(s,r);if(u){let m=`epic:${u.id}`,f=o.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};f.items.push(i),o.set(m,f)}}return{format_version:Fi,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(hl).sort((i,s)=>s.last_closed_at.localeCompare(i.last_closed_at)||i.kind.localeCompare(s.kind)||i.key.localeCompare(s.key))}}function yl(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 _l(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(yl)&&Array.isArray(t.outcomes)&&t.outcomes.every(o=>typeof o=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function wl(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Fi||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(_l)?t:null}function bl(e){return`scan:${dl("sha256").update(Nr(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function vl(e,t,n){return n!==void 0?n:(await lt(t))?.source_cursor??bl(e)}async function kl(e){try{let t=wl(JSON.parse(await ul.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Ke(t))}}}async function It(e,t){let n=Math.max(1,Math.floor(t.minimumItems??ml));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await vl(e,t.pmRoot,t.sourceCursor),o=ll.join(t.pmRoot,"runtime","workspace-memory.json"),i=[],s=await kl(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 l=gl(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await Mr(o,`${JSON.stringify(l)}
6
+ `)}catch{i.push("workspace_memory_write_failed")}return{snapshot:l,cache_status:"rebuilt",warnings:i}}function Sl(e,t,n=Mi){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 $i(e,t,n=Mi){if(e.snapshot===null)return;let r=Sl(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 El(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 Oi(e,t,n=5){let r=El(e.snapshot,t,n);if(r.length!==0)return{cache_status:e.cache_status==="fresh"?"fresh":"rebuilt",matches:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="599ebac9-d3e8-561d-a971-8164179f1adf")}catch{}})();var Cl=["markdown","toon","json","ndjson"],xt=new Set(["Epic","Feature"]),Ui=10,Bi=1e4,Gi=["hierarchy","activity","progress","recently_created","unparented","workload"],Il=[...Gi,"blockers","files","staleness","tests"],xl=/^(\d{4})-(\d{2})-(\d{2})/,Tl=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,Rl=/^(\d{4})(\d{2})(\d{2})$/,Al=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function Dl(e){if(!e)return;let t=e.trim().toLowerCase();if(!Cl.includes(t))throw new h("Context format must be one of markdown|toon|json|ndjson",p.USAGE);return t}var Li=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 Fl(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!Li.has(r))throw new h(`Context --fields value not projectable: ${r} (valid: ${[...Li].join(", ")})`,p.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new h("Context --fields requires at least one field name",p.USAGE);return t}function Me(e,t){return e.map(n=>{let r={},o=n;for(let i of t)r[i]=o[i]??null;return r})}function Lp(e,t){let n=Dl(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Ml(e,t){return q(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Ui)}function kn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new h("--token-budget must be a positive integer",p.USAGE);return n}function $l(e,t){return t>=Bi&&e===Number.MAX_SAFE_INTEGER?Ui:e}function Ol(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Wt.includes(n))throw new h(`Context --depth must be one of ${Wt.join("|")}`,p.USAGE);return n}function Ll(e,t,n){if(e&&e.length>0){let r=[];for(let o of e){let i=o.trim().toLowerCase();if(!Ve.includes(i))throw new h(`Context --section must be one of ${Ve.join("|")}`,p.USAGE);r.includes(i)||r.push(i)}return r}return t==="brief"?[]:t==="full"?[...Ve]:(t==="deep"?Il:Gi).filter(r=>n.sections[r])}function Nl(e,t){return e?q(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Pl(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new h("--stale-threshold must be a number of days (e.g. 7 or 7d)",p.USAGE);let o=parseInt(r[1],10);if(o<=0)throw new h("--stale-threshold must be positive",p.USAGE);return o}function Ni(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 $e(e,t){let n=L("closed",t);return R(e,t)===n}function Sn(e,t){return R(e,t)===t.in_progress_status}function Hi(e,t){let n=R(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function jl(e,t){return t.blocked_statuses.has(R(e,t))}var Ul=["compact","brief","fields","includeBody","include_body","parent"];function Bl(e){let t={...e};for(let n of Ul)delete t[n];return t}function En(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let o=he(e),i=Oe(r.id,o);return{ids:new Set([r.id,...i.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function Gl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new h("Context --parent requires an item id",p.USAGE);return t}function Hl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function ql(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 Wl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function zl(e){let t=xl.exec(e)??Tl.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<=Wl(n,r-1)}function Vl(e){let t=Rl.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Al.exec(e);if(n){let[,r,o,i,s,a,l,c]=n,d=l?`:${l}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${o}-${i}T${s}:${a}${d}${u}`}return e}function qi(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!zl(t))return Number.NaN;let n=Date.parse(Vl(t));return Number.isFinite(n)?n:Number.NaN}function vn(e){let t=qi(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Kl(e){let t=qi(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Cn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function oe(e,t,n){let r=Ni(e.status,n)-Ni(t.status,n);if(r!==0)return r;let o=e.priority-t.priority;if(o!==0)return o;let i=Hl(e.order,t.order);if(i!==0)return i;let s=ql(e.deadline,t.deadline);if(s!==0)return s;let a=E(vn(t.updated_at),vn(e.updated_at)),l=e.id.localeCompare(t.id);return a!==0?a:l}function bn(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function In(e,t,n=new Set,r="context"){return Ei(e.ranked.map(o=>({id:o.id,item:o.item,rank:o.rank,score:o.score,required:n.has(o.id),cluster:o.item.parent?.trim()||o.item.type,token_costs:{identity:bn({id:o.id,title:o.item.title}),summary:bn({id:o.id,title:o.item.title,type:o.item.type,status:o.item.status,priority:o.item.priority,parent:o.item.parent}),full:bn(o.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function xn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Tn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(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 Wi(e,t){return t>0?Math.round(e/t*100):0}function he(e){let t=new Map;for(let n of e){let r=Cn(n.parent);if(!r)continue;let o=t.get(r)??[];o.push(n),t.set(r,o)}return t}function Le(e,t,n){let r={id:e.id,title:e.title,type:e.type,status:e.status,priority:e.priority,order:e.order??null,deadline:e.deadline??null,assignee:e.assignee??null,tags:Array.isArray(e.tags)?[...e.tags]:[],updated_at:e.updated_at,parent:Cn(e.parent)};if(t&&n){let o=Oe(e.id,n),i=o.length;if(i>0){let s=o.filter(a=>$e(a.status,t)).length;r.children_total=i,r.children_closed=s,r.completion_pct=Wi(s,i)}}return r}function Yl(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 Tt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Xl(e,t){return e.filter(n=>!t.terminal_statuses.has(R(n.item_status,t)))}function Ql(e,t,n,r){let o=new Map;for(let l of e)o.set(l.id,l);let i=he(e),s=new Set(t.filter(l=>xt.has(l.type)).map(l=>l.id)),a=[];for(let l of s){let c=o.get(l);if(!c)continue;let d=Oe(l,i),u=i.get(l)??[],m=0,f=0,g=0,_=0;for(let w of d)$e(w.status,n)?m++:Sn(w.status,n)?g++:jl(w.status,n)?_++:Hi(w.status,n)&&f++;let y=u.sort((w,S)=>oe(w,S,n)).slice(0,r).map(w=>{let S=Oe(w.id,i),b=S.filter(k=>$e(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:S.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:d.length,children_closed:m,children_open:f,children_in_progress:g,children_blocked:_,children:y})}return a.sort((l,c)=>{let d=o.get(l.id),u=o.get(c.id);return oe(d,u,n)}).slice(0,r)}function Oe(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 Jl(e,t){return(await wi({compact:!0,limit:String(e)},t)).compact_activity??[]}function Zl(e,t,n,r,o){let i=new Map;for(let l of e){if(!l.parent)continue;let c=i.get(l.parent)??[];c.push(l),i.set(l.parent,c)}let s=t.filter(l=>xt.has(l.type)),a=[];for(let l of s){let c=Oe(l.id,i),d=c.length;if(d===0)continue;let u=0,m=0,f=0,g=0;for(let _ of c)$e(_.status,r)?u++:n.has(_.id.trim().toLowerCase())?g++:Sn(_.status,r)?f++:Hi(_.status,r)&&m++;a.push({id:l.id,title:l.title,type:l.type,total:d,closed:u,open:m,in_progress:f,blocked:g,completion_pct:Wi(u,d)})}return a.sort((l,c)=>l.completion_pct-c.completion_pct).slice(0,o)}function ed(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=xe(i,o,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,l=a?o.get(a.trim().toLowerCase()):void 0;return{id:i.id,title:i.title,blocked_by:a,blocked_by_title:l?.title??null,blocked_by_status:l?.status??null,blocked_reason:i.blocked_reason??null,unblock_note:i.unblock_note??null}})}function td(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 nd(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=>Sn(s.status,t)).length,items:i.map(s=>s.id).sort()})).sort((o,i)=>i.active-o.active).slice(0,n)}function rd(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 od(e,t,n,r){return e.map(o=>({item:o,sortKey:vn(o.created_at)})).sort((o,i)=>{let s=E(i.sortKey,o.sortKey);return s!==0?s:o.item.id.localeCompare(i.item.id)}).slice(0,r).map(({item:o})=>({...Le(o,t,n),created_at:o.created_at}))}function id(e,t,n,r){return e.filter(o=>!Cn(o.parent)&&!xt.has(o.type)).sort((o,i)=>oe(o,i,t)).slice(0,r).map(o=>Le(o,t,n))}function sd(e){let t=0,n=0,r=0,o=0,i=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let l=a.test_runs??[];if(l.length>0){n++;let c=!1;for(let d of l)r+=d.passed??0,o+=d.failed??0,i+=d.skipped??0,(d.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 Pi(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function zi(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 ad(e,t){let n=e;return t.map(r=>{let o=n[r];return Array.isArray(o)?`${r}:${o.join(",")}`:`${r}:${o??"-"}`}).join(" ")}function cd(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`${Pi(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${Pi(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 ji(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 ld(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 dd(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(`- ${cd(n)}`);e.push("")}function ud(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 md(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 fd(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)}`:`- ${Kl(o.created_at)} ${zi(o)}`);e.push("")}}function pd(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 hd(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 gd(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 yd(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 _d(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 wd(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 bd(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 vd(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 Np(e){let t=[],n=e.focus_fields,r=i=>n?ad(i,n):zi(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(""),ji(t,"High-level focus",e.high_level,"No high-level active items.",r),ji(t,"Low-level focus",e.low_level,"No low-level active items.",r),ld(t,e,r),dd(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 ud(t,e),md(t,e),fd(t,e,n,r),pd(t,e,r),hd(t,e),gd(t,e),yd(t,e),_d(t,e),wd(t,e),bd(t,e),vd(t,e),t.join(`
7
+ `)}async function kd(e,t){let n=T(process.cwd(),t.path),r=await M(n),o=r.context??Rr.context,i=P(r.schema),s=Ol(e.depth,o),a=Ml(e.limit??e.maxItems,s);return{settings:r,contextSettings:o,statusRegistry:i,depth:s,limit:a,sectionsIncluded:Ll(e.section,s,o),activityLimit:Nl(e.activityLimit,o),staleThresholdDays:Pl(e.staleThreshold,o),parentScope:Gl(e.parent),focusFields:Fl(e.fields),baseListOptions:Bl(e)}}function Sd(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Ed(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Cd(e,t){let n=await W(void 0,Ed(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,o=r.filter(a=>!J(a.status,t.statusRegistry)),i=r,s=Id(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 Id(e,t){if(e===void 0)return;let n=En(t,e);if(!n.found)throw new h(`Context --parent item not found: ${e}`,p.NOT_FOUND);return n.ids}function xd(e,t,n,r){let o=new Set(pt(e,t,n,r).containers.map(i=>i.item.id));return new Set(e.filter(i=>xt.has(i.type)||o.has(i.id)||Ce(i.type,r)!=="agent").map(i=>i.id))}async function Td(e,t,n,r,o,i,s,a,l,c,d,u,m,f,g,_){let y=[...e].sort((v,ve)=>oe(v,ve,o)),w=await rt({pmRoot:m,author:l,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),S=await Ct(y,{pmRoot:m,storeKey:"context",statusRegistry:o,now:a,author:l,usageAffinity:w.affinity,claimFocus:g}),b=await Et("context",S.candidates),k=b.ranked.map(v=>v.item),$=o.active_statuses,x=k.filter(v=>$.has(R(v.status,o))),A=u?Wr(x,c,d,v=>v.id):0,j=u?x.slice(A,A+s):x,We=u&&j.length>0&&A+j.length<x.length,ze=We&&j.length>0?Hr(d,j[j.length-1].id,A+j.length-1):void 0,Z=k.filter(v=>r.has(v.id.trim().toLowerCase())),be=new Set([...j.map(v=>v.id),...Z.slice(0,s).map(v=>v.id)]),se=In({...b,ranked:b.ranked.filter(v=>be.has(v.id))},f,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),Y=se.included.map(v=>v.item),X=Y.filter(v=>$.has(R(v.status,o))),ae=Y.filter(v=>r.has(v.id.trim().toLowerCase())),ce=he(t),Ht=Sd(i)?ce:void 0,N=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),O=v=>{let ve=Le(v,o,Ht);return r.has(v.id.trim().toLowerCase())&&(ve.blocked=!0,ve.blocker_ids=xe(v,N,o).filter(qt=>!qt.resolved).map(qt=>qt.id)),ve},Cr=xd(X,n,o,_),Ys=X.filter(v=>Cr.has(v.id)).slice(0,u?j.length:s).map(O),Xs=X.filter(v=>!Cr.has(v.id)).slice(0,u?j.length:s).map(O),Ir=x.length===0;return{activeItems:X,blockedItems:ae,highLevel:Ys,lowLevel:Xs,blockedFallback:Ir?ae.slice(0,s).map(O):[],blockedFallbackUsed:Ir,ranking:b,packing:se,featureStore:S,pageExtras:{...u?{applied_limit:s}:{},...We?{has_more:!0,truncated:!0}:{},...ze?{next_cursor:ze}:{}}}}function Rd(e,t){return Ze("context",{pmRoot:t,options:Je(e,jr)})}function Ad(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=Bi}async function Dd(e,t,n,r){let o={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},i=await pi(o,e),s=n===void 0?i.events:i.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Xl(s,t.statusRegistry).slice(0,t.limit),l=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:l,agendaSummary:Yl(a)}}function Vi(e,t,n){let r=String(t);return e.filter(o=>R(o.status,n)===r).length}async function Fd(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:o,focusGroups:i,now:s,global:a}=e,l=he(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),d=u=>t.sectionsIncluded.includes(u);return{hierarchy:d("hierarchy")?Ql(n,i.activeItems,t.statusRegistry,t.limit):void 0,activity:d("activity")?await Jl(t.activityLimit,a):void 0,progress:d("progress")?Zl(n,i.activeItems,o,t.statusRegistry,t.limit):void 0,blockersSection:d("blockers")?ed(i.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:d("recently_created")?od(c,t.statusRegistry,l,t.limit):void 0,unparented:d("unparented")?id(c,t.statusRegistry,l,t.limit):void 0,filesSection:d("files")?td(i.activeItems,t.limit):void 0,workload:d("workload")?nd(i.activeItems,t.statusRegistry,t.limit):void 0,staleness:d("staleness")?rd(c,t.staleThresholdDays,s,t.limit):void 0,tests:d("tests")?sd(i.activeItems):void 0}}function Md(e,t,n){let r=L("canceled",t),o=e.filter(s=>t.active_statuses.has(R(s.status,t))),i=Vi(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=>$e(s.status,t)).length,canceled:e.filter(s=>R(s.status,t)===r).length}}function $d(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 Od(e,t){t&&(e.focus_fields=t,e.high_level=Me(e.high_level,t),e.low_level=Me(e.low_level,t),e.blocked_fallback=Me(e.blocked_fallback,t),e.recently_created&&(e.recently_created=Me(e.recently_created,t)),e.unparented&&(e.unparented=Me(e.unparented,t)))}function Ld(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 Nd(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 Pd(e,t,n,r){try{let o=new Set(t.packing.included.map(l=>l.id)),i=t.ranking.ranked.map(l=>({id:l.id,rank:l.rank,included:o.has(l.id)})),s=new Set(i.map(l=>l.id));for(let l of tt(e,"context"))s.has(l)||(i.push({id:l,rank:i.length+1,included:!1}),s.add(l));let a=await nt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e,a)}catch{e.warnings=Tt(e.warnings,["context_usage_feedback_write_failed"])}}async function jd(e,t,n){if(e)return{};let r=(await Pr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(i=>({name:i.name??i.directory,status:i.status==="ok"?"ok":"degraded"})).sort((i,s)=>i.name.localeCompare(s.name)),o=r.filter(i=>i.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-o,degraded:o,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function Ud(e,t){let n=co(),r=await ro(e),o=n.instance||oo(t);return ri(r.semantic_attribution?.[o])}async function Pp(e,t){let n=T(process.cwd(),t.path),r=await kd(e,t),o=await Cd(t,r),i=$l(r.limit,o.fullCorpus.length),s={...r,limit:i,tokenBudget:kn(e.tokenBudget,Math.max(256,i*160))},a=ee(void 0,s.settings.author_default),l=await Ud(n,a),c=jd(e.noExtensionHealth===!0,n,s.settings),d=Fo(o.fullCorpus,s.statusRegistry),u=await Td(o.listedItemMetadata,o.allItems,o.fullCorpus,d,s.statusRegistry,s.sectionsIncluded,s.limit,F(),a,e.after,Rd(e,n),Ad(e,o.fullCorpus.length),n,s.tokenBudget,l,D(s.settings,C())),m=await Dd(t,s,o.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),f=await It(o.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Tt(o.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],f.warnings),_=Vi(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),y=u.activeItems.length-_,w=await Fd({runtime:s,allItems:o.allItems,fullCorpus:o.fullCorpus,blockedIds:d,focusGroups:u,now:m.agenda.now,global:t}),S=Md(o.allItems,s.statusRegistry,d),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:o.listed.filters.runtime_filters??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:_,open:y,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:m.agendaSummary.events,...S},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=$i(f,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),$d(b,w,u.featureStore.warning_details),Ld(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Tn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=xn(u.packing)),Vr(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:R(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),Od(b,s.focusFields),Kr(b),g.length>0&&(b.warnings=g),Nd(b,u.activeItems,u.blockedItems),await Pd(b,u,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function Ki(e,t,n){let r={recommended:e.recommended,ready:e.ready},o=()=>Math.max(Kt(r,"json"),Kt(r,"toon")),i=r.ready.length+ +(r.recommended!==null),s=o(),a=s,l=r.ready;if(a>t&&(r.ready=[],a=o()),s>t&&a<=t){let u=0,m=l.length;for(;u<m;){let f=Math.ceil((u+m)/2);r.ready=l.slice(0,f),o()<=t?u=f:m=f-1}r.ready=l.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 d=i-r.ready.length-+(r.recommended!==null);n&&d===0&&a<=t||(e.truncation={...e.truncation,...d>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:d,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f610c3be-8212-56de-86d4-2b5b9752b87c")}catch{}})();var Bd=["markdown","toon","json"],Gd=5,Hd=1440*60*1e3;function qd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Bd.includes(t))throw new h("Next format must be one of markdown|toon|json",p.USAGE);return t}function Jp(e,t){let n=qd(e.format);if(t.json&&n&&n!=="json")throw new h("Cannot combine --json with --format markdown|toon",p.USAGE);return t.json?"json":n??"toon"}function Yi(e,t,n){let r=q(e,t);return r===void 0||r<=0?n:r}function Ne(e,t,n,r){return{...Le(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(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 Wd(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(zd(o.deadline,n)),i.push(Ie(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 Xi(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 Zp={partitionCallerOwnedReady:Xi,resolveNextCallerAuthor:(e,t)=>Qi(e,t)};function eh(e,t,n){let r=e.filter(o=>Ce(o.item.type,n)==="human");return{agent:t?e:e.filter(o=>Ce(o.item.type,n)!=="human"),decisions:t?[]:r}}function zd(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))/Hd);return i<0?`deadline ${r} (overdue ${-i}d)`:i===0?`deadline ${r} (due today)`:`deadline ${r} (in ${i}d)`}function Vd(e,t){let n=L("in_progress",t);return e.filter(r=>R(r.status,t)===n).length}function Rn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function Kd(e,t){return{type:e.type,tag:e.tag,priority:typeof e.priority=="number"?String(e.priority):e.priority,assignee:e.assignee,assigneeFilter:e.assigneeFilter,sprint:e.sprint,release:e.release,noTruncate:!0,...t}}function Rt(e,t,n){return[...e].sort((r,o)=>{let i=Rn(r.item,t),s=Rn(o.item,t);return i!==s?Number(i)-Number(s):oe(r.item,o.item,n)})}function Yd(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Wd(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function Xd(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 Qd(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 Jd(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 tt(e.result,"next"))r.has(i)||(n.push({id:i,rank:n.length+1,included:!1}),r.add(i));let o=await nt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});et(e.result,o)}catch{e.result.warnings=Tt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Zd(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=Xd(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==void 0&&Ki(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Tn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=xn(In(e.readyRanking,e.packingBudget,new Set,"next"))),await Jd({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function eu(e,t,n){if(!n)return e;let r=En(t,n);if(!r.found)throw new h(`Next --parent item not found: ${n}`,p.NOT_FOUND);return e.filter(o=>r.ids.has(o.id.trim().toLowerCase()))}async function tu(e,t,n,r,o,i,s){let a=e.filter(f=>!Rn(f.item,t)),l=s||a.length===0?e:a,c=await rt({pmRoot:i,author:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),d=await Ct(l.map(f=>f.item),{pmRoot:i,storeKey:"next",statusRegistry:n,now:r,author:o,usageAffinity:c.affinity}),u=await Et("next",d.candidates),m=new Map(l.map(f=>[f.item.id,f]));return{projectedReady:u.ranked.map(f=>m.get(f.id)).filter(f=>f!==void 0),ranking:u,completedContainer:a.length===0&&!s,featureStore:d}}function Qi(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function th(e,t){let n=T(process.cwd(),t.path),r=await M(n),o=Qi(e,r.author_default),i=P(r.schema),s=D(r,C()),a=F(),l=Yi(e.limit,"--limit",Gd),c=kn(e.tokenBudget,Math.max(192,l*128)),d=Yi(e.blockedLimit,"--blocked-limit",l),u=e.readyOnly===!0,m=typeof e.parent=="string"?e.parent.trim():"",f=await W(void 0,Kd(e,{excludeTerminal:!0}),t),g=await W(void 0,{excludeTerminal:!1,noTruncate:!0},t),_=eu(f.items,g.items,m),y=g.items,w=pt(_,y,i,s),S=he(y),b=Mo(w,i,e,s),k=Xi(b.ready,r.author_default,o),$=Rt(k.available,S,i),x=[...w.blocked].sort((N,O)=>oe(N.item,O.item,i)),{projectedReady:A,ranking:j,completedContainer:We,featureStore:ze}=await tu($,S,i,a,o,n,e.includeContainers===!0),Z=A.map((N,O)=>Ne(N,i,S,O+1)),be=x.map((N,O)=>Ne(N,i,S,O+1)),se=Rt(b.decisions,S,i).map((N,O)=>Ne(N,i,S,O+1)),Y=Rt(b.gates,S,i).map((N,O)=>Ne(N,i,S,O+1)),X=Rt(w.containers,S,i).map((N,O)=>Ne(N,i,S,O+1)),ae=Yd({projectedReady:A,readyRows:Z,statusRegistry:i,now:a,completedContainer:We}),ce=Qd(se.length,k.held.length,Z.length,l)??{};Y.length>l&&(ce.gate_needed_total=Y.length),X.length>l&&(ce.containers_total=X.length);let Ht={output_default:"toon",now:a,recommended:ae,ready:Z.slice(1,l+1),decision_needed:se.slice(0,l),gate_needed:Y.slice(0,l),containers:X.slice(0,l),blocked:u?[]:be.slice(0,d),held_by_others:k.held.slice(0,l),summary:{recommended:ae!==null,ready:Z.length,blocked:be.length,in_progress:Vd(Z,i),candidates:w.active_count,containers:w.container_count,decision_needed:se.length,gate_needed:Y.length,held_by_others:k.held.length},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,parent:m.length>0?m:null,limit:l,blocked_limit:d,ready_only:u,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:c},truncation:Object.keys(ce).length>0?ce:void 0};return Zd({result:Ht,recommended:ae,blockedRows:be,gateCount:Y.length,candidatesWarnings:f.warnings,corpusWarnings:g.warnings,readyRanking:j,explainRanking:e.explainRanking===!0,pmRoot:n,author:o,packingBudget:c,featureStore:ze,tokenBudget:e.tokenBudget===void 0?void 0:c,hasIntentBudget:typeof e.for=="string"})}function nh(e){let t=["# pm next","",...nu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...Pe(n,r.map(o=>`- ${je(o)}`),""));if(t.push(...Pe("Recommended",ru(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...Pe("Decision needed",(e.decision_needed??[]).map(n=>`- ${je(n)}`),"No human-gated decisions.")),t.push(...Pe("Ready",e.ready.map(n=>`- ${je(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Pe("Blocked",e.blocked.map(n=>`- ${ou(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 nu(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 ru(e){return e?[`- ${je(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Pe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ou(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${je(e)} blocked_by:${t}`}function je(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var iu=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],su=["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 au(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function oh(e,t,n={}){let r=n.includePagination!==!1;return[t,...iu.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(au)||su.some(o=>e?.[o]===!0)}function Ji(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var Zi=["parent","type","priority","status","assignee","tags","sprint","release"];function ts(e,t){let n=st(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function ns(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 h("Aggregate --sum and --avg must target the same numeric field",p.USAGE);let s=o??i;if(!t.includes(s))throw new h(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,p.USAGE);return{field:s,sum:o!==void 0,avg:i!==void 0}}function rs(e){let t=e?.trim()??"status";if(t.length===0)throw new h("--group-by requires at least one field name",p.USAGE);let n=Do(t);if(n.length===0)throw new h("--group-by requires a comma-separated list of fields",p.USAGE);for(let r of n)if(!Zi.includes(r))throw new h(`Aggregate group fields must be one of ${Zi.join("|")}; received "${r}"`,p.USAGE);return n}function os(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function is(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return os(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function ss(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 cu={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function es(e,t){return t==null||t===""?cu[e]:String(t)}function lu(e,t){return e.length===1?es(e[0],t[e[0]]):e.map(n=>`${n}=${es(n,t[n])}`).join(" | ")}function as(e,t,n){for(let r of n){let o=ss(e.group[r],t.group[r]);if(o!==0)return o}return 0}function cs(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let o=Number(r);if(Number.isFinite(o))return o}return null}function ls(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function An(e,t,n){let r=L(String(t),n)??t;if(r===n.open_status){e.open_count+=1;return}if(r==="in_progress"||n.active_statuses.has(r)&&r!==n.open_status){e.in_progress_count+=1;return}if(n.terminal_done_statuses.has(r)||r===n.close_status){e.closed_count+=1;return}e.other_count+=1}function du(e,t){return{row:{group:e,count:1},numeric_count:t===null?0:1,numeric_sum:t??0,null_count:t===null?1:0,open_count:0,in_progress_count:0,closed_count:0,other_count:0}}function uu(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function mu(e){e.accumulator.row.count+=1,e.includeCompletion&&An(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&uu(e.accumulator,e.numericValue)}function fu(e,t,n,r){for(let o of t){let i=At(n,o),s=e.get(i);if(s){mu({...r,accumulator:s});continue}let a=du(o,r.numericValue);r.includeCompletion&&An(a,r.item.status,r.statusRegistry),e.set(i,a)}}function pu(e,t){let n={};for(let r of e)n[r]=is(r,t);return n}function hu(e,t,n){let r=[pu(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(l=>({...a,[o]:l}))))}return r}function gu(e,t,n,r){let o={...e.row,group_label:lu(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=ls(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 yu(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 dh(e,t){if(e.count===!1)throw new h("Aggregate grouped counts are always enabled; omit count=false.",p.USAGE);let n=T(process.cwd(),t.path),r=await M(n),o=P(r.schema),i=["estimate","estimated_minutes","priority",...Q(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=rs(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new h("Aggregate --set-mode must be element or tuple",p.USAGE);let l=ts(e.status,o),c=ns(e,[...new Set(i)].sort((b,k)=>b.localeCompare(k))),d=e.completion===!0,u=e.includeUnparented===!0,m=await W(void 0,{...Ji(e),status:e.status,noTruncate:!0,strictRead:!0},t),f=new Map,g=0,_=0,y=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let $=c===null?null:cs(k,c.field),x=hu(s,k,a);fu(f,x,s,{item:k,statusRegistry:o,includeCompletion:d,numericAggregation:c,numericValue:$}),y+=x.length,_+=1}let w=[...f.values()].map(b=>gu(b,s,d,c)).sort((b,k)=>as(b,k,s)),S=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{..._u(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:_,items_skipped_unparented:g,group_memberships:y},filters:yu({groupBy:s,setMode:a,includeCompletion:d,includeUnparented:u,status:l,options:e,numericAggregation:c}),now:F(),...S?{warnings:S}:{}}}function _u(e,t,n){let r=Qo(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 h("Aggregate --after cursor is absent from the current grouping; restart without --after.",p.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 uh={buildGroupKey:At,compareAggregateRows:as,compareNullableGroupValue:ss,completionPct:ls,normalizeTagGroupValue:os,parseGroupBy:rs,parseNumericAggregation:ns,parseStatus:ts,readNumericAggregateValue:cs,resolveGroupValue:is,updateCompletionCounts:An};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var ds=1e6,us=20;function ms(e,t,n,r=us){if(!Number.isSafeInteger(r)||r<0)throw new h("Child projection sample limit must be a non-negative integer.",p.USAGE);let o=e.trim().toLowerCase(),i={},s=[],a=0;for(let y of t){if(a+=1,a>ds)throw new h(`Child projection exceeded the ${ds.toLocaleString("en-US")} item safety bound.`,p.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(y)}let l=new Map(s.map(y=>[y.id.trim().toLowerCase(),y])),c=Wo(qo(s,Ho())),d=new Set(c.children_by_parent.get(o)??[]);for(let y of s)y.parent?.trim().toLowerCase()===o&&d.add(y.id.trim().toLowerCase());let u=[...d].map(y=>l.get(y)),m=0;for(let y of u){let w=y.status.trim().toLowerCase();i[w]=(i[w]??0)+1,J(w,n)||(m+=1)}u.sort((y,w)=>y.id.localeCompare(w.id));let f=u.slice(0,r).map(y=>({id:y.id,title:y.title,type:y.type,status:y.status,priority:y.priority})),g=u.length>f.length,_=r===0?us:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(i).sort(([y],[w])=>y.localeCompare(w))),sample:f,sample_limit:r,truncated:g,next_offset:g?f.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${f.length} --limit ${_}`:null,scanned:a}}import{readdir as ku}from"node:fs/promises";import Fn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var wu=new Set(["event","meeting","reminder"]);function bu(e){return wu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Dn(e){if(!bu(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]="e2c03bb3-e603-579b-bb44-0b3757a00ea8")}catch{}})();var Su=new Set(["epic","feature","milestone","plan"]),Eu=new Set(Object.keys(Tr).map(e=>e.toLowerCase()));function $n(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Cu(e,t,n,r,o){let i=$n(e);return[...t.length>0?["body"]:[],...Object.entries(i).flatMap(([s,a])=>a>0?[s]:[]),...i.files+i.tests+i.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Dn(e)?["schedule"]:[],...r&&Ie(e).length>0?["blockers"]:[],...!o.full&&e.dependencies?.some(({id:s,kind:a,...l})=>Object.values(l).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function ps(e){let t=e.trim().toLowerCase();return t.length>0&&(Su.has(t)||!Eu.has(t))}function fs(e){return{ts:e.ts,author:e.author,message:e.message??null}}function Iu(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?fs(o):null,last_release:i?fs(i):null}}function xu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(ot.includes(t))return t;throw new h("Get --depth must be one of brief|standard|deep|full",p.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...ot,"full"]}})}function Tu(e,t,n){let r=$n(e),o={...e};if(!n&&e.dependencies!==void 0&&(o.dependencies=e.dependencies.map(({id:g,kind:_})=>({id:g,kind:_}))),t==="deep")return{...o,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:i,notes:s,learnings:a,files:l,tests:c,docs:d,reminders:u,events:m,...f}=o;return{...f,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Ru(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new h("Get --fields requires a comma-separated list of field names",p.USAGE);return t}function Dt(e){return e.startsWith("item.")?e.slice(5):e}function Au(e,t,n){if(e===null)return;let r=Yt(t),o=new Set(r),i=e.filter(s=>{let a=Dt(s);return!o.has(s)&&!o.has(a)});if(i.length>0){let s=["get",n,"--fields",e.filter(a=>!i.includes(a)).join(",")||"id,title,status"];throw new h(`Unknown get --fields value(s): ${i.join(", ")}`,p.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}var Du=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Fu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Du.has(n)?[]:void 0}function Mu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:$n(e)},o={id:e.id};for(let i of t){let s=Dt(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.")||s==="blockers"||(o[s]=Fu(n,r,s))}return o}function Ue(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function ge(e,t){return e.some(n=>{let r=Dt(n);return r===t||r.startsWith(`${t}.`)})}function $u(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new h("Get projection options are mutually exclusive; remove the extra projection flag and retry.",p.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",recovery:{suggested_retry:de(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new h("Get --tree-depth requires --tree",p.USAGE);if(e.at!==void 0&&e.tree===!0)throw new h("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",p.USAGE);return{depth:e.full?"deep":xu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?q(e.treeDepth,"--tree-depth"):void 0,fields:Ru(e.fields),fieldProjection:e.fields!==void 0}}async function Ou(e,t,n){let r=T(process.cwd(),t.path);await G(r);let o=await M(r),i=D(o,C());if(n!==void 0){let l=await Xo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:o,typeToFolder:i.type_to_folder,locatedId:l.document.metadata.id,metadata:l.document.metadata,body:l.document.body,historical:l}}let s=await ne(r,e,o.id_prefix,o.item_format,i.type_to_folder);if(!s)throw await Eo(r,e,o.id_prefix,i.type_to_folder);let a=await re(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 Lu(e,t,n,r){let o=Q(t.schema).definitions.map(i=>i.metadata_key);if(Au(e,o,r),n&&ge(e??[],"children"))throw new h("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",p.USAGE);if(n&&ge(e??[],"blockers"))throw new h("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",p.USAGE)}function Mn(e){let{fieldProjection:t,depth:n,fields:r,field:o}=e;return t?o==="body"||o==="linked"?Ue(r,o):ge(r,o):n!=="brief"}async function Nu(e,t){if(!t)return;let n=Xe(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return Iu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function Pu(e,t,n,r){let o=r||Ue(n,"linked.files"),i=r||Ue(n,"linked.tests"),s=r||Ue(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 ju(e,t){if(!t)return;let n=P(e.settings.schema),r=await me(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return ms(e.locatedId,r,n)}function Uu(e,t){let n=new Map;for(let r of e){let o=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${o}`:`local:${o.toLowerCase()}`,{...r,id:o})}return[...n.values()]}async function Bu(e,t){let n=Fn.basename(e),r=(await ku(Fn.dirname(e)).catch(o=>{throw ei("Cannot verify the blocker's physical file identity",{exitCode:p.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:o})})).filter(o=>o.toLowerCase()===n.toLowerCase()).sort((o,i)=>+(i===n)-+(o===n)||o.localeCompare(i)).map(o=>Fn.parse(o).name)[0];if(r===void 0)throw new h(`Blocker canonical file disappeared during identity verification: ${t}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function Gu(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?ge(n.fields,"blockers"):n.depth!=="brief"))return;let r=Ie(t.metadata);if(r.length===0)return;let o=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),i=new Map;for(let a of r){if(Zr(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(d=>d.id.trim()===a&&d.kind==="blocked_by"&&eo(d.source_kind)))continue;let l=await ne(t.pmRoot,o.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(l===null)continue;let c=await re(l,{schema:t.settings.schema});if(l.id=await Bu(l.itemPath,l.id),c.document.metadata.id!==l.id)throw new h(`Blocker identity differs from its canonical file: ${l.id}`,p.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});i.set(a.toLowerCase(),c.document.metadata)}let s=Uu(xe({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},i,P(t.settings.schema)),i);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...l})=>l),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function Hu(e,t,n,r){if(!r)return;let o=Dn(t.metadata);if(o){if(n===null||Ue(n,"schedule")){e.schedule=o;return}e.schedule=Object.fromEntries(Object.entries(o).filter(([i])=>n.some(s=>Dt(s)===`schedule.${i}`)))}}async function qu(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 Ph(e,t,n={}){let r=$u(n,e),o=await Ou(e,t,n.at);Lu(r.fields,o.settings,o.historical!==void 0,o.locatedId);let i=Mn({...r,field:"body"}),s=Mn({...r,field:"linked"}),a=Mn({...r,field:"claim_state"}),l=o.historical===void 0&&(r.fieldProjection?ge(r.fields,"children"):r.depth==="deep"&&(r.full||ps(o.metadata.type))),c=r.fieldProjection?ge(r.fields,"schedule"):r.depth!=="brief",d=await Nu(o,a),u={item:r.fieldProjection?Mu(o.metadata,r.fields):Tu(o.metadata,r.depth,r.full)};i&&(u.item.body=o.body),Pu(u,o,r.fields,s),d&&(u.claim_state=d),Hu(u,o,r.fields,c),await Gu(u,o,r);let m=await ju(o,l);m!==void 0&&(u.children=m);let f=await qu(o,n,r.treeDepth,t);if(f!==void 0&&(u.tree=f),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 Jr({pmRoot:o.pmRoot,author:ee(void 0,o.settings.author_default),itemIds:[o.locatedId],intent:"get"})}catch{}return Gr(u,r.fieldProjection?[]:Cu(o.metadata,o.body,m,o.historical===void 0,r)),u}var jh={shouldAutoIncludeGetChildren:ps};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9c9c1249-e52a-5203-8a84-d54211c30202")}catch{}})();function Wu(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function zu(e,t){return e.map(({entry:n,version:r})=>{let o=new Set,i=mo(n.patch);for(let s of i)o.add(Xt(s.path)),s.from&&o.add(Xt(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:i.length,changed_fields:[...o].sort((s,a)=>s.localeCompare(a))}})}function Vu(e){if(e[0]?.op!=="history_compact_baseline")return;let t=Qt(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function Ku(e,t){let n=T(process.cwd(),t.path);await G(n);let r=await M(n),o=D(r,C()),i=e.trim()===it,s=i?it:bo(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,o.type_to_folder),l=a?.id??s,c=i?fo(n):Xe(n,l);if(!a&&!await Dr(c))throw new h(`Item ${e} not found`,p.NOT_FOUND);return a&&await _o({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:l,settings:r}}async function Xh(e,t,n){let r=ue(t.limit),{historyPath:o,located:i,resolvedId:s,settings:a}=await Ku(e,n),l=await te(o,s),c=Vu(l),d=a.agent_identity.identity_vocabulary,u=_t(a.agent_identity.harness_signals),m=bt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},d,u),f=Yu(l).filter(({entry:x})=>m(x)),g=Wu(f,r),_=g.map(({entry:x})=>x),y=t.compact===!0,w=y?zu(g,c):void 0,S=t.provenance===!0?g.map(({entry:x,durableVersion:A})=>wt(x,d,{itemId:s,version:A})):void 0,b=t.provenance===!0?"provenance":y?"compact":"full",k={compact:{compact_history:w},provenance:{provenance_history:S},full:{history:_}}[b],$={id:s,...k,compact:y,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:Qe("history",b),count:_.length,limit:r??null,version_addressing:c,...t.provenanceSummary===!0?{provenance_summary:vt(f.map(({entry:x})=>x),d,u)}:{}};if((t.diff||t.field!==void 0)&&($.diff=yo(l,{windowStartIndex:Math.max(0,l.length-_.length),field:t.field})),t.verify){let x=i?(await re(i,{schema:a.schema})).document:void 0;if($.verification=Yo(l,x),s===it&&$.verification.ok){let A=await po(T(process.cwd(),n.path));$.verification={...$.verification,ok:A.ok,errors:A.ok?$.verification.errors:[...$.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:A.ok,workspace_state_mismatches:A.mismatched_documents,workspace_state_missing:A.missing_documents,workspace_state_unreadable:A.unreadable_documents}}}return $}function Yu(e){let t=Qt(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+1}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f7f0c9be-34c2-55fb-8676-de58e96c382f")}catch{}})();function Xu(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new h("Search mode must be one of keyword|semantic|hybrid",p.USAGE);return t}function Ft(e){return e===!0}function hs(e){return Or(e,0,1)??void 0}function gs(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new h("Search --match-mode must be one of and|or|exact",p.USAGE);return t}function ys(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new h("Search --min-score must be a finite number >= 0",p.USAGE);return t}function ie(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return H(n,new Date,t)}function U(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function On(e,t){if(e!==void 0)return H(e,new Date,t)}function Qu(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new h("Search --fields requires a comma-separated list of field names",p.USAGE);return[...new Set(t)]}function Mt(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,o=Qu(e.fields);if(Number(n)+Number(r)+ +(o!==void 0)>1)throw new h("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",p.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:de(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...to]}:r?{mode:"full",fields:[]}:o?{mode:"fields",fields:o}:{mode:"full",fields:[]}}function Ln(e,t,n="<query>"){if(e.mode!=="fields")return;let r=no(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",e.fields.filter(a=>!i.includes(a)).join(",")||"id,title,status,score"];throw new h(`Unknown search --fields value(s): ${i.join(", ")}`,p.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:de(s),suggested_retry_args:s}})}}function $t(e){let t=U(e);if(!t)throw new h("Search query must not be empty",p.USAGE);return t.split(/\s+/u).filter(Boolean)}function Nn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var Ju=["auto","keyword","semantic","hybrid"];function Zu(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return Ju.includes(n)?n:"auto"}function Pn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:Xu(e.requested),source:"explicit"};let t=Zu(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function jn(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function Un(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function Bn(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(o,i)=>typeof o=="number"&&Number.isFinite(o)&&o>=0?o:i;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import em from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function Gn(e){return Ze("search",{pmRoot:e.pmRoot===void 0?void 0:em.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:Je(e.searchOptions,Ur)})}function _s(e){let t=zr(e.sorted,{cursor:e.searchOptions.after,fingerprint:Gn(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function ws(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 tm=[{optionKey:"status",summaryKey:"status",normalize:e=>ws(e)?"all":e},{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function ye(e){let{mode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,runtimeFieldFilters:c}=e,d={};return Ko(d,r,tm),Object.assign(d,en(r)),Object.assign(d,Zt(r)),n!==void 0&&n!=="or"&&(d.match_mode=n),o&&(d.include_linked=!0),i&&(d.title_exact=!0),s&&(d.phrase_exact=!0),a>0&&(d.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(d.hybrid_semantic_weight=l),r.limit!==void 0&&(d.limit=r.limit),c&&Object.keys(c).length>0&&(d.runtime_filters=c),d}function _e(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:i,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:l,queryExpansion:c,rerank:d,runtimeFieldFilters:u}=e,m=f=>f??null;return{mode:t,match_mode:n,status:r.status===void 0||ws(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...en(r),...Zt(r),include_linked:o,title_exact:i,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?l:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:d.enabled,rerank_model:d.model,rerank_top_k:d.top_k,limit:m(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var nm=1.2,rm=.75;function Hn(e){return fe(e)}function om(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function vs(e){let t=[],n=new Map,r=0;for(let i of e){let s=Hn(i.text),a=om(s);r+=s.length;for(let l of a.keys())n.set(l,(n.get(l)??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 im(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function ks(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,im(e.documentCount,a))}if(i.size===0)return r;for(let s of e.documents){let a=0;for(let[l,c]of i){let d=s.termFrequencies.get(l);if(d===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=d+n.k1*u;a+=c*(d*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function bs(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Ss(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:bs(t?.k1,nm,0,1e3),b:bs(t?.b,rm,0,1)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var qn=4,sm=20,am=200,cm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function Wn(e,t){let n=[],r=new Set;for(let o of e){let i=o.trim().replaceAll(/\s+/g," ");if(i.length===0)continue;let s=i.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(i),n.length>=t))break}return n}function lm(e){let t=e.toLowerCase();return t.length>4&&t.endsWith("ies")?`${t.slice(0,-3)}y`:t.length>4&&(t.endsWith("ches")||t.endsWith("shes")||t.endsWith("xes")||t.endsWith("zes")||t.endsWith("sses"))?t.slice(0,-2):t.length>3&&t.endsWith("s")&&!t.endsWith("ss")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("as")?t.slice(0,-1):t}function dm(e){let t=e.toLowerCase();return t.length>2&&(!t.endsWith("s")||t.endsWith("ss"))?t.endsWith("y")&&!/[aeiou]y$/u.test(t)?`${t.slice(0,-1)}ies`:t.endsWith("ch")||t.endsWith("sh")||t.endsWith("x")||t.endsWith("z")||t.endsWith("ss")?`${t}es`:`${t}s`:t}function Cs(e,t=qn){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=fe(n);if(r.length===0)return[n];let o=r.filter(a=>!cm.has(a.toLowerCase())),i=r.map(a=>lm(a)),s=o.map(a=>dm(a));return Wn([n,r.join(" "),o.join(" "),i.join(" "),s.join(" ")],Math.max(1,t))}function Is(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?Wn(t.filter(n=>typeof n=="string"),qn):[]}function xs(e,t,n){return Wn([...e,...t],Math.max(1,n))}function Ts(e,t){let n=e.search?.query_expansion,r=ke(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:qn}}function Rs(e,t){let n=e.search?.rerank,r=ke(n?.model),o=$r(n?.top_k)??sm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(am,o)}}function As(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=ke(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 um(e,t){let n=e.length,r=0;for(let o=0;o<n;o+=1)r+=e[o]*t[o];return r}function Ds(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function mm(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=um(e,t),o=Ds(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 Fs(e,t,n,r,o){if(r.length===0)return new Map;let i=ke(t)??e.model,s=i===e.model?e:{...e,model:i},a=[n.trim(),...r.map(m=>m.text)],l=await dt(s,a,o?{timeout_ms:o}:{}),c=l[0];if(!c)return new Map;let d=Ds(c),u=new Map;for(let m=0;m<r.length;m+=1){let f=r[m],g=l[m+1];if(!g)continue;let _=mm(c,g,d);u.set(f.id,Math.max(0,Math.min(1,(_+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function we(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Be(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function zn(e){let t=e.metadata;return[t.title,t.description,t.status,we(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),ut(t).join(" "),mt(t).join(" "),Be(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),ft(t)]}function Vn(e,t){return zn(e).some(n=>U(n).includes(t))}function Kn(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&U(r.metadata.title)!==t||n.phraseExact&&!Vn(r,t)))}function fm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new h('--assignee no longer accepts "none" or "null".',p.USAGE)}function pm(e,t,n){let r=Te(e.assignee,{label:"--assignee"});fm(r);let o=zo(e),i=Vo(e);return{typeFilter:Lo(e.type,t),tagFilter:Te(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:No(e.priority),deadlineBefore:On(e.deadlineBefore,"deadline-before"),deadlineAfter:On(e.deadlineAfter,"deadline-after"),updatedAfter:ie(e.updatedAfter,"updated-after"),updatedBefore:ie(e.updatedBefore,"updated-before"),createdAfter:ie(e.createdAfter,"created-after"),createdBefore:ie(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:Te(e.sprint,{label:"--sprint"}),releaseFilter:Te(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:o,missingMetadataActive:jo(o),contentFieldFilters:i,contentFiltersActive:Bo(i)}}function hm(e,t){return gm(e,t)&&Qr(e,t)&&ym(e,t)}function gm(e,t){if(t.statusSet&&!t.statusSet.has(e.status)||t.typeFilter&&!t.typeFilter.has(e.type))return!1;let n=t.tagFilter;return!(n&&!we(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function ym(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 _m(e,t,n,r){let o=e.metadata;return!(!hm(o,t)||!ct(o,n)||t.missingMetadataActive&&!Uo(o,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Go(o,t.contentFieldFilters))}function Yn(e,t,n,r,o,i){let s=pm(t,n,o);return e.filter(a=>_m(a,s,r,i))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var wm=2,bm=120,vm=6,km=40,Sm=1e3,Em=900,Cm="\xAB",Im="\xBB",Ms=60;function Ot(e,t){let n=0,r=0;for(;;){let o=e.indexOf(t,r);if(o<0)return n;n+=1,r=o+t.length}}var $s=[{name:"title",weightKey:"title_weight",value:e=>e.metadata.title},{name:"description",weightKey:"description_weight",value:e=>e.metadata.description},{name:"tags",weightKey:"tags_weight",value:e=>we(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>ut(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>mt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Be(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>ft(e.metadata)}],xm=new Map($s.map(e=>[e.name,e]));function Xn(e,t){let n=t.filter(o=>o.length>0).sort((o,i)=>i.length-o.length).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,o=>`${Cm}${o}${Im}`)}function Qn(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,o=0;for(let d of t){if(d.length===0)continue;let u=n.indexOf(d);u>=0&&(r<0||u<r)&&(r=u,o=d.length)}if(r<0)return null;let i=Math.max(0,r-Ms),s=Math.min(e.length,r+o+Ms),a=Xn(e.slice(i,s),t),l=i>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${l}${a}${c}`}function Lt(e,t,n){let r=[];for(let o of t){let i=xm.get(o);if(i===void 0)continue;let s=Qn(i.value(e),n);s!==null&&r.push({field:o,snippet:s})}return r}function Tm(e,t,n){return[...$s.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Rm(e,t,n){let r=U(e.id),o=typeof n=="string"?n.trim().toLowerCase():"",i=U(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?Sm:Em,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Am(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 l=Ot(a.value.toLowerCase(),i);l>0&&(o.score+=l*a.weight,o.matched.add(a.name),o.matchedTokens.add(i))}}}function Dm(e,t,n,r){U(e.title)===t&&(r.score+=bm,r.matched.add("title"));for(let o of n){let i=Ot(U(o.value),t);i>0&&(r.score+=i*o.weight*vm,r.matched.add(o.name))}}function Jn(e,t,n,r,o,i,s=!1){let a=e.metadata,l=Rm(a,n,i);if(l)return l;let c=new Map;for(let g of fe(a.title))c.set(g,(c.get(g)??0)+1);let d=Tm(e,r,o),u={score:0,matched:new Set,matchedTokens:new Set};Am(t,c,d,o,u);let m=new Set(t),f=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&f&&(u.score+=km),t.length>=wm&&n.includes(" ")&&Dm(a,n,d,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,_)=>g.localeCompare(_)),matched_all_terms:f}}function Zn(e,t){return[...e].sort((n,r)=>{let o=r.score-n.score;if(o!==0)return o;let i=J(n.item.status,t),s=J(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 l=E(r.item.updated_at,n.item.updated_at);return l!==0?l:n.item.id.localeCompare(r.item.id)})}function er(e,t,n,r,o,i,s,a=!1){return Jn(e,t,n,r?o.get(e.metadata.id)??"":"",i,s,a)}function Ge(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let o of e.values())t=Math.min(t,o),n=Math.max(n,o);if(n===t)return new Map([...e.keys()].map(o=>[o,1]));let r=new Map;for(let[o,i]of e)r.set(o,(i-t)/(n-t));return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Pt(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let o=n.code;typeof o=="string"&&t.push(o.toLowerCase()),n=n.cause}return t.join(" ")}function jt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Pt(e),r=`${t} ${n}`;return r.includes("timed out")||r.includes("timeout")||r.includes("etimedout")?"timeout":r.includes("econnrefused")||r.includes("connection refused")||r.includes("connect ")||r.includes("enotfound")||r.includes("eai_again")||r.includes("econnreset")||r.includes("fetch failed")?"connection":"error"}function tr(e,t){let n=jt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Os(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function nr(e,t,n){try{let r=await Ao(e);r.warnings.length>0&&n.push(...r.warnings);let o=Zo(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(o.length===0)return;let i=Os(C());n.push(...Ls(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 Ls(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Ut(e,t,n,r){if(!t.active)throw new h(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,p.USAGE);if(!n.active&&!r)throw new h(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,p.USAGE);return{provider:t.active,vectorStore:n.active??null}}var B=Ye;function He(e){let t=C(),n=ho(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=B(r.name)??B(n.definition.name)??e;if(!a)return null;let l={providerName:a,...typeof o=="function"?{query:o}:{},...typeof i=="function"?{queryExpansion:i}:{},...typeof s=="function"?{rerank:s}:{}};return!l.query&&!l.queryExpansion&&!l.rerank?null:l}function rr(e){let t=B(e.search?.provider),n=He(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function or(e){let t=C(),n=B(e.vector_store?.adapter),r=go(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:B(o.name)??B(r.definition.name)??n??"extension",query:i,...typeof s=="function"?{upsert:s}:{}}}function ir(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new h(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,p.GENERIC_FAILURE);let o=new Set,i=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=B(s.id),l=s.score;if(!a||typeof l!="number"||!Number.isFinite(l)||o.has(a))continue;let c=n.get(a);if(!c)continue;let d=s.matched_fields,u=Array.isArray(d)&&d.every(m=>typeof m=="string")?[...new Set(d.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,f)=>m.localeCompare(f)):[`provider:${e}`];o.add(a),i.push({item:c.metadata,score:l,matched_fields:u})}return i}function sr(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 Nt(e,t){let n=t.filter(l=>l.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(l=>l.item.id)),o=e.filter(l=>!r.has(l.item.id)),i=o.reduce((l,c)=>Math.max(l,c.score),0),s=n.sort((l,c)=>c.score-l.score),a=i+s.length+1;return[...s.map((l,c)=>({...l,score:a-c,matched_fields:["id"]})),...o]}function Bt(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=Ge(t),l=Ge(i),c=new Set([...t.keys(),...i.keys()]),d=1-r;return[...c].map(u=>{let m=e.get(u),f=a.get(u)??0,g=l.get(u)??0,_=f*r+g*d;if(_<=0)return null;let y=new Set;t.has(u)&&y.add(o);for(let w of s.get(u)??[])y.add(w);return{item:m.metadata,score:_,matched_fields:[...y].sort((w,S)=>w.localeCompare(S))}}).filter(u=>u!==null)}function ar(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function cr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Ss(To(s,{fields:e.corpusFields}))})),n=vs(t),r=ks(n,Hn(e.query),e.bm25Params),o=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,l])=>({item:o.get(a).metadata,score:l,matched_fields:["bm25"]}));return Nt(s,e.keywordHits)}let i=Bt(o,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Nt(i,e.keywordHits)}function lr(e){let t=new Map;for(let r of e)for(let o of r){let i=t.get(o.id);(!i||o.score>i.score)&&t.set(o.id,o)}let n=[...t.values()];return n.sort((r,o)=>r.score!==o.score?o.score-r.score:r.id.localeCompare(o.id)),n}function dr(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
10
+ `)}async function Fm(e,t){let n=e.queryExpansion.enabled?Cs(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 xs(r,Is(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 Mm(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 h(`Extension vector adapter query failed and no built-in fallback store is configured (${o instanceof Error?o.message:String(o)})`,p.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await Jt(e.vectorStore,t,n,r)}if(e.vectorStore)return await Jt(e.vectorStore,t,n,r);throw new h("Semantic search requires either a configured vector store or an extension vector adapter query handler",p.USAGE)}function $m(e,t,n){return[...e].sort((r,o)=>r.score!==o.score?o.score-r.score:r.item.id.localeCompare(o.item.id)).slice(0,n).map(r=>{let o=t.get(r.item.id);return o?{hit:r,text:dr(o)}:null}).filter(r=>r!==null)}async function Om(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=As(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 Lm(e,t,n){let r=await Om(e,t,n);if(r)return r;let o=n.map(i=>({id:i.hit.item.id,text:i.text}));try{return await Fs(e.provider,e.rerank.model,t,o,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function Nm(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,l)=>a.localeCompare(l))}});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 Pm(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let o=$m(n,r,e.rerank.top_k),i=await Lm(e,t,o);return i&&i.size>0?Nm(n,i):n}async function ur(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},o=e.query.trim(),i=await Fm(e,o),s=await dt(e.provider,i,n),a=await Promise.all(s.map(async g=>await Mm(e,g,t,r))),l=lr(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:d,semanticScores:u}=sr(l,c),m=u.size;if(e.requestedMode==="semantic")return{hits:Nt(d,e.keywordHits),vectorMatchCount:m};let f=await Pm(e,o,Bt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Nt(f,e.keywordHits),vectorMatchCount:m}}function Ns(e){let t=He(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function Ps(e){let t=He(B(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Gt from"node:fs/promises";import mr from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function fr(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),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 js(e){let t=mr.resolve(e);try{let n=await Gt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function pr(e,t){let[n,r]=await Promise.all([js(e),js(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function hr(e,t){let n=fr(e.metadata),r=[];for(let o of n){let i=o.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!i)continue;let s=mr.resolve(i.resolved,o.path);if(!zt(i.resolved,s))continue;let a;try{a=await Gt.realpath(s)}catch{continue}if(zt(i.realpath,a))try{await Se({path:s,scope:o.scope}),r.push(await Gt.readFile(s,"utf8"))}catch{}}return r.join(`
11
+ `)}async function gr(e,t,n,r){let o=Ar(C()),i=async(c,d,u)=>{let m=async(f,g)=>{await Se({path:f,scope:"project"});let _=await Gt.readFile(f,"utf8");return lo(_,{format:g,schema:r,extensionFieldNames:o,onWarning:y=>s.push(y)}).body};try{return await m(d,u)}catch{let f=u==="toon"?"json_markdown":"toon",g=Vt(e,c.type,c.id,f,n);try{return await m(g,f)}catch{return s.push(`item_list_item_read_failed:${mr.relative(e,g)}`),""}}},s=[],a=await ko(e,t,n,s,r),l=[];if(a.length===0){let c=await So(e,t,n,s,r);for(let d of c){let u=Vt(e,d.type,d.id,t,n),m=await i(d,u,t);l.push({metadata:d,body:m})}return{documents:l,warnings:[...new Set(s)].sort((d,u)=>d.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){l.push({metadata:c.metadata,body:c.body});continue}let d=await i(c.metadata,c.item_path,c.item_format);l.push({metadata:c.metadata,body:d})}return{documents:l,warnings:[...new Set(s)].sort((c,d)=>c.localeCompare(d))}}async function Us(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let o=process.cwd(),i=await pr(o,Lr(o)),s=await Promise.all(n.map(async a=>[a.metadata.id,await hr(a,i)]));for(let[a,l]of s)r.set(a,l);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var Bs=["tag","status","type","priority"];function yr(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=Bs.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 _r(e,t,n){let r={...e};for(let o of Bs){let i=t[o];if(i!==void 0){if(Ye(r[o])!==void 0){n.push(`search_inline_filter_ignored:${o}:flag_takes_precedence`);continue}r[o]=i}}return r}function Gs(e,t){let n=[],r=yr(e),o=Object.keys(r.inlineFilters).length>0;if(o&&r.residualQuery.trim().length===0)throw new h("Inline field:value tokens consumed the entire query, leaving no search terms.",p.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let i=o?r.residualQuery:e,s=_r(t,r.inlineFilters,n);return{query:i,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Ft(s.includeLinked),titleExact:Ft(s.titleExact),phraseExact:Ft(s.phraseExact),matchMode:gs(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:ys(s.minScore),countOnly:s.count===!0,tokens:$t(i),normalizedQuery:U(i),limit:ue(s.limit),projection:Mt(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function Hs(e){if(e.after!==void 0&&e.count===!0)throw new h("Search --after cannot be combined with --count.",p.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function br(e,t,n,r,o,i,s,a,l,c,d,u,m,f){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let y=ye({mode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,...Er(f),items:[],count:0,...g,filters:y,...d.length>0?{warnings:d}:{}}}let _=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:f,items:[],count:0,...g,filters:_e({effectiveMode:t,matchMode:n,options:r,includeLinked:o,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:i,hybridSemanticWeight:s,queryExpansion:a,rerank:l,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:_},now:F(),...d.length>0?{warnings:d}:{}}}function vr(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let i=n.slice(5);return i.length===0?null:e.item[i]??null}let r=e,o=e.item;return Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function kr(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...o})=>o):e.map(n=>{let r={};for(let o of t.fields)r[o]=vr(n,o);return r})}function Sr(e,t){return br(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function qs(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return wr({query:e.query.trim(),mode:e.effectiveMode,...Er(e.modeSource),items:[],count:t,total:t,count_only:!0,filters:ye({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let n=e.projection.mode==="full"?null:[...e.projection.fields];return wr({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:_e({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:e.projection.mode,fields:n},now:F()},e.warnings)}function Er(e){return e==="settings"?{mode_source:e}:{}}function wr(e,t){return t.length===0?e:{...e,warnings:t}}function qe(e,t){return t?{...e,workspace_memory:t}:e}function Ws(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:Lt(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 zs(e,t,n,r,o,i){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return wr({query:e.query.trim(),mode:e.effectiveMode,...Er(e.modeSource),items:t,count:t.length,...s,...i,filters:ye({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=o.mode==="full"?null:[...o.fields];return{query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:t,count:t.length,...s,...i,filters:_e({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:o.mode,fields:a},now:F(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var zy={applyFilters:Yn,applyExactQueryFilters:Kn,applyInlineQueryFilters:_r,buildHitHighlights:Lt,buildVerboseSearchFilters:_e,buildExplicitSemanticFallbackWarning:tr,buildCompactSearchFilterSummary:ye,buildHybridLexicalScore:er,buildRerankCorpus:dr,buildSemanticHits:sr,classifyImplicitSemanticFallbackReason:jt,collectErrorCauseCodes:Pt,collectExactPhraseFields:zn,collectLinkedPaths:fr,combineHybridHits:Bt,computeBuiltInBm25Hits:cr,computeSemanticOrHybridHits:ur,resolveBuiltInBm25Mode:ar,countOccurrences:Ot,dependencyEntries:Be,documentContainsExactPhrase:Vn,emptySearchResult:br,highlightFieldSnippet:Qn,loadDocuments:gr,markTokenRuns:Xn,parseInlineQueryFilters:yr,maybeEmitVectorIndexStaleWarning:nr,loadLinkedCorpus:hr,mergeVectorHitsById:lr,normalizeExtensionProviderHits:ir,normalizeScoreMap:Ge,parseProjectionConfig:Mt,parseTimestampWindow:ie,parseTokens:$t,projectSearchHits:kr,readSearchFieldValue:vr,requireSemanticDependencies:Ut,resolveExtensionSearchProvider:rr,resolveExtensionSearchProviderByName:He,resolveExtensionVectorAdapter:or,resolveLinkedCorpusRoots:pr,scoreDocument:Jn,sortHits:Zn,stringArray:we,textEntries:K,validateSearchProjectionFields:Ln};async function jm(e,t){let n=T(process.cwd(),t.path);await G(n);let r=await M(n),o=vo(r).settings,i=P(o.schema),s=Q(o.schema);Ln(e.projection,s,e.query);let a=at(e.options,s,"search"),l=D(o,C()),c=Io(o),d=Ro(o,n),u=rr(o),m=or(o),f=hs(e.options.semanticWeight),g=Ts(o,c.active?.name??null),_=Rs(o,c.active?.model??B(o.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:o,statusRegistry:i,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:l,maxResults:Nn(o),scoreThreshold:e.minScoreOverride??jn(o),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:f,hybridSemanticWeight:f??Un(o),tuning:Bn(o),providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:ar({configuredProvider:B(o.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:Ns(g),rerank:_,rerankExtension:Ps(o),...Um({requested:e.options.mode,settings:o,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:d,extensionSearchProvider:u,extensionVectorAdapter:m})}}function Um(e){let t=Co(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Pn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function Bm(e,t){let n=await gr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=st(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),o=Po(t.statusRegistry),i=Yn(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,o);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:Kn(i,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function Gm(e,t,n){let r=await Us(e.includeLinked,t.effectiveMode,n),o=e.matchMode==="or";return n.map(i=>er(i,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,o)).filter(i=>i!==null).filter(i=>e.matchMode!=="and"||i.matched_all_terms===!0)}async function Hm(e,t,n,r,o){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let i=cr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:xo(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 qm(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 ir(t.extensionSearchProvider.providerName,i,r)}catch(i){if(!o)throw new h(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${i instanceof Error?i.message:String(i)}`,p.GENERIC_FAILURE);return null}}function Wm(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 zm(e,t,n,r,o){let i=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);o&&i&&await nr(e.pmRoot,n,r),e.extensionSearchProvider||Ut(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function Vm(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:o,warnings:i,modeWasExplicit:s}=e,a=o,l=await Hm(t,n,r,o,i),c=n.effectiveMode;if(l!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:l??a};try{if(await zm(n,c,r,i,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let d=new Map(r.map(u=>[u.metadata.id,u]));if(a=await qm(t,n,r,d)??a,a===o){let{provider:u,vectorStore:m}=Ut(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),f=await ur({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:o,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:i,settings:n.settings});a=Wm(c,f,o,i)}return{effectiveMode:n.effectiveMode,hits:a}}catch(d){return i.push(tr(n.effectiveMode,d)),{effectiveMode:"keyword",hits:o}}}function Vs(e){e.searchOptions.after!==void 0&&qr(e.searchOptions.after,Gn(e))}async function Vy(e,t,n){Hs(t);let r=Gs(e,t),o=await jm(r,n),i=await Bm(r,o),s=i.warnings;s.push(...r.inlineWarnings);let a=await It(i.allDocuments.map(k=>k.metadata),{pmRoot:o.pmRoot,statusRegistry:o.statusRegistry,now:F()});s.push(...a.warnings);let l=Oi(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 Vs({query:r.query,mode:o.effectiveMode,searchOptions:r.options,pmRoot:o.pmRoot}),qe(Sr({...c,effectiveMode:o.effectiveMode},r.countOnly),l);let d=await Gm(r,o,i.filteredDocuments),u=await Vm({prepared:r,runtime:o,filteredDocuments:i.filteredDocuments,keywordHits:d,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(i.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Vs({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:o.pmRoot}),qe(Sr({...c,effectiveMode:u.effectiveMode},r.countOnly),l);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=o.scoreThreshold),f=Zn(m,o.statusRegistry),g=f.length,_=_s({pmRoot:o.pmRoot,sorted:f,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??o.maxResults}),y={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return qe(qs(y,g),l);let{hits:w,projection:S}=Ws(r,i.filteredDocuments,_.limited),b=kr(w,S);return qe(zs(y,b,g,_.limited.length,S,_.pageExtras),l)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var Ks=["ndcg","mrr","precision","recall"];function Km(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!Ks.some(o=>o===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function Yy(e,t){let n=Km(t),r=[];for(let o of Ks){let i=n[o];if(i===void 0)continue;let s=e[o];!Number.isFinite(s)||s<0||s>1?r.push(`${o}:invalid`):s<i&&r.push(`${o}:${s}<${i}`)}return r}export{Qs as a,ei as b,Qm as c,Zs as d,tn as e,ef as f,sa as g,aa as h,tf as i,sf as j,oh as k,ni as l,mf as m,ff as n,pf as o,hf as p,ri as q,kf as r,Sf as s,Ef as t,pi as u,_t as v,tc as w,wt as x,vt as y,jf as z,wi as A,pn as B,St as C,Fc as D,Si as E,Nc as F,Et as G,Pc as H,jc as I,Hc as J,qc as K,Vf as L,Wc as M,Ei as N,hn as O,gn as P,tl as Q,al as R,op as S,yn as T,_n as U,Ct as V,ml as W,gl as X,It as Y,Sl as Z,$i as _,El as $,Oi as aa,Cl as ba,Fl as ca,Me as da,Lp as ea,kn as fa,Ol as ga,Ll as ha,En as ia,oe as ja,In as ka,xn as la,Tn as ma,he as na,Le as oa,Tt as pa,Np as qa,Ld as ra,Pp as sa,Bd as ta,Jp as ua,Zp as va,eh as wa,th as xa,nh as ya,dh as za,uh as Aa,ds as Ba,us as Ca,ms as Da,Ph as Ea,jh as Fa,Xh as Ga,Nn as Ha,Pn as Ia,jn as Ja,Un as Ka,Bn as La,Gn as Ma,_s as Na,ye as Oa,_e as Pa,Pt as Qa,jt as Ra,Os as Sa,Ls as Ta,zy as Ua,Vy as Va,Ks as Wa,Km as Xa,Yy as Ya};
12
+ //# sourceMappingURL=chunk-ZQK2XUSS.js.map