@unbrained/pm-cli 2026.9.1 → 2026.9.3

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 (133) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +27 -0
  3. package/dist/cli/after-command-context-usage.js +16 -3
  4. package/dist/cli-bundle/bundle-manifest.json +153 -153
  5. package/dist/cli-bundle/chunks/{chunk-6XIIGE7U.js → chunk-34HASX3S.js} +2 -2
  6. package/dist/cli-bundle/chunks/chunk-AY324UJ5.js +9 -0
  7. package/dist/cli-bundle/chunks/{chunk-TAG4VC22.js → chunk-DKGP3QLE.js} +27 -27
  8. package/dist/cli-bundle/chunks/chunk-E5RBBCXO.js +230 -0
  9. package/dist/cli-bundle/chunks/{chunk-DTGWEL23.js → chunk-EDPIS7EB.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-X4RCGLTX.js → chunk-IEHHE6GA.js} +5 -5
  11. package/dist/cli-bundle/chunks/{chunk-U45JXJCC.js → chunk-L7B7343B.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-2MC2LCXZ.js → chunk-LENC656S.js} +41 -41
  13. package/dist/cli-bundle/chunks/chunk-LISESA7W.js +35 -0
  14. package/dist/cli-bundle/chunks/{chunk-3WICXLVT.js → chunk-UPPM2FOZ.js} +2 -2
  15. package/dist/cli-bundle/chunks/{chunk-Y7VOMSZT.js → chunk-Y4PJ6HPK.js} +2 -2
  16. package/dist/cli-bundle/chunks/{register-list-query-XYNX4ASQ.js → register-list-query-W2ZTOMKP.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-mutation-2MVLRS3J.js → register-mutation-RVND5NCG.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-operations-WCIDXBU3.js → register-operations-TTROIVC4.js} +2 -2
  19. package/dist/cli-bundle/chunks/{register-setup-KVNC5KPL.js → register-setup-D3ZFHY3L.js} +2 -2
  20. package/dist/cli-bundle/focused-chunks/chunk-3ZBI35HU.js +176 -0
  21. package/dist/cli-bundle/focused-chunks/{chunk-SVXJYD6G.js → chunk-4HJFY4MB.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-4RRHC3S4.js +6 -0
  23. package/dist/cli-bundle/focused-chunks/chunk-4WR46RMG.js +9 -0
  24. package/dist/cli-bundle/focused-chunks/chunk-5RFXUPN5.js +3 -0
  25. package/dist/cli-bundle/focused-chunks/chunk-BWKHEIVF.js +2 -0
  26. package/dist/cli-bundle/focused-chunks/{chunk-4O4CJAR6.js → chunk-D7KXFBXV.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-MKHG3T76.js → chunk-GHCZ3YFR.js} +3 -3
  28. package/dist/cli-bundle/focused-chunks/{chunk-KB5OFSFD.js → chunk-GT7MXDLW.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/chunk-KBLZRU62.js +2 -0
  30. package/dist/cli-bundle/focused-chunks/chunk-KZ2NB3ET.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-M5M6SVHS.js +3 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-BEVHCEWG.js → chunk-OL5EH6I3.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-MEASX544.js → chunk-Q45NHPF2.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-Y6JJIX6I.js → chunk-QKHCSUGJ.js} +48 -48
  35. package/dist/cli-bundle/focused-chunks/chunk-S27XMBIN.js +8 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-TXE4TSHM.js +12 -0
  37. package/dist/cli-bundle/focused-chunks/chunk-UCLO3XDU.js +2 -0
  38. package/dist/cli-bundle/main.js +15 -15
  39. package/dist/cli-bundle/sdk-authoring.js +1 -1
  40. package/dist/cli-bundle/sdk-contracts.js +1 -1
  41. package/dist/cli-bundle/sdk-core.js +28 -28
  42. package/dist/cli-bundle/sdk-governance.js +1 -1
  43. package/dist/cli-bundle/sdk-graph.js +1 -1
  44. package/dist/cli-bundle/sdk-merge.js +35 -33
  45. package/dist/cli-bundle/sdk-query.js +1 -1
  46. package/dist/cli-bundle/sdk-runtime.js +1 -1
  47. package/dist/cli-bundle/sdk-testing.js +1 -1
  48. package/dist/cli-bundle/sdk.js +9 -9
  49. package/dist/core/diagnostics/remediation.js +9 -4
  50. package/dist/core/history/event-classification.d.ts +21 -0
  51. package/dist/core/history/event-classification.js +109 -0
  52. package/dist/core/history/event-index.d.ts +14 -3
  53. package/dist/core/history/event-index.js +543 -88
  54. package/dist/core/history/history.js +47 -18
  55. package/dist/core/history/workspace-history.js +7 -6
  56. package/dist/core/lock/lock.d.ts +22 -2
  57. package/dist/core/lock/lock.js +121 -19
  58. package/dist/core/output/output.js +31 -7
  59. package/dist/core/shared/time.d.ts +2 -0
  60. package/dist/core/shared/time.js +8 -2
  61. package/dist/core/store/item-metadata-query-index.js +5 -5
  62. package/dist/sdk/context/recency.d.ts +9 -0
  63. package/dist/sdk/context/recency.js +34 -0
  64. package/dist/sdk/context/usage-egress.d.ts +9 -0
  65. package/dist/sdk/context/usage-egress.js +30 -0
  66. package/dist/sdk/context-intent-contracts.js +7 -3
  67. package/dist/sdk/context-relevance.d.ts +23 -0
  68. package/dist/sdk/context-relevance.js +94 -23
  69. package/dist/sdk/context-signal-store.d.ts +7 -3
  70. package/dist/sdk/context-signal-store.js +155 -42
  71. package/dist/sdk/context-usage.d.ts +54 -0
  72. package/dist/sdk/context-usage.js +245 -16
  73. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +26 -14
  74. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +14 -2
  75. package/dist/sdk/governance/health.js +77 -11
  76. package/dist/sdk/governance/validate.js +4 -2
  77. package/dist/sdk/index.d.ts +2 -0
  78. package/dist/sdk/index.js +4 -2
  79. package/dist/sdk/init.d.ts +2 -0
  80. package/dist/sdk/init.js +18 -9
  81. package/dist/sdk/merge/index.d.ts +1 -1
  82. package/dist/sdk/merge/index.js +2 -2
  83. package/dist/sdk/merge/receipts.d.ts +24 -0
  84. package/dist/sdk/merge/receipts.js +122 -30
  85. package/dist/sdk/query/context.d.ts +3 -1
  86. package/dist/sdk/query/context.js +21 -9
  87. package/dist/sdk/query/next.js +18 -9
  88. package/dist/sdk/runtime-input.d.ts +2 -0
  89. package/dist/sdk/runtime-input.js +25 -2
  90. package/dist/sdk/runtime.d.ts +1 -0
  91. package/dist/sdk/runtime.js +17 -26
  92. package/dist/types.d.ts +2 -0
  93. package/dist/types.js +2 -2
  94. package/docs/CONTEXT_RECOVERY_PRIMITIVES.md +11 -2
  95. package/docs/CONTEXT_RELEVANCE.md +44 -1
  96. package/docs/MERGE_SAFETY.md +16 -2
  97. package/docs/PERFORMANCE.md +6 -3
  98. package/docs/READ_OUTPUT_CONTRACTS.md +9 -1
  99. package/docs/SDK.md +11 -8
  100. package/docs/SDK_CONTEXT.md +7 -0
  101. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +5 -3
  102. package/marketplace.json +2 -2
  103. package/package.json +4 -4
  104. package/packages/pm-beads/package.json +1 -1
  105. package/packages/pm-calendar/package.json +1 -1
  106. package/packages/pm-command-kit/package.json +1 -1
  107. package/packages/pm-digital-twin/package.json +1 -1
  108. package/packages/pm-governance-audit/package.json +1 -1
  109. package/packages/pm-guide-shell/package.json +1 -1
  110. package/packages/pm-kanban/package.json +1 -1
  111. package/packages/pm-lifecycle-hooks/package.json +1 -1
  112. package/packages/pm-linked-test-adapters/package.json +1 -1
  113. package/packages/pm-search-advanced/package.json +1 -1
  114. package/packages/pm-templates/package.json +1 -1
  115. package/packages/pm-todos/package.json +1 -1
  116. package/packages/pm-vcs/package.json +1 -1
  117. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  118. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  119. package/sdk/public-surface.json +268 -28
  120. package/dist/cli-bundle/chunks/chunk-ALKKAUFN.js +0 -35
  121. package/dist/cli-bundle/chunks/chunk-GOACULJW.js +0 -13
  122. package/dist/cli-bundle/chunks/chunk-NOPL37X4.js +0 -205
  123. package/dist/cli-bundle/focused-chunks/chunk-2FEZ5SKM.js +0 -3
  124. package/dist/cli-bundle/focused-chunks/chunk-6GCRSLPG.js +0 -2
  125. package/dist/cli-bundle/focused-chunks/chunk-7VATS5QY.js +0 -16
  126. package/dist/cli-bundle/focused-chunks/chunk-FWPLDEXF.js +0 -2
  127. package/dist/cli-bundle/focused-chunks/chunk-JEFKLWMM.js +0 -2
  128. package/dist/cli-bundle/focused-chunks/chunk-PF3E6Q36.js +0 -8
  129. package/dist/cli-bundle/focused-chunks/chunk-QDFJIRKN.js +0 -4
  130. package/dist/cli-bundle/focused-chunks/chunk-RMRCQPWU.js +0 -2
  131. package/dist/cli-bundle/focused-chunks/chunk-S4U5CN5Q.js +0 -2
  132. package/dist/cli-bundle/focused-chunks/chunk-T2LXXSOD.js +0 -158
  133. package/dist/cli-bundle/focused-chunks/chunk-Z2USIBR2.js +0 -5
@@ -0,0 +1,8 @@
1
+ import{w as D,x as q}from"./chunk-KBLZRU62.js";import{ob as N,ub as z,wb as O}from"./chunk-3ZBI35HU.js";import{M as j}from"./chunk-4WR46RMG.js";import{Ec as x,Hc as C,Kc as L,Za as S,cb as m,la as b,na as k,nb as _}from"./chunk-4RRHC3S4.js";import{constants as u}from"node:fs";import{lstat as M,mkdir as $,open as F}from"node:fs/promises";import h from"node:path";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new i.Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="bb5dfa6f-b60f-55f2-ae17-3dbcaaff1b47")}catch{}})();function E(i,e){if(typeof i!="string"||i.trim().length===0)throw new TypeError(`Relationship event ${e} must be non-empty`);return i.trim()}function I(i,e){let t=e.require(i.kind),n=t.direction==="undirected"?[i.source,i.target].sort().join("\0"):`${i.source}\0${i.target}`;return`${t.kind}\0${n}`}function H(i){return Object.freeze({...i,...i.payload===void 0?{}:{payload:Object.freeze(structuredClone(i.payload))}})}function J(i,e,t,n){let r=t.require(i.kind),o=n.outgoingOne.get(`${r.kind}\0${i.source}`);if(o!==void 0&&o!==e)throw new TypeError(`Relationship outgoing cardinality exceeded for ${r.kind}`);let s=n.incomingOne.get(`${r.kind}\0${i.target}`);if(s!==void 0&&s!==e)throw new TypeError(`Relationship incoming cardinality exceeded for ${r.kind}`);let c=I(i,t),d=n.identities.get(c);if(d!==void 0&&d!==e)throw new TypeError(`Relationship edge already active: ${c}`)}function K(i){let e=new Map;for(let t of i)t.action==="remove"?e.delete(t.relationshipId):e.set(t.relationshipId,t.edge);return e}function G(i,e,t){if(i.expectedVersion!==void 0&&i.expectedVersion!==e)throw new TypeError(`Relationship event version conflict: expected ${i.expectedVersion}, current ${e}`);let n=E(i.eventId,"eventId");if(t.has(n))throw new TypeError(`Relationship event already exists: ${n}`);if(i.action!=="add"&&i.action!=="remove"&&i.action!=="supersede")throw new TypeError(`Unknown relationship event action: ${i.action}`);if(!Number.isFinite(Date.parse(i.timestamp)))throw new TypeError("Relationship event timestamp must be valid");return{eventId:n,relationshipId:E(i.relationshipId,"relationshipId"),author:E(i.author,"author"),timestamp:new Date(i.timestamp).toISOString()}}function Q(i,e,t,n,r,o){let s=t.has(e);if(i.action==="add"&&s)throw new TypeError(`Relationship is already active: ${e}`);if(i.action!=="add"&&!s)throw new TypeError(`Relationship is not active: ${e}`);if(i.action==="remove")return;if(!i.edge)throw new TypeError(`Relationship ${i.action} event requires an edge`);let c=typeof i.edge.source=="string"?i.edge.source.trim():"",d=typeof i.edge.target=="string"?i.edge.target.trim():"";if(!n.has(c)||!n.has(d))throw new TypeError(`Relationship endpoint not found: ${c} -> ${d}`);let a=new m([c,d],[i.edge],r).edges()[0];return J(a,e,r,o),H(a)}var T=class{#t;#n;#i=[];#o=new Set;#e=new Map;#r={identities:new Map,outgoingOne:new Map,incomingOne:new Map};constructor(e,t={}){this.#t=new Set([...e].filter(n=>typeof n=="string").map(n=>n.trim()).filter(Boolean)),this.#n=t.registry??S()}get version(){return this.#i.length}events(){return Object.freeze([...this.#i])}*stream(e={}){let t=e.fromVersion??1,n=e.toVersion??this.version,r=e.batchSize??100;if(!Number.isInteger(t)||t<1)throw new TypeError("Relationship event stream fromVersion must be positive");if(!Number.isInteger(n)||n<0||n>this.version)throw new TypeError(`Relationship event stream toVersion out of range: ${n}`);if(!Number.isInteger(r)||r<1)throw new TypeError("Relationship event stream batchSize must be positive");if(t>n+1)throw new TypeError("Relationship event stream fromVersion exceeds the selected prefix");for(let o=t-1;o<n;o+=r)yield Object.freeze(this.#i.slice(o,Math.min(o+r,n)))}project(e,t,n={}){if(typeof t!="function")throw new TypeError("Relationship event projection requires a reducer");let r=e,o=0,s;for(let c of this.stream({...n,batchSize:256}))for(let d of c)r=t(r,d),o+=1,s=d;return Object.freeze({state:r,version:s?.sequence??Math.max(0,(n.fromVersion??1)-1),processed:o,...s===void 0?{}:{asOf:s.timestamp}})}#s(e,t){let n=this.#n.require(t.kind);this.#r.identities.set(I(t,this.#n),e),n.outgoing==="one"&&this.#r.outgoingOne.set(`${n.kind}\0${t.source}`,e),n.incoming==="one"&&this.#r.incomingOne.set(`${n.kind}\0${t.target}`,e)}#a(e){let t=this.#n.require(e.kind);this.#r.identities.delete(I(e,this.#n)),t.outgoing==="one"&&this.#r.outgoingOne.delete(`${t.kind}\0${e.source}`),t.incoming==="one"&&this.#r.incomingOne.delete(`${t.kind}\0${e.target}`)}append(e){let t=G(e,this.version,this.#o),n=this.#e.get(t.relationshipId),r=Q(e,t.relationshipId,this.#e,this.#t,this.#n,this.#r),o=Object.freeze({eventId:t.eventId,relationshipId:t.relationshipId,action:e.action,...r===void 0?{}:{edge:r},author:t.author,timestamp:t.timestamp,...e.reason?.trim()?{reason:e.reason.trim()}:{},sequence:this.version+1});return this.#i.push(o),this.#o.add(t.eventId),n&&this.#a(n),e.action==="remove"?this.#e.delete(t.relationshipId):(this.#e.set(t.relationshipId,r),this.#s(t.relationshipId,r)),o}snapshot(e={}){if(e.atVersion!==void 0&&e.atTimestamp!==void 0)throw new TypeError("Relationship snapshot accepts one target");let t;if(e.atTimestamp!==void 0){let o=Date.parse(e.atTimestamp);if(!Number.isFinite(o))throw new TypeError("Relationship snapshot timestamp must be valid");t=this.#i.filter(s=>Date.parse(s.timestamp)<=o)}else{let o=e.atVersion??this.version;if(!Number.isInteger(o)||o<0||o>this.version)throw new TypeError(`Relationship snapshot version out of range: ${o}`);t=this.#i.slice(0,o)}let n=K(t),r=new m(this.#t,n.values(),this.#n);return Object.freeze({version:t.at(-1)?.sequence??0,...t.at(-1)?{asOf:t.at(-1).timestamp}:{},edges:r.edges(),graph:r})}page(e){if(!Number.isInteger(e.limit)||e.limit<1)throw new TypeError("Relationship event page limit must be positive");let t=x("relationship-events",{order:"append-sequence"}),n=e.cursor===void 0?this.version:Number(C(e.cursor,t).snapshot);if(!Number.isSafeInteger(n)||n<0||n>this.version)throw new TypeError("Relationship event cursor snapshot version is invalid");let r=L(this.#i.slice(0,n),{cursor:e.cursor,fingerprint:t,limit:e.limit,readId:o=>o.eventId,snapshot:String(n)});return{version:n,events:r.rows,hasMore:r.has_more,...r.next_cursor?{nextCursor:r.next_cursor}:{}}}},Y="relationship-event-store",A=u.O_NOFOLLOW;function g(i){return j(i,Y,30,`relationship-store:${process.pid}`,!1,!1,3e3)}async function l(i,e="relationships/events.jsonl"){let t=h.resolve(i),n=h.resolve(t,e),r=h.relative(t,n);if(r.length===0)throw new TypeError("Relationship event path must name a file within the tracker root");if(r===".."||r.startsWith(`..${h.sep}`)||h.isAbsolute(r))throw new TypeError("Relationship event path must stay within the tracker root");if(await $(t,{recursive:!0}),(await M(t)).isSymbolicLink())throw new TypeError("Relationship event tracker root must not be a symbolic link");let s=t;for(let c of r.split(h.sep)){s=h.join(s,c);try{if((await M(s)).isSymbolicLink())throw new TypeError("Relationship event path must not contain symbolic links")}catch(d){if(b(d))break;throw d}}return n}async function w(i,e,t){let n=new T(e,{registry:t}),r,o;try{o=await F(i,u.O_RDONLY|A),r=await o.readFile("utf8")}catch(c){if(b(c))return{log:n,raw:""};throw c}finally{await o?.close()}let s=r.split(`
2
+ `);for(let c=0;c<s.length;c+=1){let d=s[c].trim();if(!d)continue;let a;try{a=JSON.parse(d)}catch{throw new TypeError(`Invalid relationship event JSONL at line ${c+1}`)}if(a.sequence!==n.version+1)throw new TypeError(`Invalid relationship event sequence at line ${c+1}`);n.append({eventId:a.eventId,relationshipId:a.relationshipId,action:a.action,...a.edge===void 0?{}:{edge:a.edge},author:a.author,timestamp:a.timestamp,...a.reason===void 0?{}:{reason:a.reason},expectedVersion:n.version})}return{log:n,raw:r}}function U(i,e,t,n){let r=Date.parse(e.timestamp),o;return e.action!=="remove"&&e.edge!==void 0&&(o=new m(t,[e.edge],n).edges()[0]),i.eventId===e.eventId.trim()&&i.relationshipId===e.relationshipId.trim()&&i.action===e.action&&i.author===e.author.trim()&&Number.isFinite(r)&&i.timestamp===new Date(r).toISOString()&&i.reason===(e.reason?.trim()||void 0)&&_(i.edge)===_(o)}var V=class i{#t;#n;#i;#o;#e;constructor(e,t,n,r){this.#t=e.pmRoot,this.#n=t,this.#i=e.registry,this.#o=n,this.#e=r}static async open(e){let t=Object.freeze([...e.nodes]),n=await l(e.pmRoot,e.relativePath),r=await g(e.pmRoot);try{await l(e.pmRoot,n);let{log:o}=await w(n,t,e.registry);return new i(e,t,n,o)}finally{await r()}}get path(){return this.#o}async currentVersion(){return this.#e=await this.#r(),this.#e.version}async append(e){let t=await g(this.#t);try{let n=await l(this.#t,this.#o),{log:r}=await w(n,this.#n,this.#i),o=r.append(e);await $(h.dirname(n),{recursive:!0}),await l(this.#t,n);let s=await F(n,u.O_APPEND|u.O_CREAT|u.O_WRONLY|A);try{await s.appendFile(`${JSON.stringify(o)}
3
+ `,"utf8")}finally{await s.close()}return this.#e=r,o}finally{await t()}}async appendBatch(e,t={}){let n=await g(this.#t);try{let r=await l(this.#t,this.#o),{log:o,raw:s}=await w(r,this.#n,this.#i),c=o.version,d=new Map(o.events().map(f=>[f.eventId,f])),a=[],R=[];for(let f of e){let p=f.eventId.trim(),y=d.get(p);if(y!==void 0){if(t.existingEventPolicy==="skip_identical"&&U(y,f,this.#n,this.#i)){R.push(y.eventId);continue}if(t.existingEventPolicy==="skip_identical")throw new TypeError(`Relationship event id collision with different content: ${p}`)}let v=o.append(f);d.set(v.eventId,v),a.push(v)}if(a.length>0){let f=s.length===0||s.endsWith(`
4
+ `)?s:`${s}
5
+ `;await $(h.dirname(r),{recursive:!0}),await l(this.#t,r),await k(r,`${f}${a.map(p=>JSON.stringify(p)).join(`
6
+ `)}
7
+ `)}return this.#e=o,Object.freeze({version_before:c,version_after:o.version,appended:Object.freeze(a),skipped_event_ids:Object.freeze(R)})}finally{await n()}}async snapshot(e={}){return this.#e=await this.#r(),this.#e.snapshot(e)}async page(e){return this.#e=await this.#r(),this.#e.page(e)}async*stream(e={}){this.#e=await this.#r(),yield*this.#e.stream(e)}async project(e,t,n={}){return this.#e=await this.#r(),this.#e.project(e,t,n)}async#r(){let e=await g(this.#t);try{let t=await l(this.#t,this.#o);return(await w(t,this.#n,this.#i)).log}finally{await e()}}};(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new i.Error().stack;e&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[e]="94e8b95b-35fa-5fc7-843a-481497e09b54")}catch{}})();function P(i){return[...i].sort().join("\0")}function X(i,e,t){let n=i.successors.get(e);n?n.push(t):i.successors.set(e,[t]);let r=i.predecessors.get(t);r?r.push(e):i.predecessors.set(t,[e])}function W(i,e,t,n,r){let o=e.resolve(r);if(o?.ordering!==!0)return;let s=z(n),c=s===void 0?void 0:i.canonicalIds.get(s.toLowerCase());if(c===void 0)return;let d=(o.precedence??"source_before_target")==="source_before_target";X(i,d?t:c,d?c:t)}function Z(i,e){let t={successors:new Map,predecessors:new Map,canonicalIds:new Map},n=i.filter(r=>typeof r?.id=="string"&&r.id.trim().length>0);for(let r of n){let o=r.id.trim();t.canonicalIds.set(o.toLowerCase(),o)}for(let r of n){let o=r.id.trim();W(t,e,o,r.blocked_by,"blocked_by");for(let s of r.dependencies??[])typeof s!="object"||s===null||W(t,e,o,s.id,typeof s.kind=="string"?s.kind:"related")}for(let r of[t.successors,t.predecessors])for(let o of r.values())o.sort();return t}function ee(i,e){let t=new Set([e]),n=[e];for(;n.length>0;){let r=n.pop();for(let o of[i.successors,i.predecessors])for(let s of o.get(r)??[])t.has(s)||(t.add(s),n.push(s))}return t}function te(i,e){let t=new Map;for(let n of e){let r=(i.successors.get(n)??[]).filter(o=>e.has(o));r.length>0&&t.set(n,r)}return t}function B(i,e,t){let n=Z(i,e),r=n.canonicalIds.get(t.trim().toLowerCase());if(r===void 0)return{cycles:[],successors:new Map,canonical:t};let o=te(n,ee(n,r));return{cycles:D(o).filter(s=>s.includes(r)),successors:o,canonical:r}}function ne(i,e,t){let n=new Set(e),r=n.has(t)?t:e[0];if(i.get(r)?.includes(r))return[r,r];for(let o of i.get(r)??[]){if(!n.has(o))continue;let s=ie(i,n,r,o);if(s)return s}return[...e,e[0]]}function ie(i,e,t,n){let r=[[n]],o=new Set([t,n]);for(;r.length>0;){let s=r.shift(),c=s.at(-1);for(let d of i.get(c)??[]){if(d===t)return[t,...s,t];!e.has(d)||o.has(d)||(o.add(d),r.push([...s,d]))}}}function me(i,e,t){let n=N(),r=B(i,n,t),o=B(e,n,t),s=new Set(r.cycles.map(P)),c=new Set(O(i,void 0,n).map(a=>`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`));return[...O(e,void 0,n).filter(a=>a.holder_id.toLowerCase()===t.trim().toLowerCase()&&!c.has(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`)).map(a=>`ordering_storage_contradiction_created:${q(a)}:remove_contradicting_dependency_row:run_pm_graph_audit`),...o.cycles.filter(a=>!s.has(P(a))).map(a=>`ordering_cycle_created:${ne(o.successors,a,o.canonical).join(" -> ")}:items_will_not_be_ready:run_pm_graph_audit`)]}export{T as a,V as b,me as c};
8
+ //# sourceMappingURL=chunk-S27XMBIN.js.map
@@ -0,0 +1,12 @@
1
+ import{a as Jt,b as Zt,d as en,e as tn,f as nn,g as rn,h as on}from"./chunk-Q45NHPF2.js";import{$ as wi,Fa as be,L as sn,M as yi,Oa as Ci,V as _i,W as ye,Wa as xi,Y as ne,Z as _e,_ as we,_a as Fi,a as li,c as fi,ca as bi,d as mi,da as dt,ea as vi,fa as an,g as pi,ga as cn,ha as dn,ia as ki,ma as Si,n as hi,na as un,o as gi,wa as Ei}from"./chunk-GHCZ3YFR.js";import{Ma as Dr,Ua as Lr,t as Mr}from"./chunk-UCLO3XDU.js";import{b as Ii,e as ln,f as mt,g as Ti}from"./chunk-KZ2NB3ET.js";import{$a as he,Aa as ni,D as te,Ia as R,Ka as ri,La as ii,O as $,Oa as oi,P as M,Q as K,Qa as si,T as qr,Ua as ai,W as q,Wa as pe,Ya as ci,_ as Vr,_a as P,ab as ge,bb as ct,cb as J,db as di,f as Kr,fa as Yr,fb as ui,g as Br,ga as Xr,h as Gr,ha as Qr,i as Hr,j as Wr,n as Fe,ob as ut,pa as Jr,pb as lt,ra as Zr,sb as ft,ta as ei,w as zr,ya as at,za as ti}from"./chunk-3ZBI35HU.js";import{b as Sr,m as N,o as B}from"./chunk-5RFXUPN5.js";import{A as Pr,D as L,G as jr,H as S,I as nt,J as U,N as rt,P as it,S as ot,V as Ur,W as st,b as me,c as Nr,e as tt,r as A,w as Te,x as $r}from"./chunk-4WR46RMG.js";import{$ as m,Aa as Je,Cb as Rr,Dc as le,Ec as fe,Fa as x,Fc as Ie,H as ue,Ha as Ir,Ja as Qt,Jc as et,Kc as Or,La as Ze,M as Yt,N as Xe,Oa as xe,Pa as D,Ua as Tr,V as vr,Va as Fr,Z as kr,aa as p,i as br,ja as Er,ka as Qe,la as Cr,na as xr,nb as Ar,qa as Xt,za as O}from"./chunk-4RRHC3S4.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]="c14a67b4-102d-5219-b2b3-15d39da36627")}catch{}})();var $a=["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"],fn=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 Cp(e={}){return{excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0}}function V(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function F(e,t,n,r){t&&e.push({code:n,message:r})}function Pa(e,t){let n=V(e.completeness)?e.completeness:{};F(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),F(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;F(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),F(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=V(e.filters)?e.filters:{},s=V(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return F(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),F(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),F(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ja(e,t,n){F(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."),F(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=V(e.projection)?e.projection:{};F(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=V(e.omission_receipt)?e.omission_receipt:void 0;F(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),F(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),F(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function Ua(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 Ka(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 Ba(e,t){let n=V(e.read_output)?e.read_output:void 0;F(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),F(t,n!==void 0&&Ua(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),F(t,n!==void 0&&!Ka(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),F(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=V(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;F(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),F(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function Ga(e,t){let n=e.map(r=>V(r)&&typeof r.id=="string"?r.id.trim():"");F(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),F(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function Ha(e){if(!V(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:$a[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=Pa(t,n);return ja(t,r,n),Ba(t,n),Ga(t.items,n),{ok:n.length===0,findings:n}}function Wa(e){let t=Ha(e);if(!t.ok)throw new fn(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 xp(e){Wa(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]="f1ea4209-59d4-53f0-a8ea-2e060e385d14")}catch{}})();function Ai(e,t){let n=ei(e),r=e.length>0?e[e.length-1].after_hash:Qr(),i=t===void 0||n.item_hash_version===void 0?void 0:Xr(t,n.item_hash_version),o=t===void 0?void 0:i===void 0?Yr(t):i[Math.max(0,i.indexOf(r))],s=o===void 0?void 0:o===r,a=[...n.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:o,current_matches_latest:s}}async function Ri(e,t,n={}){let r=x(n.cwd??process.cwd(),n.pmRoot);await P(r);let i=await R(r),o=O(i,A()),s=await pi(r,e,i,o.type_to_folder),a=await q(s.historyPath,s.id);if(a.length===0)throw new p(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let d=li(t,a),c=mi(fi(a,d.historyIndex),d),l=Jr(c,{schema:i.schema});if(l.metadata.id!==s.id)throw new p(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[d.historyIndex];return{document:l,reconstructed:!0,as_of_version:d.historyIndex+1,as_of_timestamp:u.ts,target:d,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb044a23-d43b-5e9c-9ae7-4ac91b5e587a")}catch{}})();function j(e,t="--limit"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return r}function pt(e,t="--priority"){if(e===void 0)return;let n=String(e).trim(),r=n.length===0?Number.NaN:Number(n);if(!Number.isInteger(r)||r<0||r>4)throw new p(`${t} filter must be 0..4`,m.USAGE);return r}function Mi(e,t,n="--type"){if(e===void 0)return;let r=Je(e,t);if(!r)throw new p(`${n} filter must be one of ${t.types.join("|")}`,m.USAGE);return r}import qa from"node:fs/promises";import Ni from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b010e79-a73a-5760-ac05-8dc88484cd69")}catch{}})();var mn={version:1,aliases:{}};function ht(e=[]){let t=new Set(Fe),n=r=>{/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(r)&&t.add(r)};for(let r of e){for(let i of Object.keys(r.provenance_environment_keys??{}))n(i);for(let i of Object.keys(r.provenance_resolvers??{}))n(i);for(let i of r.provenance_unavailable_dimensions??[])n(i)}return[...t].sort()}function Di(e){if(e===void 0)return;let n=(typeof e=="string"?[e]:e).flatMap(r=>r.split(",")).map(r=>r.trim()).filter(r=>r.length>0);return n.length===0?void 0:new Set(n)}function pn(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 za(e,t=Fe){let n=new Set(t),r=new Map,i=e.provenance===void 0?[]:typeof e.provenance=="string"?[e.provenance]:e.provenance;for(let o of i.flatMap(s=>s.split(","))){let s=o.indexOf("=");if(s<0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let a=o.slice(0,s).trim().toLowerCase(),d=o.slice(s+1).trim();if(!n.has(a))throw new p(`Unknown provenance dimension "${a||o.trim()}". Declared dimensions: ${[...n].sort().join(", ")}.`,m.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,m.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function gt(e,t=mn,n={}){let r=pn(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 yt(e,t=mn,n=Fe){let r=Di(e.harness),i=Di(e.agentInstance),o=za(e,n);return s=>{let d=pn(s,t).agent_harness;if(r&&(!d||!r.has(d))||i&&!i.has(s.agent_instance??""))return!1;for(let[c,l]of o){let u=s.agent_provenance?.[c];if(!u||!l.has(u.value))return!1}return!0}}function _t(e,t=mn,n=Fe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let d of Object.keys(s.agent_provenance??{}))r.add(d);pn(s,t).agent_harness?o+=1:i.set(s.author,(i.get(s.author)??0)+1)}return{entries:e.length,vocabulary_version:t.version,harness:{resolved:o,unresolved:e.length-o,unresolved_authors:[...i].map(([s,a])=>({author:s,entries:a})).sort((s,a)=>a.entries-s.entries||s.author.localeCompare(a.author)).slice(0,20)},dimensions:[...r].sort().map(s=>{let a=0,d=0;for(let c of e){let l=c.agent_provenance?.[s];l===null?d+=1:l!==void 0&&(a+=1)}return{dimension:s,observed:a,unavailable:d,legacy_missing:e.length-a-d}})}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7005305a-5fd4-56b8-a0a0-5612e8bf48cc")}catch{}})();var Va=20,Ya=5,Xa=15,Qa="-24h";function ah(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 Ja={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function hn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,m.USAGE);return n}function Li(e,t,n){if(e===void 0)return;let r=e.trim();if(r.length===0)throw new p("Activity time bounds must not be empty",m.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return U(i,new Date(t),n)}function Za(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Oi(e,t){return t===void 0?e:e.slice(0,t)}function Ae(e,t=""){return typeof e=="string"?e:t}function ec(e,t){return{...t,id:e,ts:Ae(t.ts),author:Ae(t.author,"unknown"),op:Ae(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Ae(t.before_hash),after_hash:Ae(t.after_hash)}}function tc(e){return[...e].sort((t,n)=>{let r=n.ts.localeCompare(t.ts);if(r!==0)return r;let i=t.id.localeCompare(n.id);return i!==0?i:t.op.localeCompare(n.op)})}async function nc(e){try{return(await qa.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Cr(t))return[];throw t}}function rc(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 ic(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?Xa:n==="compact"?Va:Ya}function oc(e,t){let n=L(),r=t==="digest",i=Li(e.to??(r?n:void 0),n,"--to"),o=Li(e.from??(r?Qa:void 0),e.from===void 0&&r?i:n,"--from");if(o&&i&&S(o,i)>=0)throw new p("Activity --from must be before --to",m.USAGE);let s=ne(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",m.USAGE);return{id:hn(e.id,"Activity --id"),op:hn(e.op,"Activity --op"),author:hn(e.author,"Activity --author"),from:o,to:i,limit:ic(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function sc(e){let t=x(process.cwd(),e.path);return await P(t),{pmRoot:t,settings:await R(t)}}async function ac(e){let t=O(e.settings,A()),n=await J(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await ii({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Ni.join(e.pmRoot,"history");return await Te({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function cc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Za(t,n.from,n.to)}async function dc(e,t){let n=[];for(let r of await nc(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await q(Ni.join(e,r),i);for(let s of o){let a=ec(i,s);cc(s,a,t)&&n.push(a)}}return n}function uc(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function lc(e){let t=[...e.entries()].sort(([r,i],[o,s])=>s-i||r.localeCompare(o)),n=t.slice(0,4).map(([r,i])=>`${r}:${i}`);return t.length>n.length&&n.push(`+${t.length-n.length}`),n.join(",")}function fc(e,t){let n=new Map;for(let r of e){let i=n.get(r.id);if(i===void 0){n.set(r.id,{firstTs:r.ts,lastTs:r.ts,eventCount:1,operations:new Map([[r.op,1]])});continue}i.eventCount+=1,S(r.ts,i.firstTs)<0&&(i.firstTs=r.ts),S(r.ts,i.lastTs)>0&&(i.lastTs=r.ts),i.operations.set(r.op,(i.operations.get(r.op)??0)+1)}return[...n.entries()].map(([r,i])=>{let o=t.get(r);return{id:r,type:o?.type??"unknown",status:o?.status??"unknown",title:(o?.title??"(item metadata unavailable)").slice(0,160),event_count:i.eventCount,first_ts:i.firstTs,last_ts:i.lastTs,operations:lc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function mc(e){let t=new Map;for(let i of e)t.set(i.op,(t.get(i.op)??0)+1);let n=[...t.entries()].sort((i,o)=>o[1]-i[1]||i[0].localeCompare(o[0])),r=n.slice(0,8);return r.length<n.length&&r.push([`+${String(n.length-r.length)}`,n.slice(r.length).reduce((i,[,o])=>i+o,0)]),Object.fromEntries(r)}function pc(e,t,n,r,i){if(e==="digest"){let s=fc(t,r),a=Oi(s,n);return{rows:{activity_digest:a},compact:!1,totalRows:s.length,returnedRows:a.length}}let o=Oi(t,n);return e==="compact"?{rows:{compact_activity:uc(o)},compact:!0,totalRows:t.length,returnedRows:o.length}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,totalRows:t.length,returnedRows:o.length}:{rows:{activity:o},compact:!1,totalRows:t.length,returnedRows:o.length}}async function $i(e,t){let n=await sc(t),r=rc(e),i=oc(e,r),o=await ac(n),s=ht(n.settings.agent_identity.harness_signals),a=n.settings.agent_identity.identity_vocabulary,d=yt({harness:i.harness,agentInstance:i.agentInstance,provenance:i.provenance},a,s),c=tc(await dc(o.historyDir,i)).filter(d),l=pc(r,c,i.limit,o.itemsById,f=>gt(f,a,{itemId:f.id})),u=l.totalRows-l.returnedRows;return{...l.rows,compact:l.compact,projection:{mode:r,row_key:Ja[r]},omission_receipt:tt("activity",r),count:l.returnedRows,total_count:l.totalRows,limit:i.limit??null,omitted_count:u,has_more:u>0,...r==="digest"?{activity_summary:{window:{from:i.from,to:i.to},event_count:c.length,item_count:l.totalRows,author_count:new Set(c.map(f=>f.author)).size,operation_counts:mc(c)}}:{},...e.provenanceSummary===!0?{provenance_summary:_t(c,a,s)}:{},applied_bound:{kind:i.limit===void 0?"unbounded":"limit",source:i.limitSource,value:i.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1035bd62-b012-5249-bd53-31b39f21b2d3")}catch{}})();function gn(e,t){if(e===void 0)return;let n=[],r="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let d=e[s+1];if(d===","||d==="\\"){r+=d,s+=1;continue}r+=a;continue}if(a===","){n.push(r),r="";continue}r+=a}n.push(r);let i=n.map(s=>s.trim());if(i.some(s=>s.length===0))throw new p(`${t.label} requires at least one non-empty value`,m.USAGE);let o=i.map(s=>t.normalize?.(s)??s);return[...new Set(o)]}function G(e,t){let n=gn(e,t);return n===void 0?void 0:new Set(n)}function wt(e,t,n="--type"){let r=gn(e,{label:n});if(r===void 0)return;let i=r.map(o=>{let s=Je(o,t);if(!s)throw new p(`${n} filter token "${o}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(i)}function bt(e,t="--priority"){let n=gn(e,{label:t});if(n!==void 0)return new Set(n.map(r=>pt(r,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5b7b3eaf-a792-5f44-9981-8c82ce511070")}catch{}})();function Pi(e,t){let n=e.trim().toLowerCase();return t.alias_to_id.get(n)??n}function vt(e){return{isTerminal(t){return e.terminal_statuses.has(Pi(t,e))},classify(t){let n=Pi(t,e);return e.terminal_canceled_statuses.has(n)?"canceled":e.terminal_statuses.has(n)?"closed":e.blocked_statuses.has(n)?"blocked":e.draft_statuses.has(n)?"draft":n===e.open_status?"open":e.active_statuses.has(n)?"in_progress":"other"}}}function yn(e){return D(e.acceptance_criteria)===void 0}function _n(e){return!Number.isFinite(e.estimated_minutes)}function Bi(e,t){return t.isTerminal(e.status)?D(e.resolution)===void 0:!1}function hc(e){return D(e.reviewer)===void 0}function gc(e){return D(e.risk)===void 0}function yc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):D(e.confidence)===void 0}function _c(e){return D(e.sprint)===void 0}function wc(e){return D(e.release)===void 0}function Re(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function bc(e,t,n){return[[t.acMissing,yn(e)],[t.estimatesMissing,_n(e)],[t.resolutionMissing,Bi(e,n)],[t.reviewerMissing,hc(e)],[t.riskMissing,gc(e)],[t.confidenceMissing,yc(e)],[t.sprintMissing,_c(e)],[t.releaseMissing,wc(e)]].every(([i,o])=>i!==!0||o)}function vc(e,t){return yn(e)||_n(e)||Bi(e,t)}function kt(e,t,n){return Re(t)?!(!bc(e,t,n)||t.metadataMissing&&!vc(e,n)):!0}var wn=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function kc(e,t){switch(t){case"acceptance_criteria":return!yn(e);case"estimated_minutes":return!_n(e);case"resolution":return D(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return D(e.parent)!==void 0}}function Sc(e,t,n){return t==="resolution"?n.isTerminal(e.status):!0}function Ec(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ji(){let e={};for(let t of wn)e[t]={present:0,applicable:0,percent:100};return e}function Ui(e,t,n){for(let r of wn){if(!Sc(t,r,n))continue;let i=e[r];i.applicable+=1,kc(t,r)&&(i.present+=1)}}function Ki(e){for(let t of wn){let n=e[t];n.percent=Ec(n.present,n.applicable)}}function hh(e,t){let n=ji(),r={};for(let i of e){Ui(n,i,t);let o=r[i.type]??(r[i.type]=ji());Ui(o,i,t)}Ki(n);for(let i of Object.values(r))Ki(i);return{overall:n,by_type:r}}var Cc={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function xc(e){return Cc[e]}function Ic(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Tc(e,t,n){switch(t){case"assignee":return[D(e.assignee)??null];case"parent":return[D(e.parent)??null];case"type":return[D(e.type)??null];case"status":return[D(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let r=n.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!r||s.startsWith(r)));return o.length>0?o:[null]}}}function gh(e,t,n,r={}){let i=new Map,o=0;for(let a of e){o+=1;let d=n.classify(a.status);for(let c of Tc(a,t,r)){let l=c??"\0empty",u=i.get(l);u||(u={label:c??xc(t),key:c,buckets:Ic(),total:0},i.set(l,u)),u.buckets[d]+=1,u.total+=1}}let s=[...i.values()].sort((a,d)=>d.total!==a.total?d.total-a.total:a.key===null?1:d.key===null?-1:a.label.localeCompare(d.label));return{dimension:t,rows:s,total_items:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="03824e4b-562b-5e12-a89a-9dd091ae7fd3")}catch{}})();var ve=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function re(e){return Array.isArray(e)&&e.length>0}function Fc(e){return typeof e=="string"&&e.trim().length>0}function Ac(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let n=t.command;return typeof n=="string"&&n.trim().length>0}):!1}function Hi(e,t){switch(t){case"notes":return re(e.notes);case"learnings":return re(e.learnings);case"files":return re(e.files);case"docs":return re(e.docs);case"tests":return re(e.tests);case"comments":return re(e.comments);case"deps":return re(e.dependencies);case"body":return Fc(e.body);case"linked_command":return Ac(e.tests)}}function St(e){return ve.some(t=>e[t]!==void 0)}function Et(e,t){for(let n of ve){let r=t[n];if(r===void 0)continue;let i=Hi(e,n);if(r==="present"&&!i||r==="absent"&&i)return!1}return!0}function Wi(e){return ve.some(t=>t!=="body"&&e[t]!==void 0)}function zi(e){return e.body!==void 0}function Gi(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Rc(){let e={};for(let t of ve)e[t]={present:0,total:0,percent:100};return e}function _h(e){let t=Rc(),n=e.length;for(let s of e)for(let a of ve)Hi(s,a)&&(t[a].present+=1);for(let s of ve)t[s].total=n,t[s].percent=Gi(t[s].present,n);let r=t.body,i=n-r.present,o={present:i,total:n,percent:Gi(i,n)};return{total_items:n,fields:t,body_populated:r,empty_body:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ccdb7d16-4f38-58d4-a19d-4ab1516cb1d7")}catch{}})();var Ct=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),qi=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],De=e=>{let t=qi.find(n=>e[n.presentKey]===!0&&e[n.absentKey]===!0);if(t)throw new p(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(qi.flatMap(n=>e[n.presentKey]===!0?[[n.field,"present"]]:e[n.absentKey]===!0?[[n.field,"absent"]]:[]))},Vi=["priority","deadline","updated_at","created_at","title","parent"],Yi=["asc","desc"],Zi=new Set(ai);function Mc(e,t,n){let r=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,i=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,o={status:t?"unchecked":r+i>0?"partial":"complete",unreadable_item_count:r,unreadable_directory_count:i};if(n&&o.status==="partial")throw new p(`List source is incomplete: ${r} item document(s) and ${i} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return o}function Dc(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Lc=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],Oc=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function eo(e,t){for(let n of Lc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function to(e,t){for(let n of Oc)t[n.key]===!0&&(e[n.summaryKey]=!0)}function vn(e,t,n){for(let r of n){let i=t[r.optionKey];i!==void 0&&(e[r.summaryKey]=r.normalize?r.normalize(i):i)}}function Le(e){let t={};return eo(t,e),t}function Oe(e){let t={};return to(t,e),t}var Nc=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],$c=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Pc=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],jc="-7d";function no(e){let{filtersStatus:t,options:n,treeEnabled:r,treeDepth:i,sortField:o,sortOrder:s,runtimeFieldFilters:a}=e,d={};return t!==null&&(d.status=t),n.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency"),vn(d,n,Nc),io(d,n),n.filterAcMissing===!0&&(d.filter_ac_missing=!0),n.filterEstimatesMissing===!0&&(d.filter_estimates_missing=!0),n.filterResolutionMissing===!0&&(d.filter_resolution_missing=!0),n.filterMetadataMissing===!0&&(d.filter_metadata_missing=!0),to(d,n),eo(d,n),n.limit!==void 0&&(d.limit=n.limit),n.offset!==void 0&&(d.offset=n.offset),n.includeBody===!0&&(d.include_body=!0),n.fields!==void 0&&(d.fields=n.fields),r&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),o!==void 0&&(d.sort=o,d.order=s),Dc(a)&&(d.runtime_filters=a),d}function kn(e,t,n){let r=K(e.status,n),i=K(t.status,n);if(r!==i)return r?1:-1;let o=e.priority-t.priority;if(o!==0)return o;let s=S(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Uc(e,t){return[...e].sort((n,r)=>kn(n,r,t))}function Xi(e,t){if(e!==void 0)return U(e,new Date,t)}function Me(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return U(n,new Date,t)}function ro(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new p("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?Me(jc,"recent"):Me(e.updatedAfter,"updated-after")}function io(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function oo(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);let n=t.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(n.length===0)throw new p("--ids requires at least one non-empty item ID",m.USAGE);return new Set(n)}function Sn(e){if(e===void 0)return;let t=String(e).trim(),n=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(n)||n<0)throw new p("Offset filter must be a non-negative integer",m.USAGE);return n}function so(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function ao(e,t=e.projectionCommand??"list"){let n=e.compact===!0,r=e.brief===!0,i=e.full===!0,o=so(e.fields);if(Number(n)+Number(r)+Number(i)+ +(o!==void 0)>1)throw new p("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return i?{mode:"full",fields:[]}:r?{mode:"brief",fields:[...Zt]}:n?{mode:"compact",fields:[...Jt]}:o?{mode:"fields",fields:[...new Set(o.map(a=>Z(a)))]}:{mode:"full",fields:[]}}function Z(e){return e.startsWith("item.")?e.slice(5):e}function Kc(e,t,n){if(e.mode!=="fields")return;let r=en(t),i=new Set(r.map(s=>Z(s))),o=e.fields.filter(s=>!i.has(Z(s)));if(o.length>0)throw new p(`Unknown list --fields value(s): ${o.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:r,suggested_retry:`pm ${n} --fields id,title,status --limit 10`,suggested_retry_args:[n,"--fields","id,title,status","--limit","10"]}})}var Bc=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function co(e){if(e===void 0)return;let t=e.trim().toLowerCase(),n=Bc.get(t);if(n)return n;if(!Vi.includes(t))throw new p(`Sort field must be one of ${Vi.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function uo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Yi.includes(t))throw new p(`Sort order must be one of ${Yi.join("|")}`,m.USAGE);return t}function Gc(e){return j(e,"--tree-depth")}function lo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function Qi(e,t){return ye(e,t,{strict:!0})}function fo(e){return G(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Hc(e,t,n){let r=fo(t);if(r===void 0)return;let i=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),o=[...r].filter(s=>!i.has(s));o.length>0&&n.push(`unknown_tags:${o.join(",")}`)}function Wc(e,t){if(e&&[...e].some(n=>n.toLowerCase()==="none"||n.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function zc(e,t,n,r){let i=G(t.assignee,{label:"--assignee"}),o=lo(t.assigneeFilter);Wc(i,o);let s=Ct(t),a=De(t);return{idsFilter:oo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:wt(t.type,n),tagFilters:fo(t.tag),priorityFilter:bt(t.priority),deadlineBefore:Xi(t.deadlineBefore,"deadline-before"),deadlineAfter:Xi(t.deadlineAfter,"deadline-after"),updatedAfter:ro(t),updatedBefore:Me(t.updatedBefore,"updated-before"),createdAfter:Me(t.createdAfter,"created-after"),createdBefore:Me(t.createdBefore,"created-before"),assigneeFilter:i,assigneeModeFilter:o,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:G(t.sprint,{label:"--sprint"}),releaseFilter:G(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:Re(s),lifecycleClassifier:vt(r),contentFieldFilters:a,contentFiltersActive:St(a)}}function qc(e,t,n){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&K(e.status,n)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(r=>(e.tags??[]).some(i=>i.trim().toLowerCase()===r))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Vc(e,t){return nt(e,t)}function Yc(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Xc(e,t,n){let r=e.parent?.trim().toLowerCase(),i=[...new Set([...n?.get(e.id.trim().toLowerCase())??[],...r?[r]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!i.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function Qc(e,t,n,r,i){return!(!qc(e,t,n)||!Vc(e,t)||!Yc(e,t)||!Xc(e,t,i)||t.missingMetadataActive&&!kt(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Et(e,t.contentFieldFilters)||!we(e,r))}function mo(e,t,n,r,i,o,s){let a=zc(t,n,r,i);return e.filter(d=>Qc(d,a,i,o,s))}function ke(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function bn(e,t,n,r){let i=e,o=typeof i.title=="string"?i.title:"",s=r??ke(typeof i.parent=="string"?i.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:n,tree_title:`${" ".repeat(t)}${o}`}}function Jc(e,t){let n=new Map,r=new Map;for(let i of e){let o=i.id.trim().toLowerCase();n.set(o,i);let s=t?t.parents_by_child.get(o)??[]:[ke(i.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let d=r.get(a)??[];d.push(i),r.set(a,d)}}return{byId:n,childrenByParent:r}}function Zc(e,t,n,r,i){return t?[...r.get(t.toLowerCase())??[]]:e.filter(o=>(i?i.parents_by_child.get(o.id.trim().toLowerCase())??[]:[ke(o.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!n.has(a)))}function po(e,t,n,r,i=e){let{byId:o,childrenByParent:s}=Jc(e,r),a=Zc(e,t,o,s,r),d=[],c=new Set,l=new Map(i.map(f=>[f.id.trim().toLowerCase(),f.id.trim()])),u=[...a].reverse().map(f=>({node:f,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:f,depth:h,parentId:y}=u.pop(),g=f.id.trim().toLowerCase();if(c.has(g))continue;c.add(g);let w=s.get(g)??[];if(d.push(bn(f,h,w.length,y)),!(n!==void 0&&h>=n))for(let _ of[...w].reverse())u.push({node:_,depth:h+1,parentId:l.get(g)})}if(t===void 0&&n===void 0)for(let f of e){let h=f.id.trim().toLowerCase();c.has(h)||(c.add(h),d.push(bn(f,0,s.get(h)?.length??0)))}return d}function ho(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function go(e,t){return e===t?0:e===null?1:t===null?-1:S(e,t)}function yo(e,t,n){switch(n){case"priority":return e.priority-t.priority;case"deadline":return go(e.deadline??null,t.deadline??null);case"updated_at":return S(e.updated_at,t.updated_at);case"created_at":return S(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return ho(e.parent??null,t.parent??null);default:return 0}}function _o(e,t,n,r){return t?[...e].sort((i,o)=>{let s=yo(i,o,t);if(s!==0)return n==="desc"?-s:s;let a=kn(i,o,r);return n==="desc"?-a:a}):Uc(e,r)}function wo(e,t,n=!1){let r=Z(t.trim());if(r.length===0)return null;let i=e;return n&&r==="title"&&typeof i.tree_title=="string"?i.tree_title:Object.prototype.hasOwnProperty.call(i,r)?i[r]??null:null}function En(e,t,n=!1){return t.mode==="full"?e:e.map(r=>{let i={};for(let o of t.fields)i[o]=wo(r,o,n);return i})}function bo(e){let t=[];for(let n of e)t.push(n.metadata_key);return t}function vo(e,t){if(e.noTruncate!==!0)return j(e.limit)??(t>=1e4?20:void 0)}function ed(e,t,n){return t.after===void 0?Sn(t.offset)??0:et(e,t.after,n,r=>r.id)}function ko(e,t,n){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:n??null}}async function td(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=N(r.schema),o=B(r.schema),s=e.projectionCommand??"list",a=ao(e,s);return Kc(a,bo(o.definitions),s),{pmRoot:n,settings:r,statusRegistry:i,runtimeFieldFilters:_e(e,o,"list"),typeRegistry:O(r,A()),projection:a}}async function nd(e,t,n){let r=t.projection.fields.some(d=>Z(d)==="body"),i=t.projection.mode==="full"||t.projection.fields.some(d=>Zi.has(Z(d))),o=De(e),s=Wi(o),a=zi(o);return e.includeBody||r||a?await di(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):i||s?await ct(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema):await J(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,n,t.settings.schema)}function rd(e){let t=co(e.sort),n=uo(e.order)??"asc",r=e.tree===!0;if(!r&&e.treeDepth!==void 0)throw new p("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new p("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:n,treeEnabled:r,treeDepth:r?Gc(e.treeDepth):void 0,parentRoot:r?ke(e.parent):void 0}}function id(e,t,n){let r=Qi(t.status,n),i;t.lifecycleBucket==="in_progress"?i=[n.in_progress_status]:t.lifecycleBucket==="open"&&(i=[...n.active_statuses].filter(c=>c!==n.in_progress_status).sort((c,l)=>c.localeCompare(l)));let o=r??i??Qi(e,n),s=_i(t.status),a=r||s?{...t,excludeTerminal:!1}:t,d="all";return s?d="all":r!==void 0?d=r.length===1?r[0]:r:t.lifecycleBucket!==void 0?d=t.lifecycleBucket:o!==void 0?d=o.length===1?o[0]:o:a.excludeTerminal===!0&&(d=null),{resolvedStatus:o,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:d}}function od(e,t,n,r,i){if(t.after!==void 0&&t.offset!==void 0)throw new p("List --after cannot be combined with --offset.",m.USAGE);let o=vo(t,e.length),s=ed(e,t,i),a=o===void 0?e.slice(s):e.slice(s,s+o),d=En(a,n,r),c=e.length,l=a.length>0&&s+a.length<c,u=l&&a.length>0?Ie(i,a[a.length-1].id,s+a.length-1):void 0;return{projected:d,totalMatched:c,pageExtras:ko(o,l,u)}}function So(e,t,n){return fe("list",{status:e,options:le(t,Mr),sort:n.sortField??"default",order:n.sortOrder,tree:n.treeEnabled,tree_depth:n.treeDepth??null})}async function sd(e){let{options:t,runtime:n,statusSelection:r,ordering:i}=e,o=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[n.projection.mode==="full",n.projection.fields.some(y=>{let g=Z(y);return g==="body"||Zi.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,i.treeEnabled,i.sortField!==void 0,s,$r(),Object.keys(n.runtimeFieldFilters).length>0,Object.entries(t).some(([y,g])=>g!==void 0&&!o.has(y))].includes(!0))return null;let d=await pe(n.pmRoot,[...new Set(Object.values(n.typeRegistry.type_to_folder))]);if(!d)return null;let c=j(t.limit),l=Sn(t.offset)??0,u=await si({pmRoot:n.pmRoot,expectedSourceCursor:d.source_cursor,query:{statuses:r.resolvedStatus,excludeStatuses:r.resolvedStatus===void 0&&r.effectiveOptions.excludeTerminal===!0?[...n.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...n.statusRegistry.terminal_statuses],limit:c,offset:l}});if(!u)return null;let f=u.items.length>0&&l+u.items.length<u.total,h=f?Ie(So(r.filtersStatus,t,i),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:En(u.items,n.projection,!1),totalMatched:u.total,pageExtras:ko(c,f,h)}}function ad(e){let{filtersStatus:t,options:n,noTruncate:r,treeEnabled:i,treeDepth:o,sortField:s,sortOrder:a,runtimeFieldFilters:d}=e,c={};t!==null&&(c.status=t),n.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency");let l=n;for(let u of $c){let f=l[u.optionKey];f!=null&&(c[u.summaryKey]=f)}for(let u of Pc)l[u.key]===!0&&(c[u.summaryKey]=!0);return Object.assign(c,Oe(n),Le(n)),io(c,n),r&&(c.no_truncate=!0),n.strictRead===!0&&(c.strict_read=!0),i&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),s!==void 0&&(c.sort=s,c.order=a),c.runtime_filters=d,c}async function Y(e,t,n){let r=await td(t,n),i=[],o=rd(t),s=id(e,t,r.statusRegistry),a=t.noTruncate===!0,d=await sd({options:t,runtime:r,statusSelection:s,ordering:o}),c=d;if(!c){let g=await nd(t,r,i),_=o.treeEnabled||ke(t.parent)!==void 0?ft(lt(g,ut())):void 0;Hc(g,t.tag,i);let b=mo(g,s.resolvedStatus,s.effectiveOptions,r.typeRegistry,r.statusRegistry,r.runtimeFieldFilters,_?.parents_by_child),k=t.dependencyBlocked===!0?(()=>{let C=mt(g,r.statusRegistry);return b.filter(E=>C.has(E.id.trim().toLowerCase()))})():b,I=_o(k,o.sortField,o.sortOrder,r.statusRegistry),T=o.treeEnabled?po(I,o.parentRoot,o.treeDepth,_,g):I;c=od(T,t,r.projection,o.treeEnabled,So(s.filtersStatus,t,o))}let l=L(),u=[...new Set(i)].sort((g,w)=>g.localeCompare(w)),f=Mc(u,d!==null,t.strictRead===!0),h=r.projection.mode==="full"?null:[...r.projection.fields];if(r.projection.mode==="compact"&&t.compact===!0){let g=no({filtersStatus:s.filtersStatus,options:t,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters});return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:g,projection:{mode:"compact",fields:h},...u.length>0?{warnings:u}:{}}}return{items:c.projected,count:c.projected.length,total:c.totalMatched,...c.pageExtras,completeness:f,filters:ad({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:o.treeEnabled,treeDepth:o.treeDepth,sortField:o.sortField,sortOrder:o.sortOrder,runtimeFieldFilters:r.runtimeFieldFilters}),projection:{mode:r.projection.mode,fields:h},sorting:{sort:o.sortField??"default",order:o.sortField?o.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var qh={applyFilters:mo,buildCompactListFilterSummary:no,buildContentFilterEcho:Le,buildGovernanceMissingFilterEcho:Oe,resolveContentFieldFilters:De,resolveMissingMetadataFilters:Ct,compareBySortField:yo,compareDefaultSort:kn,compareNullableString:ho,compareNullableTimestamp:go,normalizeProjectionField:Z,parseAssigneeFilter:lo,parseFieldSelectors:so,parseIdsFilter:oo,parseOffset:Sn,parseProjectionConfig:ao,resolveListUpdatedAfter:ro,resolveListPageLimit:vo,parseSortField:co,parseSortOrder:uo,orderItemsAsTree:po,projectListItems:En,readListFieldValue:wo,runtimeMetadataKeysForProjection:bo,sortItems:_o,trimNonEmpty:ke,withTreeMetadata:bn};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ab1153b1-2d91-58a5-9b4a-1d9c5f35a54a")}catch{}})();var cd=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],dd=["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 ud(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Xh(e,t,n={}){let r=n.includePagination!==!1;return[t,...cd.map(o=>e?.[o]),...r?[e?.limit,e?.offset]:[]].some(ud)||dd.some(o=>e?.[o]===!0)}function Eo(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="56486369-9164-58d3-ac34-46d57859f96d")}catch{}})();var Co=["parent","type","priority","status","assignee","tags","sprint","release"];function Io(e,t){let n=ye(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function To(e,t=["estimate","estimated_minutes","priority"]){let n=e.sum?.trim(),r=e.avg?.trim(),i=n&&n.length>0?n:void 0,o=r&&r.length>0?r:void 0;if(!i&&!o)return null;if(i&&o&&i!==o)throw new p("Aggregate --sum and --avg must target the same numeric field",m.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,m.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function Fo(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",m.USAGE);let n=Ci(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",m.USAGE);for(let r of n)if(!Co.includes(r))throw new p(`Aggregate group fields must be one of ${Co.join("|")}; received "${r}"`,m.USAGE);return n}function Ao(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 Ro(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 Ao(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Mo(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 Do(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var ld={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function xo(e,t){return t==null||t===""?ld[e]:String(t)}function fd(e,t){return e.length===1?xo(e[0],t[e[0]]):e.map(n=>`${n}=${xo(n,t[n])}`).join(" | ")}function Lo(e,t,n){for(let r of n){let i=Mo(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Oo(e,t){let r=e[t];if(typeof r=="number"&&Number.isFinite(r))return r;if(typeof r=="string"){let i=r.trim();if(i.length===0)return null;let o=Number(i);if(Number.isFinite(o))return o}return null}function No(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Cn(e,t,n){let r=$(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 md(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 pd(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function hd(e){e.accumulator.row.count+=1,e.includeCompletion&&Cn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&pd(e.accumulator,e.numericValue)}function gd(e,t){let n={};for(let r of e)n[r]=Ro(r,t);return n}function yd(e,t,n,r){let i={...e.row,group_label:fd(t,e.row.group)};return n&&(i.open=e.open_count,i.in_progress=e.in_progress_count,i.closed=e.closed_count,i.other=e.other_count,i.completion_pct=No(e.closed_count,e.row.count)),r!==null&&(i.null_count=e.null_count,r.sum&&(i.sum=e.numeric_sum),r.avg&&(i.avg=e.numeric_count===0?null:e.numeric_sum/e.numeric_count)),i}function _d(e){return{group_by:e.groupBy,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function tg(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",m.USAGE);let n=x(process.cwd(),t.path),r=await R(n),i=N(r.schema),o=["estimate","estimated_minutes","priority",...B(r.schema).definitions.filter(_=>_.type==="number").map(_=>_.metadata_key)],s=Fo(e.groupBy),a=Io(e.status,i),d=To(e,[...new Set(o)].sort((_,b)=>_.localeCompare(b))),c=e.completion===!0,l=e.includeUnparented===!0,u=await Y(void 0,{...Eo(e),status:e.status},t),f=new Map,h=0,y=0;for(let _ of u.items){let b=_,k=gd(s,b);if(s.includes("parent")&&k.parent===null&&!l){h+=1;continue}let I=Do(s,k),T=f.get(I),C=d===null?null:Oo(b,d.field);if(T)hd({accumulator:T,item:b,statusRegistry:i,includeCompletion:c,numericAggregation:d,numericValue:C});else{let E=md(k,C);c&&Cn(E,b.status,i),f.set(I,E)}y+=1}let g=[...f.values()].map(_=>yd(_,s,c,d)).sort((_,b)=>Lo(_,b,s)),w=u.warnings&&u.warnings.length>0?u.warnings:void 0;return{groups:g,count:g.length,totals:{items_considered:u.items.length,items_grouped:y,items_skipped_unparented:h},filters:_d({groupBy:s,includeCompletion:c,includeUnparented:l,status:a,options:e,numericAggregation:d}),now:L(),...w?{warnings:w}:{}}}var ng={buildGroupKey:Do,compareAggregateRows:Lo,compareNullableGroupValue:Mo,completionPct:No,normalizeTagGroupValue:Ao,parseGroupBy:Fo,parseNumericAggregation:To,parseStatus:Io,readNumericAggregateValue:Oo,resolveGroupValue:Ro,updateCompletionCounts:Cn};import{encode as wd}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]="47de55f1-589f-5743-bcb8-3b7a6302dfbb")}catch{}})();var xn=["agenda","day","week","month"],In=["markdown","toon","json"],bd=["sun","mon","tue","wed","thu","fri","sat"],vd=365,kd=365,jo=28,Sd=1e3;function Tn(e,t){if(e===void 0)return;let n=Number(e);if(!Number.isInteger(n)||n<0)throw new p(`${t} must be a non-negative integer`,m.USAGE);return n}function Ed(e){if(!e)return new Set(["deadlines","reminders","events"]);let t=e.trim().toLowerCase();if(t==="all")return new Set(["deadlines","reminders","events"]);let n=t.split(/[|,]/).map(i=>i.trim()).filter(i=>i.length>0);if(n.length===0)throw new p("Calendar include filter must not be empty",m.USAGE);let r=new Set;for(let i of n){if(i==="deadlines"||i==="deadline"){r.add("deadlines");continue}if(i==="reminders"||i==="reminder"){r.add("reminders");continue}if(i==="events"||i==="event"||i==="scheduled"){r.add("events");continue}throw new p("Calendar include filter must be deadlines|reminders|events|scheduled|all",m.USAGE)}return r}function Uo(e,t){let n;for(let r of t){let i=br(e,r,2);i!==null&&(n===void 0||i<n.distance)&&(n={choice:r,distance:i})}return n?.choice}function Cd(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!xn.includes(t)){let n=Uo(t,xn);throw new p(`Calendar view must be one of ${xn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function xd(e){if(!e)return;let t=e.trim().toLowerCase();if(!In.includes(t)){let n=Uo(t,In);throw new p(`Calendar format must be one of ${In.join("|")}${n?`. Did you mean "${n}"?`:"."}`,m.USAGE)}return t}function dg(e,t){let n=xd(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"markdown"}function Id(e,t){if(e===void 0)return;let n=$(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,m.USAGE)}return n}function Td(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new p("Calendar assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function xt(e){return new Date(e).toISOString().slice(0,10)}function Ko(e,t){if(!t||t==="UTC")return xt(e);try{let n=new Intl.DateTimeFormat("en-CA",{timeZone:t,year:"numeric",month:"2-digit",day:"2-digit"}).formatToParts(new Date(e)),r=n.find(s=>s.type==="year")?.value,i=n.find(s=>s.type==="month")?.value,o=n.find(s=>s.type==="day")?.value;if(r&&i&&o)return`${r}-${i}-${o}`}catch{}return xt(e)}function Mn(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function X(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Bo(e){let t=new Date(Mn(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return X(t.toISOString(),r)}function Fd(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Ad(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function Rd(e,t){return S(e,t)>=0?e:t}function $o(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function Po(e,t){e.set(t,(e.get(t)??0)+1)}function Md(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>ue(r)-ue(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Go(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function Ho(e){return bd[new Date(e).getUTCDay()]}function Dd(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ld(e){let t=new Set;for(let n of e??[]){let r=Dd(n);r&&t.add(r)}return t}function Od(e,t,n,r,i){let o=e??X(n,-(r??kd)),s=t??X(e??n,i??vd);return{start:o,end:S(s,o)>0?s:X(o,1)}}function Nd(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Ho(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Sd,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ld(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>ue(s)-ue(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function It(e,t){return S(t,e.startAt)<0?"continue":e.until&&S(t,e.until)>0||S(t,e.window.end)>=0?"stop":e.excluded.has(t)?"continue":(e.produced+=1,S(t,e.window.start)>=0&&e.occurrences.push(t),e.produced>=e.countLimit||e.occurrences.length>=e.maxOccurrences?"stop":"continue")}function Tt(e,t){let n=Ho(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function $d(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Tt(e,t)&&It(e,t)==="stop");n+=1)t=X(t,e.interval);return e.occurrences}function Pd(e,t,n){let r=ue(n),i=X(t,r),o=new Date(i);return new Date(Date.UTC(o.getUTCFullYear(),o.getUTCMonth(),o.getUTCDate(),e.startDate.getUTCHours(),e.startDate.getUTCMinutes(),e.startDate.getUTCSeconds(),e.startDate.getUTCMilliseconds())).toISOString()}function jd(e){let t=Bo(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=X(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=Pd(e,r,i);if(Tt(e,o)&&It(e,o)==="stop")return e.occurrences}}return e.occurrences}function Ud(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Go(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Tt(e,s))&&It(e,s)==="stop")return e.occurrences}}return e.occurrences}function Kd(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=t+r*e.interval;for(let o of e.sortedMonthDays){let s=Go(i,n,o,e.startDate);if(!(!s||!Tt(e,s))&&It(e,s)==="stop")return e.occurrences}}return e.occurrences}function Bd(e,t,n,r){let i=Nd(e,t,n,r);return t.freq==="daily"?$d(i):t.freq==="weekly"?jd(i):t.freq==="monthly"?Ud(i):Kd(i)}function Wo(e){return[...e].sort((t,n)=>{let r=S(t.at,n.at);if(r!==0)return r;let i=t.item_priority-n.item_priority;if(i!==0)return i;let o=t.item_id.localeCompare(n.item_id);if(o!==0)return o;let s=t.kind.localeCompare(n.kind);if(s!==0)return s;let a=String(t.event_title).localeCompare(String(n.event_title));return a!==0?a:String(t.reminder_text).localeCompare(String(n.reminder_text))})}function 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 Gd(e){return e.deadline?{at:e.deadline,date:xt(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 Hd(e){return(e.reminders??[]).map(t=>({at:t.at,date:xt(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 Wd(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function zd(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function qd(e,t,n,r){let i=Md(t.recurrence),o=Wd(t.start_at,t.end_at);return(t.recurrence?Bd(t.start_at,t.recurrence,n,r):[t.start_at]).map(a=>({at:a,date:t.all_day===!0?a.slice(0,10):Ko(a,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:zd(a,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Dn(e)}))}function Vd(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Gd(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Hd(o));for(let a of n.has("events")?o.events??[]:[])i.push(...qd(o,a,t,r))}return Wo(i)}function Yd(e,t,n,r,i){let o=Mi(t.type,n),s=t.tag?.trim().toLowerCase(),a=pt(t.priority),d=Id(t.status,r),c=t.assignee?.trim(),l=Td(t.assigneeFilter),u=t.sprint?.trim(),f=t.release?.trim();if(c&&(c.toLowerCase()==="none"||c.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE);return e.filter(h=>Xd(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:f,runtimeFieldFilters:i}))}function Xd(e,t){return Qd(e,t)&&Jd(e,t)&&we(e,t.runtimeFieldFilters)}function Qd(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 Jd(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 Zd(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function Fn(e,t,n){return e.trim().toLowerCase()==="today"?Mn(t):U(e,new Date(t),n)}function eu(e,t,n){let r=t.date?Fn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?Fn(t.from,n,"--from"):void 0,a=t.to?Fn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",m.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",m.USAGE);if(e==="agenda")return tu(r,t,n,i,o,s,a);if(e==="day"){let c=Mn(r);return An(r,n,i,o,c,X(c,1))}if(e==="week"){let c=Bo(r);return An(r,n,i,o,c,X(c,7))}let d=Fd(r);return An(r,n,i,o,d,Ad(r))}function tu(e,t,n,r,i,o,s){if(i)throw new p("--full-period is only supported for --view day|week|month. For agenda windows, use --from and --to.",m.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function An(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:Rd(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function nu(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:Wo(r)}))}function ru(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),Po(n,d.item_type),Po(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:$o(n),by_status:$o(r),recurring_events:a}}function iu(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function zo(e,t){if(t&&t!=="UTC")try{let n=new Intl.DateTimeFormat("en-GB",{timeZone:t,hour:"2-digit",minute:"2-digit",hourCycle:"h23"}).formatToParts(new Date(e)),r=n.find(o=>o.type==="hour")?.value,i=n.find(o=>o.type==="minute")?.value;if(r&&i)return`${r}:${i}`}catch{}return`${new Date(e).toISOString().slice(11,16)}Z`}function Rn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function ou(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Ko(e.event_end,e.event_timezone)?zo(e.event_end,e.event_timezone):e.event_end:null}function su(e){let t=`${zo(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=ou(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 ug(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${iu(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: ${Rn(e.summary.by_kind)}`),t.push(`- by-type: ${Rn(e.summary.by_type)}`),t.push(`- by-status: ${Rn(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(`- ${su(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 au(t.join(`
3
+ `))}function lg(e){return wd(e)}function au(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function cu(e){let t=L(),n=Cd(e.view),r=eu(n,e,t),i=j(e.limit),o=Ed(e.include),s=Tn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=Tn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=Tn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",m.USAGE);let c=o.has("events")&&!o.has("deadlines")&&!o.has("reminders"),l=e.to!==void 0||s!==void 0||a!==void 0||d!==void 0,u=c&&!l;return{nowValue:t,view:n,rangeBounds:r,limit:i,includeSources:o,occurrenceLimit:d,recurrenceLookaheadDays:u?jo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function du(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${jo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function uu(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 lu(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 qo(e,t){let n=x(process.cwd(),t.path);await P(n);let r=cu(e),i=await R(n),o=N(i.schema),s=B(i.schema),a=_e(e,s,"calendar"),d=O(i,A()),c=[];du(c,r.eventsOnlyCapApplied);let l=await J(n,i.item_format,d.type_to_folder,c,i.schema),u=Yd(l,e,d,o,a),f=Od(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),y=Vd(u,f,r.includeSources,r.occurrenceLimit).filter(b=>Zd(b,r.rangeBounds.start,r.rangeBounds.end)),g=r.limit===void 0?y:y.slice(0,r.limit),w=nu(g),_=[...new Set(c)].sort((b,k)=>b.localeCompare(k));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:lu(e,r.rangeBounds),filters:uu(e,a),summary:ru(g),events:g,days:w,..._.length>0?{warnings:_}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="377499d7-13b3-55f0-9d44-425bfcaf7964")}catch{}})();var Vo="1970-01-01T00:00:00.000Z";function Ne(e){if(typeof e!="string")return null;let t=e.trim();if(!jr(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return U(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]="80a03884-711e-5170-a3c1-f05ccb065702")}catch{}})();var Ln=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],fu=Symbol("no-context-author"),mu=Symbol("no-item-assignee");function Yo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function pu(e){if(typeof e!="string")return;let t=/^v?(\d{4})\.(\d{1,2})\.(\d{1,2})(?:$|[-+])/u.exec(e.trim());if(!t)return;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]),o=new Date(Date.UTC(n,r-1,i));return o.getUTCFullYear()===n&&o.getUTCMonth()===r-1&&o.getUTCDate()===i?o.toISOString():void 0}function hu(e){let t=pu(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ne(e.created_at)??Vo}}function gu(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=Ne(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 yu(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 _u(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 wu(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 Ft(e,t,n){return e?.[t]??n}function At(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?hu(c):gu(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,f=n.get(l.id).coordinate;return S(f,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=Yo(t.author,fu),a=$("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Yo(c.assignee,mu)===s,u=(c.comments?.length??0)+(c.notes?.length??0)+(c.learnings?.length??0);return{id:c.id,item:c,signal_provenance:{recency:n.get(c.id)},signals:{recency:e.length===1?1:1-i.get(c.id)/o,activity_density:t.activityDensity?.[c.id],graph_proximity:Ft(t.graphProximity,c.id,c.parent?.3:0),claim_focus:Ft(t.claimFocus,c.id,M(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:yu(c.priority,4),risk_pressure:wu(c.risk),deadline_pressure:_u(c.deadline,d),knowledge_density:Ft(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:Ft(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var bu="context_relevance",vu={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},ku=new TextEncoder;function Su(e){let t=new Set;for(let n of e){if(typeof n.id!="string"||n.id.trim().length===0||t.has(n.id))throw new TypeError("Context relevance candidates require unique non-empty ids");t.add(n.id);for(let[r,i]of Object.entries(n.signals??{})){if(r==="structural"||!Ln.includes(r))throw new TypeError(`Unknown context relevance signal: ${r}`);if(i!==void 0&&(!Number.isFinite(i)||i<0||i>1))throw new TypeError(`Context relevance signal ${r} must be a finite number from 0 to 1`)}}}function Eu(e){let t={...vu};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Ln.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 Qo(e,t={}){Su(e);let n=Eu(t.weights),r=Math.max(e.length-1,1),i=new Set(["structural"]);for(let a of e)for(let[d,c]of Object.entries(a.signals??{}))c!==void 0&&i.add(d);let o=Ln.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,f=0;for(let h of o){let y=c[h];if(y===void 0)continue;let g=y*n[h];l[h]=g,u+=g,f+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:f===0?0:u/f,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Cu(e,t={}){let n=Qo(e,t);if(!t.scorer)return n;let r=await t.scorer({candidates:e,default_report:n}),i=new Map;for(let s of r){if(i.has(s.id)||!Number.isFinite(s.score))throw new TypeError("Context relevance scorer must return one finite score for every candidate");i.set(s.id,s.score)}if(i.size!==e.length||e.some(s=>!i.has(s.id)))throw new TypeError("Context relevance scorer must return one finite score for every candidate");let o=n.ranked.map(s=>{let a=i.get(s.id);return{...s,score:a,contributions:{custom:a}}});return o.sort((s,a)=>a.score-s.score||s.baseline_rank-a.baseline_rank),o.forEach((s,a)=>{s.rank=a+1}),{model:"custom",available_signals:n.available_signals,ranked:o}}async function Rt(e,t,n={}){let r=Qo(t,n),i=await Pr(bu,{surface:e,candidates:t,default_report:r});if(!i.handled)return i.warnings.length>0?{...r,warnings:i.warnings}:r;if(!Array.isArray(i.result)||!i.result.every(o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&typeof o.score=="number"&&Number.isFinite(o.score)))return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]};try{let o=await Cu(t,{...n,scorer:()=>i.result});return i.warnings.length>0?{...o,warnings:i.warnings}:o}catch{return{...r,warnings:[...i.warnings,"extension_context_relevance_invalid_result"]}}}var xu=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Xo(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function Iu(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,f)=>l+(2**u-1)/Math.log2(f+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Xo(e.required_ids??[],a),continuity_coverage:Xo(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function Tu(e){return Math.ceil(ku.encode(JSON.stringify(e)).byteLength/4)}function Fu(e){return Math.round(e*1e4)/1e4}function Au(e,t){let n=t==="context"?[...e.high_level??[],...e.low_level??[],...e.blocked_fallback??[]].map(o=>o.id):[...e.recommended?[e.recommended]:[],...e.ready??[]].map(o=>o.id),r=new Set(n),i=(e.ranking?.items??[]).filter(o=>r.has(o.id)).map(o=>({id:o.id,contributions:o.contributions}));return{rankedIds:n,attribution:i}}async function Ru(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:"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:"unbounded"}),{rankedIds:r,attribution:i}=Au(n,e.surface),o={...n,ranking:void 0},s=Tu(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:Iu({ranked_ids:r,judgments:e.judgments,required_ids:e.required_ids,continuity_ids:e.continuity_ids,actual_tokens:s,token_budget:e.token_budget}),attribution:i}}function Mu(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=xu;for(let o of n)if(!Number.isFinite(t[o]))throw new TypeError(`Context evaluation threshold ${o} must be a finite number`);let r=Object.fromEntries(n.map(o=>[o,Fu(e.reduce((s,a)=>s+a.metrics[o],0)/e.length)])),i=n.filter(o=>r[o]<t[o]).map(o=>`${o}:${r[o]}<${t[o]}`);return{scenario_count:e.length,aggregate:r,scenarios:[...e],passed:i.length===0,failures:i}}async function wg(e,t,n){let r=[];for(let i of e)r.push(await Ru(i,t));return Mu(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b5c90a16-c075-5dc6-a326-ad2da7a6ef6d")}catch{}})();var Du={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},Lu=["identity","summary","full"];function Ou(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=Lu.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 Nu(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=Du[t];if(!n)throw new TypeError("Unknown context packing profile");let r=e.redundancyPenalty??n.redundancyPenalty,i=e.uncertaintyPenalty??n.uncertaintyPenalty;if(!Number.isFinite(r)||r<0||r>1||!Number.isFinite(i)||i<0)throw new TypeError("Context packing penalties must be finite and within their supported ranges");if(e.latencyBudgetMs!==void 0&&(!Number.isFinite(e.latencyBudgetMs)||e.latencyBudgetMs<=0))throw new TypeError("Context packing latencyBudgetMs must be positive");return{redundancy:r,uncertainty:i,profile:t}}function $u(e){let t=new Set;for(let n of e){if(Ou(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 Pu(e,t,n,r,i){let o=-1,s=0;for(let a=0;a<e.length;a+=1){if(a%128===0&&i()>=r)return{index:o,evaluated:s,timedOut:!0};let d=e[a];if(d.token_costs.identity>t)continue;s+=1;let c=o<0?void 0:e[o],l=n(d)/d.token_costs.identity,u=c===void 0?Number.NEGATIVE_INFINITY:n(c)/c.token_costs.identity;(l>u||l===u&&c!==void 0&&(d.rank<c.rank||d.rank===c.rank&&d.id.localeCompare(c.id)<0))&&(o=a)}return{index:o,evaluated:s,timedOut:!1}}function ju(e){let t=new Set,n=[],r=e.tokenBudget,i=c=>{let l=c.lineage??c.cluster,u=l&&t.has(l)?1-e.redundancyPenalty:1;return Math.max(0,(c.score-e.uncertaintyPenalty*(c.uncertainty??0))*u)},o=c=>{let l=c.token_costs.identity;n.push({...c,projection:"identity",tokens:l,marginal_value:i(c)}),r-=l;let u=c.lineage??c.cluster;u&&t.add(u)};for(let c of e.ordered.filter(l=>l.required))c.token_costs.identity<=r&&o(c);let s=e.ordered.filter(c=>!c.required),a=!0,d=0;for(;s.length>0;){let c=Pu(s,r,i,e.deadline,e.readClock);if(d+=c.evaluated,c.timedOut&&(a=!1),c.index<0||c.timedOut)break;o(s.splice(c.index,1)[0])}return{included:n,remaining:r,selectionComplete:a,evaluatedCandidates:d}}function Uu(e,t){let n=t;for(let r of["summary","full"]){let i=r==="summary"?"identity":"summary",o=[...e].sort((s,a)=>{let d=s.token_costs[r]-s.token_costs[i],c=a.token_costs[r]-a.token_costs[i];return a.marginal_value/Math.max(c,1)-s.marginal_value/Math.max(d,1)||s.rank-a.rank||s.id.localeCompare(a.id)});for(let s of o){if(s.projection!==i)continue;let a=s.token_costs[r]-s.tokens;a>n||(s.projection=r,s.tokens+=a,n-=a)}}return n}function Jo(e,t){let n=Nu(t),r=$u(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=ju({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=Uu(a,s.remaining);a.sort((l,u)=>l.rank-u.rank||l.id.localeCompare(u.id));let c=new Set(a.map(l=>l.id));return{included:a,omitted_ids:r.filter(l=>!c.has(l.id)).map(l=>l.id),token_budget:t.tokenBudget,used_tokens:t.tokenBudget-d,remaining_tokens:d,complete:s.selectionComplete&&a.length===e.length&&a.every(l=>l.projection==="full"),selection_complete:s.selectionComplete,termination_reason:s.selectionComplete?"exhausted":"latency_budget",evaluated_candidates:s.evaluatedCandidates,latency_budget_ms:t.latencyBudgetMs??null,profile:n.profile,degradation_ladder:["full","summary","identity"]}}import $e from"node:fs/promises";import Pe from"node:path";import{createHash as Zo,randomUUID as Ku}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]="9b112b71-e0b8-5502-89f6-b4da6eb85f6b")}catch{}})();var On=3,Nn=2,es=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],Bu=new Set(["substantive_history","release_cohort","created_at"]),Gu={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 Se(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ts(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function Hu(e){let t={};for(let n of es){let r=e[n];if(r!==void 0){if(!ts(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function Wu(e,t){let n=e.map(i=>[i.id,t(i)]),r=Math.max(0,...n.map(([,i])=>i));return Object.fromEntries(n.map(([i,o])=>[i,r===0?0:o/r]))}function zu(e){let t=new Map(e.map(i=>[i.id,0])),n=i=>{t.set(i,(t.get(i)??0)+1)};for(let i of e){typeof i.parent=="string"&&i.parent.trim()&&(n(i.id),n(i.parent.trim()));for(let o of i.dependencies??[])typeof o.id!="string"||!o.id.trim()||(n(i.id),n(o.id.trim()))}let r=Math.max(0,...t.values());return Object.fromEntries(e.map(i=>[i.id,r===0?0:t.get(i.id)/r]))}function ns(e,t){return{...t,activityDensity:t.activityDensity??Wu(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??zu(e)}}function jn(e){let t=Zo("sha256");for(let{id:n,signal_provenance:{recency:r}}of[...e].sort((i,o)=>i.id.localeCompare(o.id)))t.update(JSON.stringify([n,r.source,r.coordinate,r.history_op??null,r.event_class??null]));return`sha256:${t.digest("hex")}`}function qu(e){if(!Se(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",Se(e.signals),Se(t)].every(Boolean))return null;let n=t.recency;if(!Se(n))return null;let r=Ne(n.coordinate);if(r===null)return null;let i=new Set(es),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&ts(a))||![typeof n.source=="string"&&Bu.has(n.source),["undefined","string"].includes(typeof n.history_op),[void 0,"substantive","maintenance"].includes(n.event_class),n.source==="substantive_history"?n.event_class===void 0||n.event_class==="substantive":n.history_op===void 0&&n.event_class===void 0].every(Boolean)?null:{id:e.id,signals:Object.fromEntries(o),signal_provenance:{recency:{source:n.source,coordinate:r,history_op:n.history_op,event_class:n.event_class}}}}function Vu(e,t){let n=Array.from(e,qu);if(n.some(i=>i===null))return null;let r=n;return new Set(r.map(i=>i.id)).size!==r.length||r.some(i=>i.id.trim().length===0)||t!==jn(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function Yu(e){if(!Se(e)||e.format_version!==On||e.signal_set_version!==Nn||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=Vu(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:On,signal_set_version:Nn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function rs(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 is(e,t,n=jn(e)){let r=e.map(({id:o})=>o);if(new Set(r).size!==r.length||r.some(o=>o.trim().length===0))throw new TypeError("Context signal snapshot item IDs must be unique and non-empty");let i=e.map(({id:o,signals:s,signal_provenance:a})=>({id:o,signals:Hu(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:On,signal_set_version:Nn,source_cursor:t.sourceCursor,recency_evidence_fingerprint:n,generated_at:t.now,source:t.source,items:Object.freeze(i.map(o=>Object.freeze(o)))})}function Ag(e,t){return rs(t),is(At(e,ns(e,t)),t)}var $n=class{filePath;constructor(t){if(typeof t!="string"||t.trim().length===0)throw new TypeError("Context signal store path must be non-empty");this.filePath=Pe.resolve(t)}async read(){try{return JSON.parse(await $e.readFile(this.filePath,"utf8"))}catch(t){if(Se(t)&&Qe(t))return null;throw t}}async write(t){let n=Pe.dirname(this.filePath);await $e.mkdir(n,{recursive:!0});let r=Pe.join(n,`.${Pe.basename(this.filePath)}.${Ku()}.tmp`);try{await $e.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await $e.rename(r,this.filePath)}finally{try{await $e.rm(r,{force:!0})}catch{}}}},Pn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){rs(n);let r=[],i=null;try{let f=await this.adapter.read();i=Yu(f),f!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(f=>f.id).sort((f,h)=>f.localeCompare(h)),s=i?.items.map(f=>f.id)??[],a=At(t,ns(t,n)),d=jn(a),c=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===d&&i.source===n.source&&s.length===o.length&&s.every((f,h)=>f===o[h]),l;if(c&&i!==null)l=i;else{i!==null&&r.push("context_signal_store_stale"),l=is(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(f=>[f.id,f]));return{snapshot:l,candidates:a.map(f=>({...f,signals:{...f.signals,...u.get(f.id)?.signals},signal_provenance:u.get(f.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(f=>Gu[f])}}};function Xu(e){let t=Zo("sha256");for(let n of[...e].sort((r,i)=>r.id.localeCompare(i.id)))t.update(JSON.stringify([n.id,n.updated_at,n.status,n.parent??null,n.priority??null,n.risk??null,(n.dependencies??[]).map(r=>r.id).sort(),n.comments?.length??0,n.notes?.length??0,n.learnings?.length??0,n.test_runs?.length??0]));return`scan:${t.digest("hex")}`}async function Mt(e,t){let n=t.sourceCursor!==void 0,r=t.source!==void 0;if(n!==r)throw new TypeError("Context signal source and source cursor must be provided together");if(t.storeKey!==void 0&&!/^[a-z0-9](?:[a-z0-9_-]*[a-z0-9])?$/u.test(t.storeKey))throw new TypeError("Context signal store key must be a filesystem-safe identifier");let i=n?null:await pe(t.pmRoot),o=t.sourceCursor??i?.source_cursor??Xu(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Pn(new $n(Pe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await Vr(t.pmRoot,e.map(c=>c.id))).map(([c,l])=>[c,{source:"substantive_history",coordinate:l.entry.ts,history_op:l.entry.op,event_class:"substantive"}]));return a.readOrRebuild(e,{...t,recencyEvidence:d,sourceCursor:o,source:s})}import Qu from"node:path";import{createHash as Ju}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a19662f9-f8b3-5988-bc04-1b5a5edaaaa5")}catch{}})();function os(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 Zu 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]="ad77a79d-54da-55f1-8ac8-935366880d90")}catch{}})();var ss=1,el=1e4,as=12;function tl(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function nl(e,t){let n=new Set,r=e.parent;for(;r&&!n.has(r);){n.add(r);let i=t.get(r);if(!i)return;if(i.type.toLowerCase()==="epic")return i;r=i.parent}}function rl(e){let t=[...e.items].sort((i,o)=>o.completion.timestamp.localeCompare(i.completion.timestamp)||i.item.id.localeCompare(o.item.id)),n=new Set,r=0;for(let{item:i}of t){let o=i.resolution??i.close_reason;o?.trim()&&n.add(o.trim()),r+=(i.notes?.length??0)+(i.learnings?.length??0)}return{kind:e.kind,key:e.key,label:e.label,item_count:t.length,first_closed_at:t.at(-1).completion.timestamp,last_closed_at:t[0].completion.timestamp,representative_items:t.slice(0,5).map(({item:{id:i,title:o}})=>({id:i,title:o})),outcomes:[...n].sort().slice(0,5),knowledge_entries:r}}function il(e,t){if(!t.sourceCursor.trim())throw new TypeError("Workspace memory source cursor must be non-empty");if(!Number.isFinite(Date.parse(t.now)))throw new TypeError("Workspace memory clock must be a valid timestamp");let n=e.filter(o=>t.statusRegistry.terminal_done_statuses.has(M(o.status,t.statusRegistry))).map(o=>{let s=os(o);if(!s.resolved)throw new TypeError(`Completed item ${o.id} has no reporting timestamp`);return{item:o,completion:s}}),r=new Map(e.map(o=>[o.id,o])),i=new Map;for(let o of n){let{item:s,completion:a}=o,d=tl(a.timestamp),c=`epoch:${d}`,l=i.get(c)??{kind:"epoch",key:d,label:d,items:[]};l.items.push(o),i.set(c,l);let u=nl(s,r);if(u){let f=`epic:${u.id}`,h=i.get(f)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(o),i.set(f,h)}}return{format_version:ss,source_cursor:t.sourceCursor,source_item_count:e.length,generated_at:t.now,completion_time_sources:n.reduce((o,{completion:s})=>(o[s.source]+=1,o),{completed_at:0,closed_at:0,updated_at:0}),rollups:[...i.values()].map(rl).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function ol(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 sl(e){if(typeof e!="object"||e===null)return!1;let t=e,n=[t.key,t.label].every(i=>typeof i=="string"&&i.length>0),r=[t.first_closed_at,t.last_closed_at].every(i=>typeof i=="string"&&Number.isFinite(Date.parse(i)));return(t.kind==="epoch"||t.kind==="epic")&&n&&Number.isSafeInteger(t.item_count)&&t.item_count>0&&r&&Array.isArray(t.representative_items)&&t.representative_items.every(ol)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function al(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==ss||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(sl)?t:null}function cl(e){return`scan:${Ju("sha256").update(Ar(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function dl(e,t,n){return n!==void 0?n:(await pe(t))?.source_cursor??cl(e)}async function ul(e){try{let t=al(JSON.parse(await Zu.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&Qe(t))}}}async function Dt(e,t){let n=Math.max(1,Math.floor(t.minimumItems??el));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await dl(e,t.pmRoot,t.sourceCursor),i=Qu.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await ul(i),a=s.snapshot;if(s.invalid&&o.push("workspace_memory_invalid"),a?.source_cursor===r&&a.source_item_count===e.length)return{snapshot:a,cache_status:"fresh",warnings:o};a&&o.push("workspace_memory_stale");let d=il(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await xr(i,`${JSON.stringify(d)}
6
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function ll(e,t,n=as){let r=Math.max(0,Math.floor(t)),i=0,o=[];for(let s of e.rollups){if(o.length>=Math.max(0,Math.floor(n)))break;let a=Math.ceil(JSON.stringify(s).length/4);i+a>r||(o.push(s),i+=a)}return o}function cs(e,t,n=as){if(e.snapshot===null)return;let r=ll(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 fl(e,t,n=5){if(e===null)return[];let r=t.trim().toLowerCase().split(/\s+/u).filter(Boolean);return r.length===0?[]:e.rollups.map(i=>({rollup:i,score:r.filter(o=>[i.key,i.label,...i.outcomes,...i.representative_items.flatMap(s=>[s.id,s.title])].join(" ").toLowerCase().includes(o)).length})).filter(({score:i})=>i>0).sort((i,o)=>o.score-i.score||o.rollup.last_closed_at.localeCompare(i.rollup.last_closed_at)||i.rollup.key.localeCompare(o.rollup.key)).slice(0,Math.max(0,Math.floor(n))).map(({rollup:i})=>i)}function ds(e,t,n=5){let r=fl(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]="97c1e310-3cd9-5846-a54c-d019b0351541")}catch{}})();var us=16;async function ls(e,t,n){let r=O(t,A()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<us;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await he(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await ge(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function zg(e){await Gr({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await ls(e.pmRoot,e.settings,e.itemId)})}async function qg(e){await Hr(e)}async function Vg(e){await Wr({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await ls(e.pmRoot,e.settings,e.itemId)}:{}})}var Yg={lineage_depth:us,active_items:64,evidence_rows:32};function fs(e){if(!e)return;let t={};for(let n of e.active_item_ids)t[n]=1;e.focused_item_id&&(t[e.focused_item_id]=1);for(let n of e.evidence){let r=/^lineage:(.+)$/u.exec(n)?.[1];r&&t[r]===void 0&&(t[r]=.75)}return Object.keys(t).length>0?t:void 0}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="56205e5f-fc26-59ab-abdf-45bdcaf1c263")}catch{}})();var ml=["markdown","toon","json","ndjson"],Ue=new Set(["Epic","Feature"]),ys=10,_s=1e4,ws=["hierarchy","activity","progress","recently_created","unparented","workload"],pl=[...ws,"blockers","files","staleness","tests"],hl=/^(\d{4})-(\d{2})-(\d{2})/,gl=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,yl=/^(\d{4})(\d{2})(\d{2})$/,_l=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function wl(e){if(!e)return;let t=e.trim().toLowerCase();if(!ml.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",m.USAGE);return t}var ms=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 bl(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ms.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...ms].join(", ")})`,m.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",m.USAGE);return t}function je(e,t){return e.map(n=>{let r={},i=n;for(let o of t)r[o]=i[o]??null;return r})}function py(e,t){let n=wl(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function vl(e,t){return j(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:ys)}function Bn(e,t){if(e===void 0)return t;let n=typeof e=="number"?e:Number(e);if(!Number.isInteger(n)||n<1)throw new p("--token-budget must be a positive integer",m.USAGE);return n}function kl(e,t){return t>=_s&&e===Number.MAX_SAFE_INTEGER?ys:e}function Sl(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!Yt.includes(n))throw new p(`Context --depth must be one of ${Yt.join("|")}`,m.USAGE);return n}function El(e,t,n){if(e&&e.length>0){let i=[];for(let o of e){let s=o.trim().toLowerCase();if(!Xe.includes(s))throw new p(`Context --section must be one of ${Xe.join("|")}`,m.USAGE);i.includes(s)||i.push(s)}return i}return t==="brief"?[]:t==="full"?[...Xe]:(t==="deep"?pl:ws).filter(i=>n.sections[i])}function Cl(e,t){return e?j(e,"--activity-limit")??t.activity_limit:t.activity_limit}function xl(e,t){if(!e)return t.stale_threshold_days;let n=e.trim().toLowerCase(),r=/^(\d+)d?$/.exec(n);if(!r)throw new p("--stale-threshold must be a number of days (e.g. 7 or 7d)",m.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",m.USAGE);return i}function ps(e,t){let n=M(e,t),r=$("blocked",t),i=$("draft",t);return n===t.in_progress_status?0:t.active_statuses.has(n)?1:r&&n===r?2:i&&n===i?3:t.blocked_statuses.has(n)?5:t.terminal_statuses.has(n)?7:6}function Ke(e,t){let n=$("closed",t);return M(e,t)===n}function Gn(e,t){return M(e,t)===t.in_progress_status}function bs(e,t){let n=M(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function Il(e,t){return t.blocked_statuses.has(M(e,t))}var Tl=["compact","brief","fields","includeBody","include_body","parent"];function Fl(e){let t={...e};for(let n of Tl)delete t[n];return t}function Hn(e,t){let n=t.trim().toLowerCase(),r=e.find(a=>a.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=Ee(e),o=Be(r.id,i);return{ids:new Set([r.id,...o.map(a=>a.id)].map(a=>a.trim().toLowerCase())),found:!0}}function Al(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",m.USAGE);return t}function Rl(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function Ml(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:S(n,r)}function Dl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Ll(e){let t=hl.exec(e)??gl.exec(e);if(!t)return!0;let n=Number.parseInt(t[1],10),r=Number.parseInt(t[2],10),i=Number.parseInt(t[3],10);return r>=1&&r<=12&&i>=1&&i<=Dl(n,r-1)}function Ol(e){let t=yl.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=_l.exec(e);if(n){let[,r,i,o,s,a,d,c]=n,l=d?`:${d}`:"",u=c&&c.length===5&&c!=="Z"?`${c.slice(0,3)}:${c.slice(3)}`:c??"";return`${r}-${i}-${o}T${s}:${a}${l}${u}`}return e}function vs(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!Ll(t))return Number.NaN;let n=Date.parse(Ol(t));return Number.isFinite(n)?n:Number.NaN}function Kn(e){let t=vs(e);return Number.isFinite(t)?new Date(t).toISOString():""}function Nl(e){let t=vs(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Wn(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=ps(e.status,n)-ps(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=Rl(e.order,t.order);if(o!==0)return o;let s=Ml(e.deadline,t.deadline);if(s!==0)return s;let a=S(Kn(t.updated_at),Kn(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function Un(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function zn(e,t,n=new Set,r="context"){return Jo(e.ranked.map(i=>({id:i.id,item:i.item,rank:i.rank,score:i.score,required:n.has(i.id),cluster:i.item.parent?.trim()||i.item.type,token_costs:{identity:Un({id:i.id,title:i.item.title}),summary:Un({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Un(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function qn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Vn(e,t,n){let r=n===void 0?e.ranked:e.ranked.filter(i=>n.has(i.id));return{model:e.model,available_signals:e.available_signals,items:r.map(i=>({id:i.id,rank:i.rank,baseline_rank:i.baseline_rank,score:i.score,contributions:i.contributions,...i.signal_provenance===void 0?{}:{recency:i.signal_provenance.recency}})),candidate_count:e.ranked.length,omitted_count:e.ranked.length-r.length,...t?{feature_store:{source:t.snapshot.source,cache_status:t.cache_status,source_cursor:t.snapshot.source_cursor,generated_at:t.snapshot.generated_at}}:{}}}function ks(e,t){return t>0?Math.round(e/t*100):0}function Ee(e){let t=new Map;for(let n of e){let r=Wn(n.parent);if(!r)continue;let i=t.get(r)??[];i.push(n),t.set(r,i)}return t}function Ge(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:Wn(e.parent)};if(t&&n){let i=Be(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Ke(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=ks(s,o)}}return r}function $l(e){let t=0,n=0,r=0,i=new Set;for(let o of e){if(i.add(o.item_id),o.kind==="deadline"){t+=1;continue}if(o.kind==="reminder"){n+=1;continue}r+=1}return{events:e.length,items:i.size,deadlines:t,reminders:n,scheduled:r}}function Lt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function Pl(e,t){return e.filter(n=>!t.terminal_statuses.has(M(n.item_status,t)))}function jl(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=Ee(e),s=new Set(t.filter(d=>Ue.has(d.type)).map(d=>d.id)),a=[];for(let d of s){let c=i.get(d);if(!c)continue;let l=Be(d,o),u=o.get(d)??[],f=0,h=0,y=0,g=0;for(let _ of l)Ke(_.status,n)?f++:Gn(_.status,n)?y++:Il(_.status,n)?g++:bs(_.status,n)&&h++;let w=u.sort((_,b)=>ie(_,b,n)).slice(0,r).map(_=>{let b=Be(_.id,o),k=b.filter(I=>Ke(I.status,n)).length;return{id:_.id,title:_.title,type:_.type,status:_.status,children_total:b.length,children_closed:k}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:f,children_open:h,children_in_progress:y,children_blocked:g,children:w})}return a.sort((d,c)=>{let l=i.get(d.id),u=i.get(c.id);return ie(l,u,n)}).slice(0,r)}function Be(e,t){let n=[],r=[e],i=new Set;for(;r.length>0;){let o=r.pop();if(i.has(o))continue;i.add(o);let s=t.get(o)??[];for(let a of s)n.push(a),r.push(a.id)}return n}async function Ul(e,t){return(await $i({compact:!0,limit:String(e)},t)).compact_activity??[]}function Kl(e,t,n,r,i){let o=new Map;for(let d of e){if(!d.parent)continue;let c=o.get(d.parent)??[];c.push(d),o.set(d.parent,c)}let s=t.filter(d=>Ue.has(d.type)),a=[];for(let d of s){let c=Be(d.id,o),l=c.length;if(l===0)continue;let u=0,f=0,h=0,y=0;for(let g of c)Ke(g.status,r)?u++:n.has(g.id.trim().toLowerCase())?y++:Gn(g.status,r)?h++:bs(g.status,r)&&f++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:f,in_progress:h,blocked:y,completion_pct:ks(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function Bl(e,t,n,r){let i=new Map(t.map(o=>[o.id.trim().toLowerCase(),o]));return e.slice(0,r).map(o=>{let s=ln(o,i,n),a=s.find(c=>!c.resolved)?.id??s[0]?.id??null,d=a?i.get(a.trim().toLowerCase()):void 0;return{id:o.id,title:o.title,blocked_by:a,blocked_by_title:d?.title??null,blocked_by_status:d?.status??null,blocked_reason:o.blocked_reason??null,unblock_note:o.unblock_note??null}})}function Gl(e,t){let n=new Map;for(let r of e)for(let i of r.files??[]){let o=n.get(i.path)??new Set;o.add(r.id),n.set(i.path,o)}return[...n.entries()].map(([r,i])=>({path:r,references:i.size,items:[...i].sort()})).sort((r,i)=>i.references-r.references).slice(0,t)}function Hl(e,t,n){let r=new Map;for(let i of e){let o=i.assignee??null,s=r.get(o)??[];s.push(i),r.set(o,s)}return[...r.entries()].map(([i,o])=>({assignee:i,active:o.length,in_progress:o.filter(s=>Gn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function Wl(e,t,n,r){let i=new Date(n).getTime()-t*24*60*60*1e3;return e.filter(o=>new Date(o.updated_at).getTime()<i).map(o=>({id:o.id,title:o.title,status:o.status,updated_at:o.updated_at,stale_days:Math.floor((new Date(n).getTime()-new Date(o.updated_at).getTime())/(1440*60*1e3))})).sort((o,s)=>s.stale_days-o.stale_days).slice(0,r)}function zl(e,t,n,r){return e.map(i=>({item:i,sortKey:Kn(i.created_at)})).sort((i,o)=>{let s=S(o.sortKey,i.sortKey);return s!==0?s:i.item.id.localeCompare(o.item.id)}).slice(0,r).map(({item:i})=>({...Ge(i,t,n),created_at:i.created_at}))}function ql(e,t,n,r){return e.filter(i=>!Wn(i.parent)&&!Ue.has(i.type)).sort((i,o)=>ie(i,o,t)).slice(0,r).map(i=>Ge(i,t,n))}function Vl(e){let t=0,n=0,r=0,i=0,o=0,s=[];for(let a of e){(a.tests??[]).length>0&&t++;let d=a.test_runs??[];if(d.length>0){n++;let c=!1;for(let l of d)r+=l.passed??0,i+=l.failed??0,o+=l.skipped??0,(l.failed??0)>0&&(c=!0);c&&s.push(a.id)}}return{items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function hs(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function Ss(e){let t=e.order===null?"-":String(e.order),n=e.deadline??"-",r=e.parent?` parent:${e.parent}`:"",i=e.children_total!==void 0&&e.children_closed!==void 0&&e.completion_pct!==void 0?` children:${e.children_closed}/${e.children_total} done:${e.completion_pct}%`:"",o=e.blocked===!0?` blocked:${e.blocker_ids?.join(",")||"lifecycle"}`:"";return`${e.id} p${e.priority} ${e.status} ${e.type} order:${t} deadline:${n}${r}${i}${o} ${e.title}`}function Yl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Xl(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`${hs(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${hs(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 gs(e,t,n,r,i){if(e.push(`## ${t}`),n.length===0)e.push(r);else for(let o of n)e.push(`- ${i(o)}`);e.push("")}function Ql(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 Jl(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(`- ${Xl(n)}`);e.push("")}function Zl(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=n.children_total>0?Math.round(n.children_closed/n.children_total*100):0;e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=i.children_total>0?Math.round(i.children_closed/i.children_total*100):0;e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function ef(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 tf(e,t,n,r){if(!(!t.recently_created||t.recently_created.length===0)){e.push("## Recently created");for(let i of t.recently_created)e.push(n?`- ${r(i)}`:`- ${Nl(i.created_at)} ${Ss(i)}`);e.push("")}}function nf(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 rf(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 of(e,t){if(!(!t.blockers||t.blockers.length===0)){e.push("## Blockers");for(let n of t.blockers){let r=n.blocked_by?`blocked_by:${n.blocked_by}(${n.blocked_by_status??"?"})`:"blocked_by:-",i=n.blocked_reason?` reason:"${n.blocked_reason}"`:"",o=n.unblock_note?` unblock:"${n.unblock_note}"`:"";e.push(`- ${n.id} "${n.title}" ${r}${i}${o}`)}e.push("")}}function sf(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 af(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 cf(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 df(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 uf(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 hy(e){let t=[],n=e.focus_fields,r=o=>n?Yl(o,n):Ss(o);if(t.push("# pm context"),t.push(""),t.push(`- now: ${e.now}`),t.push(`- depth: ${e.depth}`),e.filters.parent&&t.push(`- scope: subtree of ${e.filters.parent}`),t.push(`- active_items: ${e.summary.active_items} (in_progress: ${e.summary.in_progress}, open: ${e.summary.open})`),e.summary.total_items!==void 0&&t.push(`- total_items: ${e.summary.total_items} (closed: ${e.summary.closed??0}, canceled: ${e.summary.canceled??0})`),t.push(`- agenda_events: ${e.summary.agenda_events}`),t.push(`- blocked_fallback_used: ${e.summary.blocked_fallback_used}`),e.extension_health){let o=e.extension_health.packages.filter(s=>s.status==="degraded").map(s=>s.name);t.push(`- extensions: ${e.extension_health.ok} ok, ${e.extension_health.degraded} degraded${o.length>0?` (${o.join(", ")})`:""}`)}let i=e.sections_included.filter(o=>o!=="blockers"||(e.blockers?.length??0)>0);if(i.length>0&&t.push(`- sections: ${i.join(", ")}`),t.push(""),gs(t,"High-level focus",e.high_level,"No high-level active items.",r),gs(t,"Low-level focus",e.low_level,"No low-level active items.",r),Ql(t,e,r),Jl(t,e),e.workspace_memory){t.push("## Workspace memory");for(let o of e.workspace_memory.rollups)t.push(`- ${o.kind}:${o.key} \u2014 ${o.label} (${o.item_count} completed, latest ${o.last_closed_at})`);t.push("")}return Zl(t,e),ef(t,e),tf(t,e,n,r),nf(t,e,r),rf(t,e),of(t,e),sf(t,e),af(t,e),cf(t,e),df(t,e),uf(t,e),t.join(`
7
+ `)}async function lf(e,t){let n=x(process.cwd(),t.path),r=await R(n),i=r.context??kr.context,o=N(r.schema),s=Sl(e.depth,i),a=vl(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:El(e.section,s,i),activityLimit:Cl(e.activityLimit,i),staleThresholdDays:xl(e.staleThreshold,i),parentScope:Al(e.parent),focusFields:bl(e.fields),baseListOptions:Fl(e)}}function Yn(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function ff(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function mf(e,t){let n=Yn(t.sectionsIncluded),r=await Y(void 0,ff(t.baseListOptions,{excludeTerminal:!1}),e),i=r.items,o=i.filter(d=>!K(d.status,t.statusRegistry)),s=n||t.parentScope!==void 0?i:o,a=pf(t.parentScope,i);return a&&(o=o.filter(d=>a.has(d.id.trim().toLowerCase())),s=s.filter(d=>a.has(d.id.trim().toLowerCase()))),{listed:r,listedItemMetadata:o,allItems:s,fullCorpus:i,subtreeIds:a}}function pf(e,t){if(e===void 0)return;let n=Hn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,m.NOT_FOUND);return n.ids}async function hf(e,t,n,r,i,o,s,a,d,c,l,u,f,h,y){let g=[...e].sort((v,de)=>ie(v,de,i)),w=await st({pmRoot:f,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),_=await Mt(g,{pmRoot:f,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:y}),b=await Rt("context",_.candidates),k=b.ranked.map(v=>v.item),I=i.active_statuses,T=k.filter(v=>I.has(M(v.status,i))),C=u?et(T,c,l,v=>v.id):0,E=u?T.slice(C,C+s):T,qe=u&&E.length>0&&C+E.length<T.length,Ve=qe&&E.length>0?Ie(l,E[E.length-1].id,C+E.length-1):void 0,Wt=k.filter(v=>r.has(v.id.trim().toLowerCase())),se=new Set([...E.map(v=>v.id),...Wt.slice(0,s).map(v=>v.id)]),ae=zn({...b,ranked:b.ranked.filter(v=>se.has(v.id))},h,new Set(Object.entries(y??{}).filter(([,v])=>v>=1).map(([v])=>v))),ce=ae.included.map(v=>v.item),ee=ce.filter(v=>I.has(M(v.status,i))),Ye=ce.filter(v=>r.has(v.id.trim().toLowerCase())),zt=Ee(t),W=Yn(o)?zt:void 0,z=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),qt=v=>{let de=Ge(v,i,W);return r.has(v.id.trim().toLowerCase())&&(de.blocked=!0,de.blocker_ids=ln(v,z,i).filter(Vt=>!Vt.resolved).map(Vt=>Vt.id)),de},Oa=ee.filter(v=>Ue.has(v.type)).slice(0,u?E.length:s).map(qt),Na=ee.filter(v=>!Ue.has(v.type)).slice(0,u?E.length:s).map(qt),wr=T.length===0;return{activeItems:ee,blockedItems:Ye,highLevel:Oa,lowLevel:Na,blockedFallback:wr?Ye.slice(0,s).map(qt):[],blockedFallbackUsed:wr,ranking:b,packing:ae,featureStore:_,pageExtras:{...u?{applied_limit:s}:{},...qe?{has_more:!0,truncated:!0}:{},...Ve?{next_cursor:Ve}:{}}}}function gf(e){return fe("context",le(e,Dr))}function yf(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=_s}async function _f(e,t,n,r){let i={...t.baseListOptions,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await qo(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=Pl(s,t.statusRegistry).slice(0,t.limit),d=a.map(c=>r.has(c.item_id)?{at:c.at,date:c.date,kind:c.kind,item_id:c.item_id,reference_only:!0,...c.kind==="reminder"?{reminder_text:c.reminder_text}:{},...c.kind==="event"?{event_title:c.event_title,event_recurring:c.event_recurring}:{}}:c);return{agenda:o,agendaEvents:d,agendaSummary:$l(a)}}function wf(e,t,n){let r=String(t);return e.filter(i=>M(i.status,n)===r).length}async function bf(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=Ee(n),c=n.filter(u=>!K(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?jl(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await Ul(t.activityLimit,a):void 0,progress:l("progress")?Kl(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?Bl(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?zl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?ql(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?Gl(o.activeItems,t.limit):void 0,workload:l("workload")?Hl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?Wl(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?Vl(o.activeItems):void 0}}function vf(e,t,n){if(!e)return{};let r=$("canceled",n);return{total_items:t.length,closed:t.filter(i=>Ke(i.status,n)).length,canceled:t.filter(i=>M(i.status,n)===r).length}}function kf(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 Sf(e,t){t&&(e.focus_fields=t,e.high_level=je(e.high_level,t),e.low_level=je(e.low_level,t),e.blocked_fallback=je(e.blocked_fallback,t),e.recently_created&&(e.recently_created=je(e.recently_created,t)),e.unparented&&(e.unparented=je(e.unparented,t)))}function Ef(e,t){let n=[e.high_level,e.low_level,e.blocked_fallback,e.recently_created??[],e.unparented??[]].flat();if(t){for(let o of n)delete o.tags,delete o.tags_inherited;return}let r=new Map(n.map(o=>[o.id,o])),i=new Map(n.map(o=>[o.id,o.tags?[...o.tags].sort().join("\0"):void 0]));for(let o of n){if(!o.parent||!o.tags)continue;let s=r.get(o.parent);s&&i.get(o.id)===i.get(s.id)&&(delete o.tags,o.tags_inherited=s.id)}}function Cf(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 xf(e,t,n,r){try{let i=new Set(t.packing.included.map(d=>d.id)),o=t.ranking.ranked.map(d=>({id:d.id,rank:d.rank,included:i.has(d.id)})),s=new Set(o.map(d=>d.id));for(let d of it(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await ot({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});rt(e,a)}catch{e.warnings=Lt(e.warnings,["context_usage_feedback_write_failed"])}}async function If(e,t,n){if(e)return{};let i=(await Rr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(s=>({name:s.name??s.directory,status:s.status==="ok"?"ok":"degraded"})).sort((s,a)=>s.name.localeCompare(a.name)),o=i.filter(s=>s.status==="degraded").length;return i.length===0?{}:{extension_health:{total:i.length,ok:i.length-o,degraded:o,packages:i.slice(0,20),...i.length>20?{truncated:!0}:{}}}}async function Tf(e,t){let n=zr(),r=await Kr(e),i=n.instance||Br(t);return fs(r.semantic_attribution?.[i])}async function gy(e,t){let n=x(process.cwd(),t.path),r=await lf(e,t),i=await mf(t,r),o=kl(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Bn(e.tokenBudget,Math.max(256,o*160))},a=te(void 0,s.settings.author_default),d=await Tf(n,a),c=If(e.noExtensionHealth===!0,n,s.settings),l=mt(i.fullCorpus,s.statusRegistry),u=await hf(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,L(),a,e.after,gf(e),yf(e,i.fullCorpus.length),n,s.tokenBudget,d),f=await _f(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(I=>I.id))),h=await Dt(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:f.agenda.now}),y=Lt(i.listed.warnings,f.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),g=wf(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),w=u.activeItems.length-g,_=await bf({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:f.agenda.now,global:t}),b=vf(Yn(s.sectionsIncluded),i.allItems,s.statusRegistry),k={output_default:"toon",now:f.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:f.agenda.anchor,start:f.agenda.range.start,end:f.agenda.range.end,past:f.agenda.range.past,from:f.agenda.range.from,to:f.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??f.agenda.filters.runtime_filters??{}},summary:{active_items:u.activeItems.length,in_progress:g,open:w,blocked:u.blockedItems.length,blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:f.agendaSummary.events,...b},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:f.agendaSummary,events:f.agendaEvents},...u.pageExtras};return k.workspace_memory=cs(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(k,await c),kf(k,_,u.featureStore.warning_details),Ef(k,e.noTags===!0),e.explainRanking===!0&&(k.ranking=Vn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(I=>I.id))),k.packing=qn(u.packing)),Sf(k,s.focusFields),y.length>0&&(k.warnings=y),Cf(k,u.activeItems,u.blockedItems),await xf(k,u,n,a),k}(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]="b0f3d72c-ff0b-59bb-a6bc-8476eb9fb6c1")}catch{}})();var Ff=["markdown","toon","json"],Af=5,Rf=1440*60*1e3;function Mf(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ff.includes(t))throw new p("Next format must be one of markdown|toon|json",m.USAGE);return t}function Iy(e,t){let n=Mf(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",m.USAGE);return t.json?"json":n??"toon"}function Es(e,t,n){let r=j(e,t);return r===void 0||r<=0?n:r}function Xn(e,t,n,r){return{...Ge(e.item,t,n),open_blocker_count:e.open_blockers.length,blockers:e.open_blockers.map(i=>({id:i.id,title:i.title,status:i.status,...i.external?{external:!0}:{},...i.blocked_since?{blocked_since:i.blocked_since}:{},...i.external?{resolver:i.resolver??null}:{}})),unblocks:e.unblocks,rank:r}}function Df(e,t,n,r){let i=e.item,o=[],s=$("in_progress",t);return o.push(M(i.status,t)===s?"in progress \u2014 resume to finish":"open and ready to start"),r&&o.push("completed container \u2014 governance closeout"),o.push(`priority p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(Of(i.deadline,n)),o.push(Ii(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s): ${e.unblocks.join(", ")}`),o}function xs(e,t,n){let r=te(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Ty={partitionCallerOwnedReady:xs,resolveNextCallerAuthor:(e,t)=>Is(e,t)};function Lf(e,t){let n=e.filter(r=>r.item.type.trim().toLowerCase()==="decision");return{agent:t?e:e.filter(r=>r.item.type.trim().toLowerCase()!=="decision"),decisions:t?[]:n}}function Of(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`deadline ${e.trim()}`;let r=new Date(n).toISOString().slice(0,10),i=new Date(Date.parse(t)).toISOString().slice(0,10),o=Math.round((Date.parse(r)-Date.parse(i))/Rf);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function Nf(e,t){let n=$("in_progress",t);return e.filter(r=>M(r.status,t)===n).length}function Qn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function $f(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 Cs(e,t,n){return[...e].sort((r,i)=>{let o=Qn(r.item,t),s=Qn(i.item,t);return o!==s?Number(o)-Number(s):ie(r.item,i.item,n)})}function Pf(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:Df(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer)}}function jf(e,t){if(e===null){if(t.length>0){let n=t.find(r=>r.blockers.length>0);return[n?`${t.length} item(s) are blocked; unblock the top one by closing ${n.blockers.map(r=>r.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return['pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}}function Uf(e,t,n){let r={};return e>n&&(r.decision_needed_total=e),t>n&&(r.held_by_others_total=t),Object.keys(r).length>0?r:void 0}async function Kf(e){try{let t=new Set(e.packing.included.map(o=>o.id)),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of it(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await ot({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:e.packing.profile,rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});rt(e.result,i)}catch{e.result.warnings=Lt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function Bf(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.explainRanking&&(e.result.ranking=Vn(e.readyRanking,e.featureStore),e.result.packing=qn(e.packing)),e.result.suggestions=jf(e.recommended,e.blockedRows),await Kf({result:e.result,pmRoot:e.pmRoot,author:e.author,packing:e.packing,ranking:e.readyRanking}),e.result}function Gf(e,t,n){if(!n)return e;let r=Hn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,m.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function Hf(e,t,n,r,i,o,s){let a=e.filter(g=>!Qn(g.item,t)),d=a.length>0?a:e,c=await st({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),l=await Mt(d.map(g=>g.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:c.affinity}),u=await Rt("next",l.candidates),f=zn(u,s,new Set,"next"),h=new Map(d.map(g=>[g.item.id,g]));return{projectedReady:u.ranked.map(g=>h.get(g.id)).filter(g=>g!==void 0),ranking:u,completedContainer:a.length===0,packing:f,featureStore:l}}function Is(e,t){let n=e.assignee?.trim();return te(e.callerAuthor??(n&&n.length>0?n:void 0),t)}async function Fy(e,t){let n=x(process.cwd(),t.path),r=await R(n),i=Is(e,r.author_default),o=N(r.schema),s=L(),a=Es(e.limit,"--limit",Af),d=Bn(e.tokenBudget,Math.max(192,a*128)),c=Es(e.blockedLimit,"--blocked-limit",a),l=e.readyOnly===!0,u=typeof e.parent=="string"?e.parent.trim():"",f=await Y(void 0,$f(e,{excludeTerminal:!0}),t),h=await Y(void 0,{excludeTerminal:!1,noTruncate:!0},t),y=Gf(f.items,h.items,u),g=h.items,w=Ti(y,g,o),_=Ee(g),b=Lf(w.ready,e.includeDecisions===!0),k=xs(b.agent,r.author_default,i),I=Cs(k.available,_,o),T=[...w.blocked].sort((W,z)=>ie(W.item,z.item,o)),{projectedReady:C,ranking:E,completedContainer:qe,packing:Ve,featureStore:Wt}=await Hf(I,_,o,s,i,n,d),se=C.map((W,z)=>Xn(W,o,_,z+1)),ae=T.map((W,z)=>Xn(W,o,_,z+1)),ce=Cs(b.decisions,_,o).map((W,z)=>Xn(W,o,_,z+1)),ee=Pf({projectedReady:C,readyRows:se,statusRegistry:o,now:s,completedContainer:qe}),Ye=Uf(ce.length,k.held.length,a),zt={output_default:"toon",now:s,recommended:ee,ready:se.slice(1,a+1),decision_needed:ce.slice(0,a),blocked:l?[]:ae.slice(0,c),held_by_others:k.held.slice(0,a),summary:{recommended:ee!==null,ready:se.length,blocked:ae.length,in_progress:Nf(se,o),candidates:w.active_count,containers:w.container_count,decision_needed:ce.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:u.length>0?u:null,limit:a,blocked_limit:c,ready_only:l,include_decisions:e.includeDecisions===!0,token_budget:d},truncation:Ye};return Bf({result:zt,recommended:ee,blockedRows:ae,candidatesWarnings:f.warnings,corpusWarnings:h.warnings,readyRanking:E,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packing:Ve,featureStore:Wt})}function Ay(e){let t=["# pm next","",...Wf(e)];if(t.push(...Ot("Recommended",zf(e.recommended),"No ready work.")),t.push(...Ot("Decision needed",(e.decision_needed??[]).map(n=>`- ${Nt(n)}`),"No human-gated decisions.")),t.push(...Ot("Ready",e.ready.map(n=>`- ${Nt(n)}`),"No ready items.")),e.filters.ready_only||t.push(...Ot("Blocked",e.blocked.map(n=>`- ${qf(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 Wf(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 zf(e){return e?[`- ${Nt(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function Ot(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function qf(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${Nt(e)} blocked_by:${t}`}function Nt(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]="314adea1-6837-5eeb-abc3-57337a495221")}catch{}})();function Vf(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function Yf(e,t){return e.map((n,r)=>{let i=new Set,o=Zr(n.patch);for(let s of o)i.add(sn(s.path)),s.from&&i.add(sn(s.from));return{index:t+r+1,ts:n.ts,op:n.op,author:n.author,patch_ops:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}async function Xf(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=O(r,A()),o=e.trim()===at,s=o?at:oi(e,r.id_prefix),a=await he(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?ti(n):Ze(n,d);if(!a&&!await Er(c))throw new p(`Item ${e} not found`,m.NOT_FOUND);return a&&await ri({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}async function jy(e,t,n){let r=ne(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await Xf(e,n),d=await q(i,s),c=a.agent_identity.identity_vocabulary,l=ht(a.agent_identity.harness_signals),u=yt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},c,l),f=d.map((C,E)=>({entry:C,version:E+1})).filter(({entry:C})=>u(C)),h=Vf(f,r),y=h.map(({entry:C})=>C),g=t.compact===!0,w=g?Yf(y,Math.max(0,d.length-y.length)):void 0,_=t.provenance===!0?h.map(({entry:C,version:E})=>gt(C,c,{itemId:s,version:E})):void 0,b=t.provenance===!0?"provenance":g?"compact":"full",k={compact:{compact_history:w},provenance:{provenance_history:_},full:{history:y}}[b],T={id:s,...k,compact:g,projection:{mode:b,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[b]},omission_receipt:tt("history",b),count:y.length,limit:r??null,...t.provenanceSummary===!0?{provenance_summary:_t(f.map(({entry:C})=>C),c,l)}:{}};if((t.diff||t.field!==void 0)&&(T.diff=yi(d,{windowStartIndex:Math.max(0,d.length-y.length),field:t.field})),t.verify){let C=o?(await ge(o,{schema:a.schema})).document:void 0;if(T.verification=Ai(d,C),s===at&&T.verification.ok){let E=await ni(x(process.cwd(),n.path));T.verification={...T.verification,ok:E.ok,errors:E.ok?T.verification.errors:[...T.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:E.ok,workspace_state_mismatches:E.mismatched_documents,workspace_state_missing:E.missing_documents,workspace_state_unreadable:E.unreadable_documents}}}return 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]="4b4d4bb6-8a17-5544-a18c-ad3fc49a759e")}catch{}})();var Ts=1e6,Fs=20;function As(e,t,n,r=Fs){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",m.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let w of t){if(a+=1,a>Ts)throw new p(`Child projection exceeded the ${Ts.toLocaleString("en-US")} item safety bound.`,m.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(w)}let d=new Map(s.map(w=>[w.id.trim().toLowerCase(),w])),c=ft(lt(s,ut())),l=new Set(c.children_by_parent.get(i)??[]);for(let w of s)w.parent?.trim().toLowerCase()===i&&l.add(w.id.trim().toLowerCase());let u=[...l].map(w=>d.get(w)),f=0;for(let w of u){let _=w.status.trim().toLowerCase();o[_]=(o[_]??0)+1,K(_,n)||(f+=1)}u.sort((w,_)=>w.id.localeCompare(_.id));let h=u.slice(0,r).map(w=>({id:w.id,title:w.title,type:w.type,status:w.status,priority:w.priority})),y=u.length>h.length,g=r===0?Fs:r;return{count:u.length,active:f,by_status:Object.fromEntries(Object.entries(o).sort(([w],[_])=>w.localeCompare(_))),sample:h,sample_limit:r,truncated:y,next_offset:y?h.length:null,continuation:y?`pm list --status all --parent ${e} --offset ${h.length} --limit ${g}`:null,scanned:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="80981c24-3442-57a2-8c35-e0e00d5425d6")}catch{}})();var Qf=new Set(["event","meeting","reminder"]);function Jf(e){return Qf.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function Jn(e){if(!Jf(e))return;let t=[...e.events??[]].sort((r,i)=>r.start_at.localeCompare(i.start_at)),n=t[0];return{deadline:e.deadline??null,start_at:n?.start_at??null,end_at:n?.end_at??null,location:n?.location??null,reminders:[...e.reminders??[]],events:t}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ff82974e-a48d-5d18-893f-fb618e378795")}catch{}})();var Zf=new Set(["epic","feature","milestone","plan"]),em=new Set(Object.keys(vr).map(e=>e.toLowerCase()));function er(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(n=>[n,e[n]?.length??0]))}function tm(e,t){let n=er(e);return[...t.length>0?["body"]:[],...Object.entries(n).flatMap(([r,i])=>i>0?[r]:[]),...n.files+n.tests+n.docs>0?["linked"]:[],"children",...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...Jn(e)?["schedule"]:[]]}function Ms(e){let t=e.trim().toLowerCase();return t.length>0&&(Zf.has(t)||!em.has(t))}function Rs(e){return{ts:e.ts,author:e.author,message:e.message??null}}function nm(e,t){let n=e?.trim(),r=n&&n.length>0?n:null,i=[...t].reverse().find(s=>s.op==="claim"),o=[...t].reverse().find(s=>s.op==="release");return{claimed:r!==null,assignee:r,last_claim:i?Rs(i):null,last_release:o?Rs(o):null}}function rm(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(tn.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",m.USAGE)}function im(e,t){let n=er(e);if(t==="deep")return{...e,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:n.notes,tests_count:n.tests,collection_counts:n};let{comments:r,notes:i,learnings:o,files:s,tests:a,docs:d,reminders:c,events:l,...u}=e;return{...u,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:n}}function om(e){if(e===void 0)return null;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Get --fields requires a comma-separated list of field names",m.USAGE);return t}function Pt(e){return e.startsWith("item.")?e.slice(5):e}function sm(e,t,n){if(e===null)return;let r=nn(t),i=new Set(r),o=e.filter(s=>{let a=Pt(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields","id,title,status"];throw new p(`Unknown get --fields value(s): ${o.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm get <id> --fields id,title,status,type,updated_at","pm get <id> --fields id,title,claim_state","pm get <id> --fields id,title,body,linked.files"],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}var am=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function cm(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:am.has(n)?[]:void 0}function dm(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:er(e)},i={id:e.id};for(let o of t){let s=Pt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||(i[s]=cm(n,r,s))}return i}function He(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function $t(e,t){return e.some(n=>{let r=Pt(n);return r===t||r.startsWith(`${t}.`)})}function um(e,t){if(e.full&&(e.fields!==void 0||e.depth!==void 0))throw new p("Get projection options are mutually exclusive; remove the extra projection flag and retry.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:me(["get",t,"--full"]),suggested_retry_args:["get",t,"--full"]}});if(e.tree!==!0&&e.treeDepth!==void 0)throw new p("Get --tree-depth requires --tree",m.USAGE);if(e.at!==void 0&&e.tree===!0)throw new p("Get --at cannot be combined with --tree because workspace-level historical projections are not yet indexed.",m.USAGE);return{depth:e.full?"deep":rm(e.depth),treeDepth:e.tree===!0?j(e.treeDepth,"--tree-depth"):void 0,fields:om(e.fields),fieldProjection:e.fields!==void 0}}async function lm(e,t,n){let r=x(process.cwd(),t.path);await P(r);let i=await R(r),o=O(i,A());if(n!==void 0){let d=await Ri(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await he(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await ui(r,e,i.id_prefix,o.type_to_folder);let a=await ge(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function fm(e,t,n,r){let i=B(t.schema).definitions.map(o=>o.metadata_key);if(sm(e,i,r),n&&$t(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",m.USAGE)}function Zn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?He(r,i):$t(r,i):n!=="brief"}async function mm(e,t){if(!t)return;let n=Ze(e.pmRoot,e.locatedId),r=await q(n,e.locatedId);return nm(e.metadata.assignee,e.historical?r.slice(0,e.historical.as_of_version):r)}function pm(e,t,n,r){let i=r||He(n,"linked.files"),o=r||He(n,"linked.tests"),s=r||He(n,"linked.docs");!r&&!i&&!o&&!s||(e.linked={files:i?t.metadata.files??[]:[],tests:o?t.metadata.tests??[]:[],docs:s?t.metadata.docs??[]:[]})}async function hm(e,t,n,r){if(!t)return;let i=N(e.settings.schema),o=await J(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema),s=As(e.locatedId,o,i,r?void 0:0);return s.count>0||n?s:void 0}function gm(e,t,n,r){if(!r)return;let i=Jn(t.metadata);if(i){if(n===null||He(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Pt(s)===`schedule.${o}`)))}}async function ym(e,t,n,r){if(t.tree!==!0)return;let i=await Y(void 0,{parent:e.locatedId,tree:!0,treeDepth:n===void 0?void 0:String(n),full:!0},r);return{root_id:e.locatedId,root_title:e.metadata.title,depth_limit:n??null,count:i.count,items:i.items.map(o=>o)}}async function a_(e,t,n={}){let r=um(n,e),i=await lm(e,t,n.at);fm(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Zn({...r,field:"body"}),s=Zn({...r,field:"linked"}),a=Zn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?$t(r.fields,"children"):r.depth!=="brief"&&Ms(i.metadata.type)),c=r.fieldProjection?$t(r.fields,"schedule"):r.depth!=="brief",l=await mm(i,a),u={item:r.fieldProjection?dm(i.metadata,r.fields):im(i.metadata,r.depth)};o&&(u.item.body=i.body),pm(u,i,r.fields,s),l&&(u.claim_state=l),gm(u,i,r.fields,c);let f=await hm(i,d,r.fieldProjection,r.fieldProjection||r.depth==="deep");f!==void 0&&(u.children=f);let h=await ym(i,n,r.treeDepth,t);if(h!==void 0&&(u.tree=h),i.historical&&(u.reconstructed=!0,u.as_of_version=i.historical.as_of_version,u.as_of_timestamp=i.historical.as_of_timestamp),i.historical===void 0)try{await Ur({pmRoot:i.pmRoot,author:te(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return Nr(u,tm(i.metadata,i.body)),u}var c_={shouldAutoIncludeGetChildren:Ms};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0abcc02-bd6e-536a-b876-e13cfc8ea741")}catch{}})();function Ds(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 _m=[{optionKey:"status",summaryKey:"status",normalize:e=>Ds(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 We(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return vn(l,r,_m),Object.assign(l,Oe(r)),Object.assign(l,Le(r)),n!==void 0&&n!=="or"&&(l.match_mode=n),i&&(l.include_linked=!0),o&&(l.title_exact=!0),s&&(l.phrase_exact=!0),a>0&&(l.score_threshold=a),t==="hybrid"&&r.semanticWeight!==void 0&&(l.hybrid_semantic_weight=d),r.limit!==void 0&&(l.limit=r.limit),c&&Object.keys(c).length>0&&(l.runtime_filters=c),l}function ze(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,f=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ds(r.status)?"all":r.status,type:f(r.type),tag:f(r.tag),priority:f(r.priority),deadline_before:f(r.deadlineBefore),deadline_after:f(r.deadlineAfter),updated_after:f(r.updatedAfter),updated_before:f(r.updatedBefore),created_after:f(r.createdAfter),created_before:f(r.createdBefore),assignee:f(r.assignee),sprint:f(r.sprint),release:f(r.release),parent:f(r.parent),...Oe(r),...Le(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:f(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0fc9ed92-daf5-5fa2-b9a4-ee6c36256ed1")}catch{}})();function wm(e){return fe("search",{query:e.query.trim(),mode:e.mode,options:le(e.searchOptions,Lr)})}function Ls(e){let t=Or(e.sorted,{cursor:e.searchOptions.after,fingerprint:wm(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]="d20ab01b-a8ae-5fe8-988a-d05fe87951f6")}catch{}})();function Os(e){if(e===void 0)return"keyword";let t=e.trim().toLowerCase();if(t!=="keyword"&&t!=="semantic"&&t!=="hybrid")throw new p("Search mode must be one of keyword|semantic|hybrid",m.USAGE);return t}function jt(e){return e===!0}function Ns(e){return Fr(e,0,1)??void 0}function $s(e){if(e===void 0)return"or";let t=e.trim().toLowerCase();if(t!=="and"&&t!=="or"&&t!=="exact")throw new p("Search --match-mode must be one of and|or|exact",m.USAGE);return t}function Ps(e){if(e==null||e==="")return;let t=typeof e=="number"?e:Number(String(e).trim());if(!Number.isFinite(t)||t<0)throw new p("Search --min-score must be a finite number >= 0",m.USAGE);return t}function Ce(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return U(n,new Date,t)}function Q(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function tr(e,t){if(e!==void 0)return U(e,new Date,t)}function bm(e){if(e===void 0)return;let t=e.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)throw new p("Search --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function nr(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=bm(e.fields);if(Number(n)+Number(r)+ +(i!==void 0)>1)throw new p("Search projection options are mutually exclusive. Use one of --compact, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:me(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...rn]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function rr(e,t,n="<query>"){if(e.mode!=="fields")return;let r=on(t.definitions.flatMap(s=>[s.key,s.metadata_key])),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields","id,title,status,score"];throw new p(`Unknown search --fields value(s): ${o.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm search <query> --fields id,title,status,score","pm search <query> --fields id,title,item.description,matched_fields"],nextSteps:["Use item.<field> for explicit item metadata fields, or run pm search --help for projection examples."],recovery:{allowed_values:r,suggested_retry:me(s),suggested_retry_args:s}})}}function ir(e){let t=Q(e);if(!t)throw new p("Search query must not be empty",m.USAGE);return t.split(/\s+/u).filter(Boolean)}function or(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}function sr(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function ar(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function cr(e){let t={title_exact_bonus:10,title_weight:48,description_weight:5,tags_weight:6,status_weight:2,body_weight:1,comments_weight:1,notes_weight:1,learnings_weight:1,reminders_weight:2,events_weight:2,dependencies_weight:3,linked_content_weight:1},n=e.search?.tuning;if(!n)return t;let r=(i,o)=>typeof i=="number"&&Number.isFinite(i)&&i>=0?i:o;return{title_exact_bonus:r(n.title_exact_bonus,t.title_exact_bonus),title_weight:r(n.title_weight,t.title_weight),description_weight:r(n.description_weight,t.description_weight),tags_weight:r(n.tags_weight,t.tags_weight),status_weight:r(n.status_weight,t.status_weight),body_weight:r(n.body_weight,t.body_weight),comments_weight:r(n.comments_weight,t.comments_weight),notes_weight:r(n.notes_weight,t.notes_weight),learnings_weight:r(n.learnings_weight,t.learnings_weight),reminders_weight:r(n.reminders_weight,t.reminders_weight),events_weight:r(n.events_weight,t.events_weight),dependencies_weight:r(n.dependencies_weight,t.dependencies_weight),linked_content_weight:r(n.linked_content_weight,t.linked_content_weight)}}import Kt from"node:fs/promises";import pr 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]="42fde1a1-ee4b-5564-93b2-78d5a0fc7555")}catch{}})();var dr=4,vm=20,km=200,Sm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function ur(e,t){let n=[],r=new Set;for(let i of e){let o=i.trim().replaceAll(/\s+/g," ");if(o.length===0)continue;let s=o.toLowerCase();if(!r.has(s)&&(r.add(s),n.push(o),n.length>=t))break}return n}function Em(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 Cm(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 js(e,t=dr){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=be(n);if(r.length===0)return[n];let i=r.filter(a=>!Sm.has(a.toLowerCase())),o=r.map(a=>Em(a)),s=i.map(a=>Cm(a));return ur([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function Us(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?ur(t.filter(n=>typeof n=="string"),dr):[]}function Ks(e,t,n){return ur([...e,...t],Math.max(1,n))}function Bs(e,t){let r=e.search?.query_expansion,i=xe(r?.provider);return{enabled:r?.enabled===!0,provider:i??t,max_queries:dr}}function Gs(e,t){let r=e.search?.rerank,i=xe(r?.model),s=Tr(r?.top_k)??vm;return{enabled:r?.enabled===!0,model:i??t,top_k:Math.min(km,s)}}function Hs(e){let t=Array.isArray(e)?e:e?.hits;if(!Array.isArray(t))return[];let n=new Map;for(let i of t){if(typeof i!="object"||i===null)continue;let o=xe(i.id),s=i.score;if(!o||typeof s!="number"||!Number.isFinite(s))continue;let a=n.get(o);(a===void 0||s>a)&&n.set(o,s)}let r=[...n.entries()].map(([i,o])=>({id:i,score:o}));return r.sort((i,o)=>i.score!==o.score?o.score-i.score:i.id.localeCompare(o.id)),r}function xm(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Ws(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Im(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=xm(e,t),i=Ws(t),o=n*i;return!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(o)||o===0?0:Math.max(-1,Math.min(1,r/o))}async function zs(e,t,n,r,i){if(r.length===0)return new Map;let o=xe(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(f=>f.text)],d=await dt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=Ws(c),u=new Map;for(let f=0;f<r.length;f+=1){let h=r[f],y=d[f+1];if(!y)continue;let g=Im(c,y,l);u.set(h.id,Math.max(0,Math.min(1,(g+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]="3fd6ed70-6633-5886-90a6-3d4cc16b3ef0")}catch{}})();var Tm=1.2,Fm=.75;function lr(e){return be(e)}function Am(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 o of e){let s=lr(o.text),a=Am(s);r+=s.length;for(let d of a.keys())n.set(d,(n.get(d)??0)+1);t.push({id:o.id,termFrequencies:a,length:s.length})}let i=t.length;return{documents:t,documentFrequency:n,documentCount:i,averageDocumentLength:i>0?r/i:0}}function Rm(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Ys(e,t,n){let r=new Map;if(e.documentCount===0||e.averageDocumentLength===0)return r;let i=[...new Set(t.filter(s=>s.length>0))];if(i.length===0)return r;let o=new Map;for(let s of i){let a=e.documentFrequency.get(s);a!==void 0&&o.set(s,Rm(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,f=l+n.k1*u;a+=c*(l*(n.k1+1)/f)}a>0&&r.set(s.id,a)}return r}function qs(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Xs(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 Qs(e){let t=e?.search?.bm25;return{k1:qs(t?.k1,Tm,0,1e3),b:qs(t?.b,Fm,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]="a4117e19-af3e-50f5-b3cc-86c39aa4b439")}catch{}})();var Mm=2,Dm=120,Lm=6,Om=40,Nm=1e3,$m=900,Pm="\xAB",jm="\xBB",Js=60,ta=["tag","status","type","priority"];function na(e){let t=[],n=e;for(let r=0;r<5&&n&&typeof n=="object";r+=1){let i=n.code;typeof i=="string"&&t.push(i.toLowerCase()),n=n.cause}return t.join(" ")}function ra(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=na(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 ia(e,t){let n=ra(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Um(e){return e?.commands?.some(n=>n.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function oa(e,t,n){try{let r=await Ei(e);r.warnings.length>0&&n.push(...r.warnings);let i=xi(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Um(A());n.push(...Km(i.length,o)),process.stderr.write(`[pm] warning: ${i.length} item${i.length===1?" is":"s are"} new or modified since the last reindex and ${i.length===1?"is":"are"} NOT in the semantic index yet \u2014 run '${o.command}'${o.follow_up_command?`, then '${o.follow_up_command}'`:""}. (Write-time embedding is governed by search.mutation_refresh_policy; staleness means the embed was skipped, failed, or the backend was unreachable.)
9
+ `)}catch{}}function Km(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}var yw={applyFilters:la,applyExactQueryFilters:ua,applyInlineQueryFilters:aa,buildHitHighlights:_a,buildVerboseSearchFilters:ze,buildExplicitSemanticFallbackWarning:ia,buildCompactSearchFilterSummary:We,buildHybridLexicalScore:va,buildRerankCorpus:Aa,buildSemanticHits:xa,classifyImplicitSemanticFallbackReason:ra,collectErrorCauseCodes:na,collectExactPhraseFields:ca,collectLinkedPaths:fa,combineHybridHits:_r,computeBuiltInBm25Hits:Ta,computeSemanticOrHybridHits:Ra,resolveBuiltInBm25Mode:Ia,countOccurrences:gr,dependencyEntries:hr,documentContainsExactPhrase:da,emptySearchResult:ka,highlightFieldSnippet:ya,loadDocuments:Ma,markTokenRuns:ga,parseInlineQueryFilters:sa,maybeEmitVectorIndexStaleWarning:oa,loadLinkedCorpus:pa,mergeVectorHitsById:Fa,normalizeExtensionProviderHits:Ca,normalizeScoreMap:fr,parseProjectionConfig:nr,parseTimestampWindow:Ce,parseTokens:ir,projectSearchHits:La,readSearchFieldValue:Da,requireSemanticDependencies:yr,resolveExtensionSearchProvider:Sa,resolveExtensionSearchProviderByName:Ht,resolveExtensionVectorAdapter:Ea,resolveLinkedCorpusRoots:ma,scoreDocument:wa,sortHits:ba,stringArray:Gt,textEntries:oe,validateSearchProjectionFields:rr};function sa(e){let t={},n=[];for(let r of e.split(/\s+/).filter(i=>i.length>0)){let i=r.indexOf(":"),o=i>0?r.slice(0,i).toLowerCase():"",s=i>0?r.slice(i+1):"",a=ta.includes(o)?o:void 0;if(a&&s.length>0&&t[a]===void 0){t[a]=s;continue}n.push(r)}return{residualQuery:n.join(" "),inlineFilters:t}}function aa(e,t,n){let r={...e};for(let i of ta){let o=t[i];if(o!==void 0){if(D(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function Gt(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function oe(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function hr(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ca(e){let t=e.metadata;return[t.title,t.description,t.status,Gt(t.tags).join(" "),e.body,oe(t.comments).map(n=>n.text).join(" "),oe(t.notes).map(n=>n.text).join(" "),oe(t.learnings).map(n=>n.text).join(" "),an(t).join(" "),cn(t).join(" "),hr(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),dn(t)]}function da(e,t){return ca(e).some(n=>Q(n).includes(t))}function ua(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&Q(r.metadata.title)!==t||n.phraseExact&&!da(r,t)))}function Bm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',m.USAGE)}function Gm(e,t,n){let r=G(e.assignee,{label:"--assignee"});Bm(r);let i=Ct(e),o=De(e);return{typeFilter:wt(e.type,t),tagFilter:G(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:bt(e.priority),deadlineBefore:tr(e.deadlineBefore,"deadline-before"),deadlineAfter:tr(e.deadlineAfter,"deadline-after"),updatedAfter:Ce(e.updatedAfter,"updated-after"),updatedBefore:Ce(e.updatedBefore,"updated-before"),createdAfter:Ce(e.createdAfter,"created-after"),createdBefore:Ce(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:G(e.sprint,{label:"--sprint"}),releaseFilter:G(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:Re(i),contentFieldFilters:o,contentFiltersActive:St(o)}}function Hm(e,t){return Wm(e,t)&&zm(e,t)&&qm(e,t)}function Wm(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&&!Gt(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function zm(e,t){return nt(e,t)}function qm(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 Vm(e,t,n,r){let i=e.metadata;return!(!Hm(i,t)||!we(i,n)||t.missingMetadataActive&&!kt(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!Et(i,t.contentFieldFilters))}function la(e,t,n,r,i,o){let s=Gm(t,n,i);return e.filter(a=>Vm(a,s,r,o))}function gr(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}function Ym(e){return be(e)}function fa(e){let t=(e.files??[]).map(s=>({scope:s.scope,path:s.path.trim()})),n=(e.docs??[]).map(s=>({scope:s.scope,path:s.path.trim()})),r=(e.tests??[]).filter(s=>typeof s.path=="string"&&s.path.trim().length>0).map(s=>({scope:s.scope,path:s.path.trim()})),i=[...t,...n,...r].filter(s=>s.path.length>0).sort((s,a)=>s.scope.localeCompare(a.scope)||s.path.localeCompare(a.path)),o=new Map;for(let s of i)o.set(`${s.scope}:${s.path}`,s);return[...o.values()]}async function Zs(e){let t=pr.resolve(e);try{let n=await Kt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function ma(e,t){let[n,r]=await Promise.all([Zs(e),Zs(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function pa(e,t){let n=fa(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=pr.resolve(o.resolved,i.path);if(!Xt(o.resolved,s))continue;let a;try{a=await Kt.realpath(s)}catch{continue}if(Xt(o.realpath,a))try{await Te({path:s,scope:i.scope}),r.push(await Kt.readFile(s,"utf8"))}catch{}}return r.join(`
10
+ `)}var ha=[{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=>Gt(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>oe(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>oe(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>oe(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>an(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>cn(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>hr(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>dn(e.metadata)}],Xm=new Map(ha.map(e=>[e.name,e]));function Qm(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ga(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(Qm);if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${Pm}${i}${jm}`)}function ya(e,t){if(e.length===0)return null;let n=e.toLowerCase(),r=-1,i=0;for(let l of t){if(l.length===0)continue;let u=n.indexOf(l);u>=0&&(r<0||u<r)&&(r=u,i=l.length)}if(r<0)return null;let o=Math.max(0,r-Js),s=Math.min(e.length,r+i+Js),a=ga(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function _a(e,t,n){let r=[];for(let i of t){let o=Xm.get(i);if(o===void 0)continue;let s=ya(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Jm(e,t,n){return[...ha.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Zm(e,t,n){let r=Q(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=Q(i),s=o.length>0&&r.startsWith(o)?r.slice(o.length).trim():r;return t!==r&&t!==s?null:{item:e,score:t===r?Nm:$m,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function ep(e,t,n,r,i){for(let o of e){let s=t.get(o)??0;s>0&&(i.score+=s*r.title_exact_bonus,i.matched.add("title"),i.matchedTokens.add(o));for(let a of n){let d=gr(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function tp(e,t,n,r){Q(e.title)===t&&(r.score+=Dm,r.matched.add("title"));for(let o of n){let s=gr(Q(o.value),t);s>0&&(r.score+=s*o.weight*Lm,r.matched.add(o.name))}}function wa(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Zm(a,n,o);if(d)return d;let c=new Map;for(let g of Ym(a.title))c.set(g,(c.get(g)??0)+1);let l=Jm(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};ep(t,c,l,i,u);let f=new Set(t),h=f.size>0&&u.matchedTokens.size===f.size;return s&&f.size>1&&h&&(u.score+=Om),t.length>=Mm&&n.includes(" ")&&tp(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,w)=>g.localeCompare(w)),matched_all_terms:h}}function ba(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=K(n.item.status,t),s=K(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function va(e,t,n,r,i,o,s,a=!1){return wa(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function fr(e){if(e.size===0)return new Map;let t=[...e.values()],n=Math.min(...t),r=Math.max(...t);if(r===n)return new Map([...e.keys()].map(o=>[o,1]));let i=new Map;for(let[o,s]of e)i.set(o,(s-n)/(r-n));return i}function ka(e,t,n,r,i,o,s,a,d,c,l,u,f=!1){let h=f?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let w=We({mode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,runtimeFieldFilters:u});return{query:e.trim(),mode:t,items:[],count:0,...h,filters:w,...l.length>0?{warnings:l}:{}}}let g=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,items:[],count:0,...h,filters:ze({effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:r.titleExact===!0,phraseExact:r.phraseExact===!0,scoreThreshold:o,hybridSemanticWeight:s,queryExpansion:a,rerank:d,runtimeFieldFilters:u??{}}),projection:{mode:c.mode,fields:g},now:L(),...l.length>0?{warnings:l}:{}}}function yr(e,t,n,r){if(!t.active)throw new p(`Search mode '${e}' requires a configured embedding provider in settings.providers.openai or settings.providers.ollama`,m.USAGE);if(!n.active&&!r)throw new p(`Search mode '${e}' requires a configured vector store in settings.vector_store.qdrant/settings.vector_store.lancedb or an extension adapter selected by settings.vector_store.adapter`,m.USAGE);return{provider:t.active,vectorStore:n.active??null}}var H=D;function Ht(e){let t=A(),n=hi(t,e);if(!n)return null;let r=n.runtime_definition??n.definition,i=r.query,o=r.queryExpansion??r.query_expansion,s=r.rerank,a=H(r.name)??H(n.definition.name)??e;if(!a)return null;let d={providerName:a,...typeof i=="function"?{query:i}:{},...typeof o=="function"?{queryExpansion:o}:{},...typeof s=="function"?{rerank:s}:{}};return!d.query&&!d.queryExpansion&&!d.rerank?null:d}function Sa(e){let t=H(e.search?.provider),n=Ht(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function Ea(e){let t=A(),n=H(e.vector_store?.adapter),r=gi(t,n);if(!r)return null;let i=r.runtime_definition??r.definition,o=i.query;if(typeof o!="function")return null;let s=i.upsert;return{adapterName:H(i.name)??H(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function Ca(e,t,n){let r=Array.isArray(t)?t:t?.hits;if(!Array.isArray(r))throw new p(`Extension search provider "${e}" must return an array of hits or { hits: [...] }`,m.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=H(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(f=>typeof f=="string")?[...new Set(l.map(f=>f.trim()).filter(f=>f.length>0))].sort((f,h)=>f.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function xa(e,t){let n=[],r=new Map;for(let i of e){if(r.has(i.id))continue;let o=t.get(i.id);o&&(r.set(i.id,i.score),n.push({item:o.metadata,score:i.score,matched_fields:["semantic"]}))}return{semanticHits:n,semanticScores:r}}function Bt(e,t){let n=t.filter(c=>c.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(c=>c.item.id)),i=e.filter(c=>!r.has(c.item.id)),o=i.reduce((c,l)=>Math.max(c,l.score),0),s=n.sort((c,l)=>l.score-c.score),a=o+s.length+1;return[...s.map((c,l)=>({...c,score:a-l,matched_fields:["id"]})),...i]}function _r(e,t,n,r,i="semantic"){let o=new Map(n.map(u=>[u.item.id,u.score])),s=new Map(n.map(u=>[u.item.id,u.matched_fields])),a=fr(t),d=fr(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let f=e.get(u),h=a.get(u)??0,y=d.get(u)??0,g=h*r+y*l;if(g<=0)return null;let w=new Set;t.has(u)&&w.add(i);for(let _ of s.get(u)??[])w.add(_);return{item:f.metadata,score:g,matched_fields:[...w].sort((_,b)=>_.localeCompare(b))}}).filter(u=>u!==null)}function Ia(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Ta(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Xs(ki(s,{fields:e.corpusFields}))})),n=Vs(t),r=Ys(n,lr(e.query),e.bm25Params),i=new Map(e.filteredDocuments.map(s=>[s.metadata.id,s]));if(e.requestedMode==="semantic"){let s=[...r].map(([a,d])=>({item:i.get(a).metadata,score:d,matched_fields:["bm25"]}));return Bt(s,e.keywordHits)}let o=_r(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Bt(o,e.keywordHits)}function Fa(e){let t=new Map;for(let r of e)for(let i of r){let o=t.get(i.id);(!o||i.score>o.score)&&t.set(i.id,i)}let n=[...t.values()];return n.sort((r,i)=>r.score!==i.score?i.score-r.score:r.id.localeCompare(i.id)),n}function Aa(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
11
+ `)}async function np(e,t){let n=e.queryExpansion.enabled?js(t,e.queryExpansion.max_queries):[t],r=n.length>0?n:[t];if(!e.queryExpansion.enabled)return r;if(e.queryExpansionExtension?.expand)try{let i=await Promise.resolve(e.queryExpansionExtension.expand({query:t,mode:e.requestedMode,settings:e.settings}));return Ks(r,Us(i),e.queryExpansion.max_queries)}catch{return e.warnings.push(`search_query_expansion_provider_failed:${e.queryExpansionExtension.providerName}:using_builtin`),r}return e.queryExpansion.provider&&e.queryExpansion.provider!=="openai"&&e.queryExpansion.provider!=="ollama"&&e.warnings.push(`search_query_expansion_provider_unavailable:${e.queryExpansion.provider}:using_builtin`),r}async function rp(e,t,n,r){if(e.extensionVectorAdapter?.query)try{return await Promise.resolve(e.extensionVectorAdapter.query({vector:t,limit:n,settings:e.settings}))}catch(i){if(!e.vectorStore)throw new p(`Extension vector adapter query failed and no built-in fallback store is configured (${i instanceof Error?i.message:String(i)})`,m.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await un(e.vectorStore,t,n,r)}if(e.vectorStore)return await un(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",m.USAGE)}function ip(e,t,n){return[...e].sort((i,o)=>i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)).slice(0,n).map(i=>{let o=t.get(i.item.id);return o?{hit:i,text:Aa(o)}:null}).filter(i=>i!==null)}async function op(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Hs(r);return i.length>0?new Map(i.map(o=>[o.id,o.score])):(e.warnings.push(`search_rerank_provider_invalid_response:${e.rerankExtension.providerName}:using_builtin`),null)}catch{return e.warnings.push(`search_rerank_provider_failed:${e.rerankExtension.providerName}:using_builtin`),null}}async function sp(e,t,n){let r=await op(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await zs(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function ap(e,t){let n=new Set(t.keys()),r=e.map(i=>{let o=t.get(i.item.id);if(o===void 0)return i;let s=new Set(i.matched_fields);return s.add("rerank"),{...i,score:o,matched_fields:[...s].sort((a,d)=>a.localeCompare(d))}});return r.sort((i,o)=>{let s=n.has(i.item.id),a=n.has(o.item.id);return s!==a?s?-1:1:i.score!==o.score?o.score-i.score:i.item.id.localeCompare(o.item.id)}),r}async function cp(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=ip(n,r,e.rerank.top_k),o=await sp(e,t,i);return o&&o.size>0?ap(n,o):n}async function Ra(e){let t=Math.max(e.limit??e.maxResults,e.maxResults),n=e.embeddingTimeoutMs!==void 0?{timeout_ms:e.embeddingTimeoutMs}:{},r=e.vectorQueryTimeoutMs!==void 0?{timeout_ms:e.vectorQueryTimeoutMs}:{},i=e.query.trim(),o=await np(e,i),s=await dt(e.provider,o,n),a=await Promise.all(s.map(async y=>await rp(e,y,t,r))),d=Fa(a),c=new Map(e.filteredDocuments.map(y=>[y.metadata.id,y])),{semanticHits:l,semanticScores:u}=xa(d,c),f=u.size;if(e.requestedMode==="semantic")return{hits:Bt(l,e.keywordHits),vectorMatchCount:f};let h=await cp(e,i,_r(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Bt(h,e.keywordHits),vectorMatchCount:f}}async function Ma(e,t,n,r){let i=Sr(A()),o=async(c,l,u)=>{let f=async(h,y)=>{await Te({path:h,scope:"project"});let g=await Kt.readFile(h,"utf8");return qr(g,{format:y,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await f(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",y=Qt(e,c.type,c.id,h,n);try{return await f(y,h)}catch{return s.push(`item_list_item_read_failed:${pr.relative(e,y)}`),""}}},s=[],a=await ci(e,t,n,s,r),d=[];if(a.length===0){let c=await ct(e,t,n,s,r);for(let l of c){let u=Qt(e,l.type,l.id,t,n),f=await o(l,u,t);d.push({metadata:l,body:f})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}function Da(e,t){let n=t.trim();if(n.length===0)return null;if(n==="score")return e.score;if(n==="matched_fields")return e.matched_fields;if(n.startsWith("item.")){let o=n.slice(5);return o.length===0?null:e.item[o]??null}let r=e,i=e.item;return Object.prototype.hasOwnProperty.call(i,n)?i[n]??null:Object.prototype.hasOwnProperty.call(r,n)?r[n]??null:null}function La(e,t){return t.mode==="full"?e.map(({matched_all_terms:n,exact_id_match:r,...i})=>i):e.map(n=>{let r={};for(let i of t.fields)r[i]=Da(n,i);return r})}function dp(e){let t=Ht(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function up(e){let t=Ht(H(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}function lp(e,t){let n=[],r=sa(e),i=Object.keys(r.inlineFilters).length>0;if(i&&r.residualQuery.trim().length===0)throw new p("Inline field:value tokens consumed the entire query, leaving no search terms.",m.USAGE,{examples:["pm search auth tag:area:search","pm list --tag area:search --status open"],nextSteps:["Add keyword terms alongside the inline filters, or use pm list for pure tag/status/type/priority filtering."]});let o=i?r.residualQuery:e,s=aa(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:jt(s.includeLinked),titleExact:jt(s.titleExact),phraseExact:jt(s.phraseExact),matchMode:$s(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Ps(s.minScore),countOnly:s.count===!0,tokens:ir(o),normalizedQuery:Q(o),limit:ne(s.limit),projection:nr(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}async function fp(e,t){let n=x(process.cwd(),t.path);await P(n);let r=await R(n),i=wi(r).settings,o=N(i.schema),s=B(i.schema);rr(e.projection,s,e.query);let a=_e(e.options,s,"search"),d=O(i,A()),c=bi(i),l=Si(i,n),u=Sa(i),f=Ea(i),h=Ns(e.options.semanticWeight),y=Bs(i,c.active?.name??null),g=Gs(i,c.active?.model??H(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:or(i),scoreThreshold:e.minScoreOverride??sr(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??ar(i),tuning:cr(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:f,bm25Mode:Ia({configuredProvider:H(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:y,queryExpansionExtension:dp(y),rerank:g,rerankExtension:up(i),effectiveMode:Os(e.options.mode)}}async function mp(e,t){let n=await Ma(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=ye(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=vt(t.statusRegistry),o=la(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:ua(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function pp(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await ma(i,Ir(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await pa(a,o)]));for(let[a,d]of s)r.set(a,d);return r}async function hp(e,t,n){let r=await pp(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>va(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}function ea(e,t){return ka(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t)}async function gp(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Ta({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:vi(t.settings),bm25Params:Qs(t.settings),hybridSemanticWeight:t.hybridSemanticWeight});return t.bm25Mode==="auto-fallback"&&i.push(`search_${t.effectiveMode}_offline_bm25:no_embedding_provider:using_lexical_bm25`),o}async function yp(e,t,n,r){if(!t.extensionSearchProvider)return null;let i=t.providerResolution.active!==null&&(t.vectorResolution.active!==null||t.extensionVectorAdapter!==null);try{let o=await Promise.resolve(t.extensionSearchProvider.query({query:e.query,mode:t.effectiveMode,tokens:e.tokens,options:e.options,settings:t.settings,documents:n}));return Ca(t.extensionSearchProvider.providerName,o,r)}catch(o){if(!i)throw new p(`Extension search provider "${t.extensionSearchProvider.providerName}" failed: ${o instanceof Error?o.message:String(o)}`,m.GENERIC_FAILURE);return null}}function _p(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 wp(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await oa(e.pmRoot,n,r),e.extensionSearchProvider||yr(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function bp(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await gp(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await wp(n,c,r,o,s),r.length===0||t.limit===0)return{effectiveMode:n.effectiveMode,hits:[]};let l=new Map(r.map(u=>[u.metadata.id,u]));if(a=await yp(t,n,r,l)??a,a===i){let{provider:u,vectorStore:f}=yr(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ra({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:f,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=_p(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(ia(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function vp(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return mr({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:We({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 mr({query:e.query.trim(),mode:e.effectiveMode,items:[],count:t,total:t,count_only:!0,filters:ze({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:L()},e.warnings)}function mr(e,t){return t.length===0?e:{...e,warnings:t}}function Ut(e,t){return t?{...e,workspace_memory:t}:e}function kp(e,t,n){if(!e.highlight)return{hits:n,projection:e.projection};let r=new Map(t.map(o=>[o.metadata.id,o])),i=n.map(o=>({...o,highlights:_a(r.get(o.item.id),o.matched_fields,e.tokens)}));return e.projection.mode==="full"||e.projection.fields.includes("highlights")?{hits:i,projection:e.projection}:{hits:i,projection:{mode:e.projection.mode,fields:[...e.projection.fields,"highlights"]}}}function Sp(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return mr({query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:We({mode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,runtimeFieldFilters:e.runtimeFieldFilters})},e.warnings);let a=i.mode==="full"?null:[...i.fields];return{query:e.query.trim(),mode:e.effectiveMode,items:t,count:t.length,...s,...o,filters:ze({effectiveMode:e.effectiveMode,matchMode:e.matchMode,options:e.options,includeLinked:e.includeLinked,titleExact:e.titleExact,phraseExact:e.phraseExact,scoreThreshold:e.scoreThreshold,hybridSemanticWeight:e.hybridSemanticWeight,queryExpansion:e.queryExpansion,rerank:e.rerank,runtimeFieldFilters:e.runtimeFieldFilters}),projection:{mode:i.mode,fields:a},now:L(),...e.warnings.length>0?{warnings:e.warnings}:{}}}function Ep(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",m.USAGE)}async function _w(e,t,n){Ep(t);let r=lp(e,t),i=await fp(r,n),o=await mp(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await Dt(o.allDocuments.map(I=>I.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:L()});s.push(...a.warnings);let d=ds(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ut(ea({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await hp(r,i,o.filteredDocuments),u=await bp({prepared:r,runtime:i,filteredDocuments:o.filteredDocuments,keywordHits:l,warnings:s,modeWasExplicit:r.modeWasExplicit});if(u.effectiveMode!=="keyword"&&u.hits.length===0&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return Ut(ea({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let f=u.hits.filter(I=>I.exact_id_match===!0||I.score>=i.scoreThreshold),h=ba(f,i.statusRegistry),y=h.length,g=Ls({sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),w={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Ut(vp(w,y),d);let{hits:_,projection:b}=kp(r,o.filteredDocuments,g.limited),k=La(_,b);return Ut(Sp(w,k,y,g.limited.length,b,g.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6152efa9-8338-57f0-b3de-5707befed019")}catch{}})();async function Sw(e,t={}){let n=await Fi({pmRoot:x(process.cwd(),e.path),...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}export{$a as a,fn as b,Cp as c,Ha as d,Wa as e,xp as f,Ri as g,j as h,pt as i,Mi as j,ht as k,za as l,gt as m,_t as n,ah as o,$i as p,Xh as q,gn as r,G as s,wt as t,bt as u,vt as v,hh as w,gh as x,_h as y,Ct as z,De as A,Vi as B,Yi as C,vn as D,Le as E,Oe as F,Y as G,qh as H,tg as I,ng as J,dg as K,ug as L,lg as M,qo as N,Ln as O,At as P,bu as Q,Qo as R,Cu as S,Rt as T,xu as U,Iu as V,Ru as W,Mu as X,wg as Y,Du as Z,Jo as _,On as $,Nn as aa,Gu as ba,Yu as ca,Ag as da,$n as ea,Pn as fa,Mt as ga,el as ha,il as ia,Dt as ja,ll as ka,cs as la,fl as ma,ds as na,ls as oa,zg as pa,qg as qa,Vg as ra,Yg as sa,fs as ta,ml as ua,bl as va,je as wa,py as xa,Bn as ya,Sl as za,El as Aa,Hn as Ba,ie as Ca,zn as Da,qn as Ea,Vn as Fa,Ee as Ga,Ge as Ha,Lt as Ia,hy as Ja,Ef as Ka,gy as La,Ff as Ma,Iy as Na,Ty as Oa,Lf as Pa,Fy as Qa,Ay as Ra,jy as Sa,Ts as Ta,Fs as Ua,As as Va,a_ as Wa,c_ as Xa,We as Ya,ze as Za,wm as _a,Ls as $a,or as ab,sr as bb,ar as cb,cr as db,na as eb,ra as fb,Um as gb,Km as hb,yw as ib,_w as jb,Sw as kb};
12
+ //# sourceMappingURL=chunk-TXE4TSHM.js.map