@unbrained/pm-cli 2026.10.30 → 2026.10.31

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 (235) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +32 -0
  3. package/dist/cli/commander-usage.js +2 -2
  4. package/dist/cli/error-guidance.d.ts +45 -5
  5. package/dist/cli/error-guidance.js +5 -3
  6. package/dist/cli/extension-command-help.d.ts +1 -0
  7. package/dist/cli/extension-command-help.js +2 -2
  8. package/dist/cli/main.d.ts +1 -5
  9. package/dist/cli/main.js +5 -5
  10. package/dist/cli/migration-gates.d.ts +1 -1
  11. package/dist/cli/migration-gates.js +1 -1
  12. package/dist/cli/preflight-warnings.d.ts +11 -0
  13. package/dist/cli/preflight-warnings.js +4 -0
  14. package/dist/cli/register-mutation.js +2 -2
  15. package/dist/cli-bundle/bundle-manifest.json +1 -1
  16. package/dist/cli-bundle/chunks/chunk-24J6TNYE.js +8 -0
  17. package/dist/cli-bundle/chunks/{chunk-EHBGHX55.js → chunk-2AHSPMKJ.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-MVL27TAH.js → chunk-35Q2B2GJ.js} +2 -2
  19. package/dist/cli-bundle/chunks/chunk-43R7UTWV.js +2 -0
  20. package/dist/cli-bundle/chunks/chunk-6PSDQ7T7.js +8 -0
  21. package/dist/cli-bundle/chunks/{chunk-UUQX3PFD.js → chunk-BS2KXT24.js} +70 -70
  22. package/dist/cli-bundle/chunks/{chunk-Y6NC3X3E.js → chunk-GMBDZID5.js} +3 -3
  23. package/dist/cli-bundle/chunks/chunk-HSBTITO4.js +3 -0
  24. package/dist/cli-bundle/chunks/{chunk-LWW4F4G2.js → chunk-MRUA2Z43.js} +2 -2
  25. package/dist/cli-bundle/chunks/chunk-P3LNMWL2.js +2 -0
  26. package/dist/cli-bundle/chunks/{chunk-S2U7ECUJ.js → chunk-PT7TS6E7.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-TH5KPAN4.js → chunk-SBVX5CMV.js} +2 -2
  28. package/dist/cli-bundle/chunks/{chunk-4BQD5SW2.js → chunk-TL3O5GZA.js} +30 -30
  29. package/dist/cli-bundle/chunks/chunk-U7JXZMU5.js +6 -0
  30. package/dist/cli-bundle/chunks/{chunk-GRABKNFL.js → chunk-V6EWBTNH.js} +2 -2
  31. package/dist/cli-bundle/chunks/chunk-VC7TA67O.js +20 -0
  32. package/dist/cli-bundle/chunks/chunk-WNF6FOL7.js +31 -0
  33. package/dist/cli-bundle/chunks/chunk-WRXQAW7Q.js +114 -0
  34. package/dist/cli-bundle/chunks/{chunk-RZQNFHXO.js → chunk-WX25MU4N.js} +3 -3
  35. package/dist/cli-bundle/chunks/chunk-XDDPSWIW.js +2 -0
  36. package/dist/cli-bundle/chunks/chunk-YT5D5HNG.js +2 -0
  37. package/dist/cli-bundle/chunks/chunk-ZTJVOBDU.js +128 -0
  38. package/dist/cli-bundle/chunks/{indexed-receipt-blobs-LHLE7PSG.js → indexed-receipt-blobs-KGMJVFH2.js} +2 -2
  39. package/dist/cli-bundle/chunks/item-transaction-UWV6UNSV.js +2 -0
  40. package/dist/cli-bundle/chunks/{mutation-admission-TRGAVS7N.js → mutation-admission-I4RHIT3Q.js} +2 -2
  41. package/dist/cli-bundle/chunks/{register-list-query-BH4F6M7Z.js → register-list-query-MVDL5EXG.js} +3 -3
  42. package/dist/cli-bundle/chunks/register-mutation-GAF7LXRB.js +20 -0
  43. package/dist/cli-bundle/chunks/register-operations-JLFRL36Q.js +2 -0
  44. package/dist/cli-bundle/chunks/{register-setup-QPWSVHFZ.js → register-setup-MZN6ONB3.js} +2 -2
  45. package/dist/cli-bundle/chunks/{settlement-hook-MN3Y7LVX.js → settlement-hook-YWSWFOZY.js} +2 -2
  46. package/dist/cli-bundle/chunks/{stage-RTB6RAAO.js → stage-2ZORTOF6.js} +2 -2
  47. package/dist/cli-bundle/focused-chunks/{chunk-S23ZUASN.js → chunk-2J7T2UCH.js} +2 -2
  48. package/dist/cli-bundle/focused-chunks/chunk-4QPGJO2G.js +26 -0
  49. package/dist/cli-bundle/focused-chunks/{chunk-YU7QOYYV.js → chunk-57HPXGOQ.js} +3 -3
  50. package/dist/cli-bundle/focused-chunks/chunk-5MCGYBOQ.js +91 -0
  51. package/dist/cli-bundle/focused-chunks/chunk-6F6APBCX.js +3 -0
  52. package/dist/cli-bundle/focused-chunks/chunk-AFVN2KCP.js +44 -0
  53. package/dist/cli-bundle/focused-chunks/{chunk-RKPUQDWF.js → chunk-DFUTCKUF.js} +2 -2
  54. package/dist/cli-bundle/focused-chunks/chunk-EA65HVBO.js +12 -0
  55. package/dist/cli-bundle/focused-chunks/chunk-GP2WU43K.js +26 -0
  56. package/dist/cli-bundle/focused-chunks/{chunk-YQUZL2CK.js → chunk-HPWT3RBG.js} +3 -3
  57. package/dist/cli-bundle/focused-chunks/chunk-HSAEEWSI.js +2 -0
  58. package/dist/cli-bundle/focused-chunks/{chunk-BPE6JTKL.js → chunk-JLXGRDTG.js} +3 -3
  59. package/dist/cli-bundle/focused-chunks/{chunk-FRFNGMAK.js → chunk-JNKRUCVZ.js} +2 -2
  60. package/dist/cli-bundle/focused-chunks/{chunk-BCIUAEWX.js → chunk-KH5QJXY7.js} +2 -2
  61. package/dist/cli-bundle/focused-chunks/chunk-KKRIFBSL.js +2 -0
  62. package/dist/cli-bundle/focused-chunks/{chunk-RGQEJFXO.js → chunk-MW77Q3AQ.js} +2 -2
  63. package/dist/cli-bundle/focused-chunks/chunk-NOKG4RFN.js +22 -0
  64. package/dist/cli-bundle/focused-chunks/{chunk-POJPJX64.js → chunk-NRBUMDLF.js} +2 -2
  65. package/dist/cli-bundle/focused-chunks/{chunk-3SRX77ES.js → chunk-PC3R5CJV.js} +2 -2
  66. package/dist/cli-bundle/focused-chunks/{chunk-RYEZSZJ7.js → chunk-PFBQOZPK.js} +2 -2
  67. package/dist/cli-bundle/focused-chunks/{chunk-SAT7IAEB.js → chunk-QFMJGQGO.js} +3 -3
  68. package/dist/cli-bundle/focused-chunks/{chunk-VFWCSQAG.js → chunk-SFQKCA5K.js} +2 -2
  69. package/dist/cli-bundle/focused-chunks/chunk-WHIE2C6Q.js +2 -0
  70. package/dist/cli-bundle/focused-chunks/chunk-Y6UYRMVG.js +6 -0
  71. package/dist/cli-bundle/focused-chunks/{indexed-receipt-blobs-VK2363JB.js → indexed-receipt-blobs-KHWT44EK.js} +2 -2
  72. package/dist/cli-bundle/focused-chunks/item-transaction-LU75EG7D.js +2 -0
  73. package/dist/cli-bundle/focused-chunks/{mutation-admission-7VUODEPJ.js → mutation-admission-KDJ7SCPA.js} +2 -2
  74. package/dist/cli-bundle/focused-chunks/{settlement-hook-OK6A7PG2.js → settlement-hook-SJV52ZTV.js} +2 -2
  75. package/dist/cli-bundle/focused-chunks/{stage-S5RP5SZH.js → stage-R4KEBO37.js} +2 -2
  76. package/dist/cli-bundle/main.js +26 -22
  77. package/dist/cli-bundle/sdk-authoring.js +1 -1
  78. package/dist/cli-bundle/sdk-contracts.js +4 -4
  79. package/dist/cli-bundle/sdk-core.js +1 -1
  80. package/dist/cli-bundle/sdk-governance.js +1 -1
  81. package/dist/cli-bundle/sdk-graph.js +1 -1
  82. package/dist/cli-bundle/sdk-merge.js +57 -57
  83. package/dist/cli-bundle/sdk-query.js +1 -1
  84. package/dist/cli-bundle/sdk-runtime.js +1 -1
  85. package/dist/cli-bundle/sdk-testing.js +1 -1
  86. package/dist/cli-bundle/sdk.js +11 -11
  87. package/dist/core/config/nested-settings.js +1 -1
  88. package/dist/core/extensions/extension-hook-runtime.js +1 -1
  89. package/dist/core/extensions/extension-types.d.ts +4 -0
  90. package/dist/core/extensions/extension-types.js +1 -1
  91. package/dist/core/extensions/loader.js +1 -1
  92. package/dist/core/lock/lock.js +4 -4
  93. package/dist/core/output/output.js +2 -2
  94. package/dist/core/schema/fields-file.js +1 -1
  95. package/dist/core/sentry/helpers.d.ts +6 -0
  96. package/dist/core/sentry/helpers.js +1 -1
  97. package/dist/core/sentry/instrument.d.ts +1 -1
  98. package/dist/core/sentry/instrument.js +1 -1
  99. package/dist/core/shared/constants.js +1 -1
  100. package/dist/core/shared/errors.d.ts +6 -0
  101. package/dist/core/shared/errors.js +1 -1
  102. package/dist/core/shared/output-unicode.d.ts +10 -0
  103. package/dist/core/shared/output-unicode.js +2 -0
  104. package/dist/core/store/settings-validator.d.ts +1 -0
  105. package/dist/core/store/settings-validator.js +1 -1
  106. package/dist/core/store/settings.js +1 -1
  107. package/dist/core/telemetry/policy.d.ts +8 -0
  108. package/dist/core/telemetry/policy.js +1 -1
  109. package/dist/core/telemetry/runtime.js +3 -3
  110. package/dist/sdk/agent/command-recovery.d.ts +15 -0
  111. package/dist/sdk/agent/command-recovery.js +1 -1
  112. package/dist/sdk/cli-bootstrap.js +1 -1
  113. package/dist/sdk/cli-contracts/agent-output-contracts.d.ts +28 -0
  114. package/dist/sdk/cli-contracts/agent-output-contracts.js +2 -2
  115. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1
  116. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  117. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  118. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  119. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  120. package/dist/sdk/cli-contracts.d.ts +1 -1
  121. package/dist/sdk/cli-contracts.js +1 -1
  122. package/dist/sdk/completion/fish.js +4 -4
  123. package/dist/sdk/completion/zsh.js +3 -3
  124. package/dist/sdk/config.d.ts +1 -0
  125. package/dist/sdk/config.js +1 -1
  126. package/dist/sdk/core.d.ts +1 -0
  127. package/dist/sdk/core.js +1 -1
  128. package/dist/sdk/error-runtime.d.ts +9 -0
  129. package/dist/sdk/error-runtime.js +1 -1
  130. package/dist/sdk/errors.js +1 -1
  131. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  132. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  133. package/dist/sdk/index.d.ts +2 -2
  134. package/dist/sdk/index.js +1 -1
  135. package/dist/sdk/lifecycle/claim.js +1 -1
  136. package/dist/sdk/lifecycle/close.js +1 -1
  137. package/dist/sdk/lifecycle/create.js +1 -1
  138. package/dist/sdk/lifecycle/plan.d.ts +2 -3
  139. package/dist/sdk/lifecycle/plan.js +1 -1
  140. package/dist/sdk/lifecycle/repeated-terminal-state.d.ts +45 -0
  141. package/dist/sdk/lifecycle/repeated-terminal-state.js +2 -0
  142. package/dist/sdk/lifecycle/shared-unset-fields.d.ts +9 -0
  143. package/dist/sdk/lifecycle/shared-unset-fields.js +1 -1
  144. package/dist/sdk/lifecycle/update-many.d.ts +0 -1
  145. package/dist/sdk/lifecycle/update-many.js +1 -1
  146. package/dist/sdk/lifecycle/update.d.ts +29 -1
  147. package/dist/sdk/lifecycle/update.js +2 -2
  148. package/dist/sdk/output/table-rows.d.ts +7 -1
  149. package/dist/sdk/output/table-rows.js +1 -1
  150. package/dist/sdk/output.d.ts +1 -0
  151. package/dist/sdk/output.js +2 -2
  152. package/dist/sdk/ownership-source.d.ts +18 -0
  153. package/dist/sdk/ownership-source.js +1 -1
  154. package/dist/sdk/public-surface.json +1 -1
  155. package/dist/sdk/query/get.d.ts +1 -1
  156. package/dist/sdk/query/get.js +1 -1
  157. package/dist/sdk/query/next-ranking-policy.d.ts +35 -0
  158. package/dist/sdk/query/next-ranking-policy.js +2 -0
  159. package/dist/sdk/query/next.d.ts +12 -2
  160. package/dist/sdk/query/next.js +2 -2
  161. package/dist/sdk/query/projection-contracts.d.ts +4 -0
  162. package/dist/sdk/query/projection-contracts.js +1 -1
  163. package/dist/sdk/read-output/surfaces.d.ts +27 -0
  164. package/dist/sdk/read-output/surfaces.js +2 -0
  165. package/dist/sdk/read-output-contracts.js +1 -1
  166. package/dist/sdk/runtime-primitives.d.ts +1 -0
  167. package/dist/sdk/runtime-primitives.js +1 -1
  168. package/dist/sdk/runtime.js +1 -1
  169. package/dist/sdk/test/execution-receipts.d.ts +25 -0
  170. package/dist/sdk/test/execution-receipts.js +2 -2
  171. package/dist/sdk/test/execution.d.ts +5 -0
  172. package/dist/sdk/test/execution.js +2 -2
  173. package/dist/types.d.ts +2 -0
  174. package/dist/types.js +1 -1
  175. package/docs/AGENT_GUIDE.md +1 -1
  176. package/docs/AGENT_OUTPUT_ENCODINGS.md +12 -0
  177. package/docs/AGENT_UX_CONTRACTS.md +2 -1
  178. package/docs/COMMANDS.md +58 -5
  179. package/docs/CONFIGURATION.md +48 -1
  180. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +26 -0
  181. package/docs/PACKED_FIRST_RUN.md +2 -1
  182. package/docs/READ_OUTPUT_CONTRACTS.md +24 -6
  183. package/docs/SDK.md +73 -2
  184. package/docs/TESTING.md +38 -2
  185. package/docs/agent-task-token-baseline.json +1 -1
  186. package/marketplace.json +1 -1
  187. package/package.json +1 -1
  188. package/packages/pm-beads/package.json +1 -1
  189. package/packages/pm-calendar/extensions/calendar/index.ts +1 -0
  190. package/packages/pm-calendar/package.json +1 -1
  191. package/packages/pm-command-kit/package.json +1 -1
  192. package/packages/pm-digital-twin/package.json +1 -1
  193. package/packages/pm-governance-audit/package.json +1 -1
  194. package/packages/pm-guide-shell/package.json +1 -1
  195. package/packages/pm-kanban/package.json +1 -1
  196. package/packages/pm-lifecycle-hooks/package.json +1 -1
  197. package/packages/pm-linked-test-adapters/package.json +1 -1
  198. package/packages/pm-search-advanced/package.json +1 -1
  199. package/packages/pm-templates/package.json +1 -1
  200. package/packages/pm-todos/package.json +1 -1
  201. package/packages/pm-vcs/package.json +1 -1
  202. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  203. package/plugins/pm-claude/package.json +1 -1
  204. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  205. package/plugins/pm-codex/package.json +1 -1
  206. package/plugins/pm-codex/plugin.json +1 -1
  207. package/runtime-dependencies.json +1 -1
  208. package/dist/cli-bundle/chunks/chunk-34MP7WKK.js +0 -6
  209. package/dist/cli-bundle/chunks/chunk-3KMYHYJV.js +0 -2
  210. package/dist/cli-bundle/chunks/chunk-42BHHNTL.js +0 -128
  211. package/dist/cli-bundle/chunks/chunk-I5O3XZOA.js +0 -2
  212. package/dist/cli-bundle/chunks/chunk-LEIVUGDH.js +0 -8
  213. package/dist/cli-bundle/chunks/chunk-OH7WPD42.js +0 -114
  214. package/dist/cli-bundle/chunks/chunk-OOD2A7AF.js +0 -20
  215. package/dist/cli-bundle/chunks/chunk-Q5V7P6NM.js +0 -2
  216. package/dist/cli-bundle/chunks/chunk-QLPFYBXN.js +0 -2
  217. package/dist/cli-bundle/chunks/chunk-SA5NYLPE.js +0 -8
  218. package/dist/cli-bundle/chunks/chunk-VHLAVTJN.js +0 -31
  219. package/dist/cli-bundle/chunks/chunk-XAOVJG52.js +0 -3
  220. package/dist/cli-bundle/chunks/chunk-XPQ4RTSF.js +0 -2
  221. package/dist/cli-bundle/chunks/item-transaction-WIOBZW4E.js +0 -2
  222. package/dist/cli-bundle/chunks/register-mutation-5V2NANIS.js +0 -20
  223. package/dist/cli-bundle/chunks/register-operations-XSFRMUFX.js +0 -2
  224. package/dist/cli-bundle/focused-chunks/chunk-2V6NMNYN.js +0 -26
  225. package/dist/cli-bundle/focused-chunks/chunk-ASHGXMX4.js +0 -3
  226. package/dist/cli-bundle/focused-chunks/chunk-CKBN2D42.js +0 -12
  227. package/dist/cli-bundle/focused-chunks/chunk-I642DXOT.js +0 -22
  228. package/dist/cli-bundle/focused-chunks/chunk-K7DKG5HM.js +0 -91
  229. package/dist/cli-bundle/focused-chunks/chunk-NMQBXU7N.js +0 -44
  230. package/dist/cli-bundle/focused-chunks/chunk-PGM3ENGZ.js +0 -2
  231. package/dist/cli-bundle/focused-chunks/chunk-QFNV4JTA.js +0 -6
  232. package/dist/cli-bundle/focused-chunks/chunk-QVJCQMZY.js +0 -26
  233. package/dist/cli-bundle/focused-chunks/chunk-R2TPPPVU.js +0 -2
  234. package/dist/cli-bundle/focused-chunks/chunk-VJVJ2ZX2.js +0 -2
  235. package/dist/cli-bundle/focused-chunks/item-transaction-ZFDKJIP7.js +0 -2
@@ -1,4 +1,4 @@
1
- import{A as u,E as p,z as h}from"./chunk-BPE6JTKL.js";import{readFile as b,realpath as y,stat as _,writeFile as $}from"node:fs/promises";import l from"node:path";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="38df9536-d87a-52ac-958d-091a17c9da9c")}catch{}})();var d="# pm-cli:runtime-cache:start",f="# pm-cli:runtime-cache:end",E=".agents/pm";async function m(n){let e=l.resolve(n),t=[];for(;;)try{let i=await y(e);if(!(await _(i)).isDirectory())throw Object.assign(new Error("Initialization path ancestry must be a directory."),{code:"ENOTDIR"});return l.join(i,...t)}catch(i){if(!p(i)||l.dirname(e)===e)throw i;t.unshift(l.basename(e)),e=l.dirname(e)}}var R=["runtime/","search/","locks/","transactions/","checkpoints/"],T=["search/eval-queries.json"];async function w(n){try{return await n()}catch(e){throw e instanceof Error&&"code"in e&&typeof e.code=="string"&&["EACCES","EPERM","EROFS"].includes(e.code)?new u("The workspace .gitignore is not writable.",h.GENERIC_FAILURE,{code:"init_gitignore_unwritable",reason:e.code.toLowerCase(),required:"Grant the current user read and write access to the workspace .gitignore before initialization.",why:"pm init must publish its managed runtime-cache ignore fence without replacing unrelated entries.",nextSteps:["Grant read and write access to the workspace .gitignore and rerun pm init.","If the workspace is intentionally read-only, initialize pm in a writable workspace or clone."]}):e}}function I(n){let e=n.split(l.sep).join("/").replace(/^\.\/+/,""),t=e.length;for(;t>0&&e[t-1]==="/";)t-=1;return e.slice(0,t)}function k(n){let e=n.replaceAll("\\","/");return l.isAbsolute(n)||e===".."||e.startsWith("../")}function G(n=E){let e=I(n);if(/[\r\n]/u.test(e))throw new u("A tracker path containing a line break cannot be represented safely in .gitignore.",h.USAGE,{code:"invalid_argument_value",required:"a tracker path without line breaks",nextSteps:["Choose a tracker path without carriage returns or newlines and rerun pm init."]});let t=e.replace(/[\\*?[\]#! \t]/gu,"\\$&");return[d,...R.map(i=>i==="search/"?`${t}/${i}*`:`${t}/${i}`),...T.map(i=>`!${t}/${i}`),f].join(`
1
+ import{A as u,E as p,z as h}from"./chunk-JLXGRDTG.js";import{readFile as b,realpath as y,stat as _,writeFile as $}from"node:fs/promises";import l from"node:path";(function(){try{var n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},e=new n.Error().stack;e&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[e]="38df9536-d87a-52ac-958d-091a17c9da9c")}catch{}})();var d="# pm-cli:runtime-cache:start",f="# pm-cli:runtime-cache:end",E=".agents/pm";async function m(n){let e=l.resolve(n),t=[];for(;;)try{let i=await y(e);if(!(await _(i)).isDirectory())throw Object.assign(new Error("Initialization path ancestry must be a directory."),{code:"ENOTDIR"});return l.join(i,...t)}catch(i){if(!p(i)||l.dirname(e)===e)throw i;t.unshift(l.basename(e)),e=l.dirname(e)}}var R=["runtime/","search/","locks/","transactions/","checkpoints/"],T=["search/eval-queries.json"];async function w(n){try{return await n()}catch(e){throw e instanceof Error&&"code"in e&&typeof e.code=="string"&&["EACCES","EPERM","EROFS"].includes(e.code)?new u("The workspace .gitignore is not writable.",h.GENERIC_FAILURE,{code:"init_gitignore_unwritable",reason:e.code.toLowerCase(),required:"Grant the current user read and write access to the workspace .gitignore before initialization.",why:"pm init must publish its managed runtime-cache ignore fence without replacing unrelated entries.",nextSteps:["Grant read and write access to the workspace .gitignore and rerun pm init.","If the workspace is intentionally read-only, initialize pm in a writable workspace or clone."]}):e}}function I(n){let e=n.split(l.sep).join("/").replace(/^\.\/+/,""),t=e.length;for(;t>0&&e[t-1]==="/";)t-=1;return e.slice(0,t)}function k(n){let e=n.replaceAll("\\","/");return l.isAbsolute(n)||e===".."||e.startsWith("../")}function G(n=E){let e=I(n);if(/[\r\n]/u.test(e))throw new u("A tracker path containing a line break cannot be represented safely in .gitignore.",h.USAGE,{code:"invalid_argument_value",required:"a tracker path without line breaks",nextSteps:["Choose a tracker path without carriage returns or newlines and rerun pm init."]});let t=e.replace(/[\\*?[\]#! \t]/gu,"\\$&");return[d,...R.map(i=>i==="search/"?`${t}/${i}*`:`${t}/${i}`),...T.map(i=>`!${t}/${i}`),f].join(`
2
2
  `)}function O(n,e,t){let i=e.replace(/[\\*?[\]#! \t]/gu,"\\$&"),o=[...new Set([e,i])].flatMap(s=>R.flatMap(c=>[`${s}/${c}`,`!${s}/${c}`])),a=[],r=!1;for(let s of n)o.some(c=>s.startsWith(c))?(r||a.push(...t),r=!0):a.push(s);return r||a.push(...t),a}function P(n){let e=[],t=-1,i=0,o=0;for(let a of n.split(`
3
3
  `)){let r=a.endsWith("\r")?a.slice(0,-1):a;r===d?(t=o,i=o+a.length+1):r===f&&t>=0&&(e.push({index:t,end:o+r.length,lines:n.slice(i,o).split(/\r?\n/u).filter(s=>s.length>0)}),t=-1),o+=a.length+1}return e}function v(n,e){let t=n.includes(`\r
4
4
  `)?`\r
@@ -6,4 +6,4 @@ import{A as u,E as p,z as h}from"./chunk-BPE6JTKL.js";import{readFile as b,realp
6
6
  `,i=G(e).split(`
7
7
  `).slice(1,-1),o=P(n),a=o.flatMap(c=>c.lines),r=[d,...O(a,e,i),f].join(t);if(o.length===0){let c=n.length===0?"":n.endsWith(`
8
8
  `)?t:`${t}${t}`;return`${n}${c}${r}${t}`}let s=n;for(let[c,g]of[...o.entries()].reverse())s=`${s.slice(0,g.index)}${c===0?r:""}${s.slice(g.end)}`;return s}async function S(n,e={}){let t=l.join(n,".gitignore"),i=E;if(e.pmRoot!==void 0){let r=I(l.relative(await m(n),await m(e.pmRoot)));if(k(r))return{path:t,changed:!1};i=r}let o="";try{o=await w(()=>b(t,"utf8"))}catch(r){if(!(r instanceof Error&&"code"in r&&p(r)))throw r}let a=v(o,i);return a===o?{path:t,changed:!1}:(await w(()=>$(t,a,"utf8")),{path:t,changed:!0})}export{R as a,k as b,S as c};
9
- //# sourceMappingURL=chunk-RKPUQDWF.js.map
9
+ //# sourceMappingURL=chunk-DFUTCKUF.js.map
@@ -0,0 +1,12 @@
1
+ import{A as uo,B as mo,G as po,I as ho,a as H,b as Xi,c as Qi,e as De,f as Yi,g as Ji,h as Zi,i as eo,j as to,m as no,n as ro,p as ao,q as co,t as lo,u as fn,v as pn,w as q}from"./chunk-PFBQOZPK.js";import{$ as ft,Ba as qi,M as _i,N as wi,Q as ln,R as Ri,Ta as zi,ba as pe,ca as pt,da as ht,ea as Oi,ga as ji,ha as Ui,ia as yt,ja as Bi,ka as _t,la as wt,ma as bt,na as Gi,ra as Hi,sa as mn}from"./chunk-NOKG4RFN.js";import{Na as Zr,Va as ei}from"./chunk-HSAEEWSI.js";import{F as fo,a as Te,c as Re,f as Ae,g as Ki,h as Vi,i as vt,m as io,n as oo,q as so}from"./chunk-KKRIFBSL.js";import{C as gt,E as Ni,F as ne,G as re,I as Li,J as he,M as Pi,U as Wi,b as Ai,c as Di,f as $i,h as un}from"./chunk-5MCGYBOQ.js";import{$a as A,Ea as Ti,F as vi,G as ki,H as Si,I as Ei,J as Ci,La as mt,Ma as Fi,N as xe,Na as Mi,W as Ii,ba as ee,da as te,eb as U,ja as xi,r as F,s as C,t as J,x as bi}from"./chunk-57HPXGOQ.js";import{b as le}from"./chunk-PC3R5CJV.js";import{j as N,l as Y}from"./chunk-MW77Q3AQ.js";import{b as gi,c as yi}from"./chunk-AK2CI2GI.js";import{$ as Ce,$b as cn,Aa as on,Ca as rt,Cc as ti,Dc as ue,E as nn,Ed as st,Ee as dn,F as et,Fa as it,Fd as fe,Gc as ni,Gd as ci,Hd as di,Ic as ot,Id as li,Jd as ui,Kd as mi,Ld as at,Nc as me,Od as D,Qb as Qr,Rd as fi,Sd as S,Td as pi,Ud as G,Y as rn,Yb as sn,Zb as an,_c as ri,a as Br,aa as nt,ac as Yr,bc as Jr,ee as ct,fa as Kr,ga as Vr,ge as dt,id as ii,ie as lt,jd as oi,ld as si,le as hi,me as ut,qa as R,sc as E,wa as T,ya as Xr,yc as Ie,yd as ai,z as de}from"./chunk-GP2WU43K.js";import{A as p,C as qr,D as tt,E as Wr,I as zr,t as Gr,x as Hr,z as f}from"./chunk-JLXGRDTG.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]="f698608a-2f39-5972-b24b-93287af6b373")}catch{}})();var Fe=class extends RangeError{code;work;minimum_tokens;constructor(t,n,r){super(t),this.name="OutputEnvelopeFitError",this.code=t,this.work=Object.freeze({...n}),this.minimum_tokens=r}};function hn(e,t){if(!Number.isSafeInteger(e)||e<1)throw new RangeError(`${t} must be a positive safe integer`)}function fa(e,t,n,r){return t.map(([i,o])=>{if(r.render_calls>=r.max_render_calls)throw new Fe("output_envelope_work_limit",r);r.render_calls+=1;let s=o(e);if(typeof s!="string")throw new TypeError("Envelope renderers must return strings");let a=n(s);if(!Number.isSafeInteger(a)||a<0)throw new RangeError("Envelope token estimates must be non-negative safe integers");return{name:i,text:s,bytes:Buffer.byteLength(s,"utf8"),estimated_tokens:a}})}function go(e,t,n,r){let i=t,o=Object.entries(n.renderers),s=n.estimateTokens??(a=>ri(Buffer.byteLength(a,"utf8")));for(let a=0;a<(n.maxStabilizationPasses??16);a+=1){let d=Object.freeze({...i}),c={...n.buildEnvelope(e,d),output_fit:d},l=fa(c,o,s,r),u=Math.max(...l.map(h=>h.bytes)),m=Math.max(...l.map(h=>h.estimated_tokens));if(u===i.output_bytes&&m===i.estimated_tokens)return{envelope:c,renderings:l};i={...i,output_bytes:u,estimated_tokens:m}}throw new Fe("output_envelope_unstable",r)}function gf(e,t){hn(t.tokenBudget,"tokenBudget"),hn(t.maxRenderCalls??1e4,"maxRenderCalls"),hn(t.maxStabilizationPasses??16,"maxStabilizationPasses");let n=t.policy??"prefix";if(n!=="prefix"&&n!=="skip")throw new TypeError("Unknown output envelope fit policy");if(Object.entries(t.renderers).length===0||Object.entries(t.renderers).some(([d,c])=>!d.trim()||typeof c!="function"))throw new TypeError("Envelope fitting requires named callable renderers");let r={evaluated_candidates:0,render_calls:0,max_render_calls:t.maxRenderCalls??1e4},i=[],o=[],s=d=>({version:1,policy:n,total_candidates:e.length,included_indices:Object.freeze([...d]),omitted_count:e.length-d.length,token_budget:t.tokenBudget,estimated_tokens:0,output_bytes:0}),a=go(i,s(o),t,r);if(a.envelope.output_fit.estimated_tokens>t.tokenBudget)throw new Fe("output_envelope_infeasible",r,a.envelope.output_fit.estimated_tokens);for(let[d,c]of e.entries()){r.evaluated_candidates+=1;let l=[...i,c],u=[...o,d],m=go(l,s(u),t,r);if(m.envelope.output_fit.estimated_tokens<=t.tokenBudget)i=l,o=u,a=m;else if(n==="prefix")break}return{rows:i,...a,complete:i.length===e.length,work:Object.freeze({...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]="b70f6764-9f83-5371-8ebc-1d0d5703bc1f")}catch{}})();var pa=["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"],gn=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 wf(e={}){return si({excludeTerminal:!1,full:!0,...e.includeBody===void 0?{}:{includeBody:e.includeBody},noTruncate:!0,outputBudget:"unbounded",outputLimit:"unbounded",strictRead:!0},["full"])}function W(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function x(e,t,n,r){t&&e.push({code:n,message:r})}function ha(e,t){let n=W(e.completeness)?e.completeness:{};x(t,n.status==="partial","source_incomplete","The source scan reported unreadable tracker artifacts."),x(t,n.status!=="complete"&&n.status!=="partial","source_unchecked","The source scan did not prove completeness.");let r=n.unreadable_item_count,i=n.unreadable_directory_count;x(t,n.status==="complete"&&(r!==0||i!==0)&&Number.isSafeInteger(r)&&Number.isSafeInteger(i),"source_incomplete","The source scan reports unreadable tracker artifacts despite a complete status."),x(t,n.status==="complete"&&(!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||Number(r)<0||Number(i)<0),"source_unchecked","The source scan did not report safe non-negative unreadable counts.");let o=W(e.filters)?e.filters:{},s=W(o.runtime_filters)?o.runtime_filters:{},a=new Set(["exclude_terminal","include_body","no_truncate","runtime_filters","status","strict_read"]);return x(t,o.status!=="all"||Object.keys(s).length>0||Object.keys(o).some(d=>!a.has(d)),"filtered_corpus","The list did not explicitly select every lifecycle status."),x(t,o.exclude_terminal===!0,"terminal_items_excluded","Terminal lifecycle states were explicitly excluded."),x(t,o.strict_read!==!0,"strict_read_unproven","The result does not echo strict source-read enforcement."),o}function ga(e,t,n){x(n,e.has_more!==!1||e.next_cursor!==null||e.truncated!==!1||e.applied_limit!==void 0||t.no_truncate!==!0,"page_incomplete","Pagination or a row ceiling may have withheld items."),x(n,e.count!==e.items.length||e.total!==e.items.length,"count_mismatch","Envelope counts do not equal the returned item count.");let r=W(e.projection)?e.projection:{};x(n,r.mode!=="full"||r.fields!==null,"projection_incomplete","The result is not the full metadata projection.");let i=W(e.omission_receipt)?e.omission_receipt:void 0;x(n,i===void 0,"omission_receipt_missing","The result carries no field-omission receipt."),x(n,i!==void 0&&(i.has_omissions!==!1||i.omitted_field_group_count!==0||!Number.isSafeInteger(i.omitted_field_group_count)||!Array.isArray(i.omitted_field_groups)||i.omitted_field_groups.length!==0),"omission_receipt_invalid","The field-omission receipt is malformed or contradicts its no-omission claim."),x(n,i?.has_omissions===!0,"field_omission","The omission receipt reports withheld field groups.")}function ya(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 _a(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 wa(e,t){let n=W(e.read_output)?e.read_output:void 0;x(t,n===void 0,"read_output_missing","The result carries no universal read-output receipt."),x(t,n!==void 0&&ya(n),"read_output_invalid","The universal read-output receipt does not prove an intact list result."),x(t,n!==void 0&&!_a(n),"read_output_dimensions_incomplete","The universal read-output receipt does not prove full, unbounded include, amount, and cost dimensions."),x(t,n?.strings_compacted===!0||n?.rows_compacted===!0||e.output_budget_truncation!==void 0,"budget_compaction","Universal output shaping compacted the result.");let r=W(e.output_budget_exceeded)?e.output_budget_exceeded:void 0;x(t,n?.result_omitted===!0||r?.omitted_result===!0,"budget_omission","Universal output shaping omitted the useful result."),x(t,e.read_session!==void 0,"session_projection","A cross-call read session can suppress previously served facts.")}function ba(e,t){let n=e.map(r=>W(r)&&typeof r.id=="string"?r.id.trim():"");x(t,n.some(r=>r.length===0),"invalid_item_id","Every full item row must carry a non-empty string id."),x(t,new Set(n).size!==n.length,"duplicate_item_id","Every item id must occur exactly once.")}function va(e){if(!W(e)||!Array.isArray(e.items))return{ok:!1,findings:[{code:pa[0],message:"The result must be an object with an items array."}]};let t=e,n=[],r=ha(t,n);return ga(t,r,n),wa(t,n),ba(t.items,n),{ok:n.length===0,findings:n}}function ka(e){let t=va(e);if(!t.ok)throw new gn(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 bf(e){ka(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="499dfc08-cf70-55fe-8868-65c3107e3a91")}catch{}})();async function Ef(e,t={}){let n=await po({pmRoot:T(process.cwd(),e.path),exhaustive:t.exhaustive,...t.status===void 0?{}:{statuses:t.status.flatMap(r=>r.split(",").map(i=>i.trim()).filter(Boolean))},...t.since===void 0?{}:{since:t.since},...t.threshold===void 0?{}:{threshold:t.threshold},...t.limit===void 0?{}:{limit:t.limit}});return{...n,clusters:n.clusters.map(r=>{let i=r.id;return{...r,canonical_id:i,close_command:`pm close <duplicate-id> --duplicate-of ${i}`}}),guidance:{strategy:"review_then_close_duplicate",command:"pm close <duplicate-id> --duplicate-of <canonical-id>"}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1433b417-e41f-5963-a551-094132afd717")}catch{}})();var yo=16;async function _o(e,t,n){let r=R(t,E()).type_to_folder,i=[],o=new Set,s=n;for(;s&&i.length<yo;){let a=s.trim().toLowerCase();if(!a||o.has(a))break;o.add(a);let d=await ne(e,s,t.id_prefix,t.item_format,r);if(!d)break;let c=await re(d,{schema:t.schema});i.push(c.document.metadata.id),s=c.document.metadata.parent}return i}async function Af(e){await Si({pmRoot:e.pmRoot,principal:e.principal,itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)})}async function Df(e){await Ei(e)}async function Ff(e){await Ci({pmRoot:e.pmRoot,principal:e.principal,...e.itemId?{itemId:e.itemId,lineageIds:await _o(e.pmRoot,e.settings,e.itemId)}:{}})}var Mf={lineage_depth:yo,active_items:64,evidence_rows:32};function wo(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]="c12559a3-2703-5665-9ec2-7309589be511")}catch{}})();var Me=["priority_floor","weighted"],Sa="default-weighted-v1";function bo(e,t,n,r){let i=new Map(e.map(a=>[a.id,a.rank]));if(n!=="priority_floor"||r!==Sa)return i;let o=t.in_progress_status,s=a=>C(a.item.status,t)===o?-1:a.item.priority;return e.sort((a,d)=>s(a)-s(d)||a.rank-d.rank),e.forEach((a,d)=>{a.rank=d+1}),i}function vo(e,t,n,r){let i=e[0];if(!i)return;if(r==="priority_floor"){let a=t.get(i.item.id);return a!==void 0&&a!==1?`priority floor (relevance rank ${a})`:void 0}let o=n.in_progress_status,s=e.slice(1).filter(a=>a.item.priority<i.item.priority&&C(a.item.status,n)!==o).map(a=>a.item.priority);return s.length>0?`relevance over p${Math.min(...s)} ready work`:void 0}import{encode as Ca}from"@toon-format/toon";import{createHash as Ea}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]="66022e7d-1594-5b88-a283-c64830ff0dfd")}catch{}})();function yn(e){let t=Ea("sha256").update("[");for(let n of e)t.update(it(n)).update("\0");return t.update("]").digest("hex")}function kt(e,t){if(t===void 0)return D();let n=di(t).snapshot,r=`${e}:`,i=n?.slice(r.length);if(!n?.startsWith(r)||!i||!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u.test(i)||!Number.isFinite(Date.parse(i)))throw new p("Query cursor has no supported fixed-window clock.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});return i}function $e(e,t){let n=e.map((a,d)=>({row:a,index:d})),r=fe(t.command,{query:t.query,rows_digest:yn(e)}),i=t.after===void 0?void 0:li(t.after,r);if(i&&(i.after_index===void 0||i.after_id!==String(i.after_index)||i.after_index>=e.length))throw new p("Query cursor position is outside the matching window.",f.USAGE,{code:"invalid_query_cursor",nextSteps:["Repeat the original query without --after to obtain a fresh cursor."]});let o=at(n,{cursor:t.after,fingerprint:r,snapshot:`${t.command}:${t.clock}`,limit:t.limit??e.length,readId:({index:a})=>String(a)}),s=i?.after_index===void 0?0:i.after_index+1;return{...o,rows:o.rows.map(({row:a})=>a),count:o.rows.length,total_count:e.length,page_start:s,omitted_count:e.length-s-o.rows.length,has_more:s+o.rows.length<e.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]="351df2b3-3a1a-528c-96b9-72bb3e2f27fc")}catch{}})();var _n=["agenda","day","week","month"],wn=["markdown","toon","json"],Ia=["sun","mon","tue","wed","thu","fri","sat"],xa=365,Ta=365,xo=28,Ra=1e3;function bn(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`,f.USAGE);return n}function Aa(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",f.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",f.USAGE)}return r}function To(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 Da(e){if(!e)return"agenda";let t=e.trim().toLowerCase();if(!_n.includes(t)){let n=To(t,_n);throw new p(`Calendar view must be one of ${_n.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Fa(e){if(!e)return;let t=e.trim().toLowerCase();if(!wn.includes(t)){let n=To(t,wn);throw new p(`Calendar format must be one of ${wn.join("|")}${n?`. Did you mean "${n}"?`:"."}`,f.USAGE)}return t}function Kf(e,t){let n=Fa(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"markdown"}function Ma(e,t){if(e===void 0)return;let n=F(e,t);if(!n){let r=t.definitions.map(i=>i.id);throw new p(`Calendar status filter must be one of ${r.join("|")}`,f.USAGE)}return n}function $a(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",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new p(`Invalid calendar assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function St(e){return new Date(e).toISOString().slice(0,10)}function Ro(e,t){if(!t||t==="UTC")return St(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 St(e)}function En(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),0,0,0,0)).toISOString()}function z(e,t){let n=new Date(e);return new Date(n.getTime()+t*24*60*60*1e3).toISOString()}function Ao(e){let t=new Date(En(e)),n=t.getUTCDay(),r=n===0?-6:1-n;return z(t.toISOString(),r)}function Oa(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),1,0,0,0,0)).toISOString()}function Na(e){let t=new Date(e);return new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+1,1,0,0,0,0)).toISOString()}function La(e,t){return S(e,t)>=0?e:t}function ko(e){return Object.fromEntries([...e.entries()].sort(([t],[n])=>t.localeCompare(n)))}function So(e,t){e.set(t,(e.get(t)??0)+1)}function Pa(e){if(!e)return null;let t=[`freq=${e.freq}`];if(e.interval!==void 0&&t.push(`interval=${e.interval}`),e.count!==void 0&&t.push(`count=${e.count}`),e.until&&t.push(`until=${e.until}`),e.by_weekday&&e.by_weekday.length>0){let n=[...e.by_weekday].sort((r,i)=>de(r)-de(i));t.push(`by_weekday=${n.join("|")}`)}if(e.by_month_day&&e.by_month_day.length>0){let n=[...e.by_month_day].sort((r,i)=>r-i);t.push(`by_month_day=${n.join("|")}`)}if(e.exdates&&e.exdates.length>0){let n=[...e.exdates].sort((r,i)=>r.localeCompare(i));t.push(`exdates=${n.join("|")}`)}return t.join(",")}function Do(e,t,n,r){let i=new Date(Date.UTC(e,t,n,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds()));if(!(i.getUTCFullYear()!==e||i.getUTCMonth()!==t||i.getUTCDate()!==n))return i.toISOString()}function Fo(e){return Ia[new Date(e).getUTCDay()]}function ja(e){let t=Date.parse(e);return Number.isFinite(t)?new Date(t).toISOString():null}function Ua(e){let t=new Set;for(let n of e??[]){let r=ja(n);r&&t.add(r)}return t}function Ba(e,t,n,r,i){let o=e??z(n,-(r??Ta)),s=t??z(e??n,i??xa);return{start:o,end:S(s,o)>0?s:z(o,1)}}function Ga(e,t,n,r){let i=t.by_weekday!==void 0?[...t.by_weekday]:[Fo(e)],o=t.by_month_day!==void 0?[...t.by_month_day]:[new Date(e).getUTCDate()];return{startAt:e,startDate:new Date(e),window:n,maxOccurrences:r??Ra,interval:t.interval??1,countLimit:t.count??Number.POSITIVE_INFINITY,until:t.until,excluded:Ua(t.exdates),weekdayFilter:t.by_weekday!==void 0?new Set(t.by_weekday):void 0,monthDayFilter:t.by_month_day!==void 0?new Set(t.by_month_day):void 0,sortedWeekdays:[...new Set(i)].sort((s,a)=>de(s)-de(a)),sortedMonthDays:[...new Set(o)].sort((s,a)=>s-a),occurrences:[],produced:0}}function Et(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 Ct(e,t){let n=Fo(t),r=new Date(t).getUTCDate(),i=!e.weekdayFilter||e.weekdayFilter.has(n),o=!e.monthDayFilter||e.monthDayFilter.has(r);return i&&o}function Ha(e){let t=e.startAt;for(let n=0;n<e.maxOccurrences&&!(Ct(e,t)&&Et(e,t)==="stop");n+=1)t=z(t,e.interval);return e.occurrences}function qa(e,t,n){let r=de(n),i=z(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 Wa(e){let t=Ao(e.startAt);for(let n=0;n<e.maxOccurrences;n+=1){let r=z(t,n*e.interval*7);for(let i of e.sortedWeekdays){let o=qa(e,r,i);if(Ct(e,o)&&Et(e,o)==="stop")return e.occurrences}}return e.occurrences}function za(e){let t=e.startDate.getUTCFullYear(),n=e.startDate.getUTCMonth();for(let r=0;r<e.maxOccurrences;r+=1){let i=new Date(Date.UTC(t,n+r*e.interval,1,0,0,0,0));for(let o of e.sortedMonthDays){let s=Do(i.getUTCFullYear(),i.getUTCMonth(),o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Ka(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=Do(i,n,o,e.startDate);if(!(!s||!Ct(e,s))&&Et(e,s)==="stop")return e.occurrences}}return e.occurrences}function Va(e,t,n,r){let i=Ga(e,t,n,r);return t.freq==="daily"?Ha(i):t.freq==="weekly"?Wa(i):t.freq==="monthly"?za(i):Ka(i)}function Mo(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 Cn(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 Xa(e){return e.deadline?{at:e.deadline,date:St(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,...Cn(e),item_deadline:e.deadline}:null}function Qa(e){return(e.reminders??[]).map(t=>({at:t.at,date:St(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,...Cn(e)}))}function Ya(e,t){if(!t)return null;let n=Date.parse(t)-Date.parse(e);return Number.isFinite(n)&&n>0?n:null}function Ja(e,t,n){return t.recurrence&&n!==null?new Date(new Date(e).getTime()+n).toISOString():t.end_at??null}function Za(e,t,n,r){let i=Pa(t.recurrence),o=Ya(t.start_at,t.end_at);return(t.recurrence?Va(t.start_at,t.recurrence,n,r):[t.start_at]).map(s=>({at:s,date:t.all_day===!0?s.slice(0,10):Ro(s,t.timezone),kind:"event",reminder_text:t.description??null,event_title:t.title??e.title,event_end:Ja(s,t,o),event_location:t.location??null,event_all_day:t.all_day??null,event_timezone:t.timezone??null,event_recurring:!!t.recurrence,event_recurrence_rule:i,...Cn(e)}))}function ec(e,t,n,r){let i=[];for(let o of e){let s=n.has("deadlines")?Xa(o):null;s&&i.push(s),n.has("reminders")&&i.push(...Qa(o));for(let a of n.has("events")?o.events??[]:[])i.push(...Za(o,a,t,r))}return Mo(i)}function tc(e,t,n,r,i){let o=Qi(t.type,n),s=t.tag?.trim().toLowerCase(),a=Xi(t.priority),d=Ma(t.status,r),c=t.assignee?.trim(),l=$a(t.assigneeFilter),u=t.sprint?.trim(),m=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.',f.USAGE);if(c!==void 0&&l==="unassigned")throw new p("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE);return e.filter(h=>nc(h,{typeFilter:o,tagFilter:s,priorityFilter:a,statusFilter:d,assigneeFilter:c,assigneeModeFilter:l,sprintFilter:u,releaseFilter:m,runtimeFieldFilters:i}))}function nc(e,t){return rc(e,t)&&ic(e,t)&&ht(e,t.runtimeFieldFilters)}function rc(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 ic(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 oc(e,t,n){return!(t&&S(e.at,t)<0||n&&S(e.at,n)>=0)}function vn(e,t,n){return e.trim().toLowerCase()==="today"?En(t):G(e,new Date(t),n)}function sc(e,t,n){let r=t.date?vn(t.date,n,"--date"):n,i=t.past===!0,o=t.fullPeriod===!0,s=t.from?vn(t.from,n,"--from"):void 0,a=t.to?vn(t.to,n,"--to"):void 0;if(s&&a&&S(s,a)>=0)throw new p("Calendar --from must be before --to",f.USAGE);if(e!=="agenda"&&(t.from!==void 0||t.to!==void 0))throw new p("--from and --to are only supported for --view agenda",f.USAGE);if(e==="agenda")return ac(r,t,n,i,o,s,a);if(e==="day"){let c=En(r);return kn(r,n,i,o,c,z(c,1))}if(e==="week"){let c=Ao(r);return kn(r,n,i,o,c,z(c,7))}let d=Oa(r);return kn(r,n,i,o,d,Na(r))}function ac(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.",f.USAGE);return{anchor:e,start:o??(t.date?e:r?void 0:n),end:s,fullPeriod:!1}}function kn(e,t,n,r,i,o){let s=n||r;return{anchor:e,start:s?i:La(i,t),end:o,periodStart:i,periodEnd:o,fullPeriod:s}}function cc(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:Mo(r)}))}function dc(e){let t=new Set,n=new Map,r=new Map,i=0,o=0,s=0,a=0;for(let d of e)t.add(d.item_id),So(n,d.item_type),So(r,d.item_status),d.kind==="deadline"?i+=1:d.kind==="reminder"?o+=1:(s+=1,d.event_recurring===!0&&(a+=1));return{events:e.length,items:t.size,deadlines:i,reminders:o,scheduled:s,by_kind:{deadline:i,reminder:o,event:s},by_type:ko(n),by_status:ko(r),recurring_events:a}}function lc(e){let t=e.start??"unbounded",n=e.end??"unbounded";return`${t} -> ${n}`}function $o(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 Sn(e){let t=Object.entries(e);return t.length===0?"empty":t.map(([n,r])=>`${n}=${r}`).join(", ")}function uc(e){return e.event_end?e.event_all_day===!0?e.event_end.slice(0,10):e.date===Ro(e.event_end,e.event_timezone)?$o(e.event_end,e.event_timezone):e.event_end:null}function mc(e){let t=`${$o(e.at,e.event_timezone)} [${e.kind}] ${e.item_id} type=${e.item_type} p${e.item_priority} ${e.item_status} ${e.item_title}`;if(e.kind==="reminder"){let n=e.reminder_text??"";return`${t} \u2014 ${n} reminder=${JSON.stringify(n)}`}if(e.kind==="event"){let n=[],r=e.event_title??e.item_title;e.event_title!==null&&e.event_title!==e.item_title&&(n.push(r),n.push(`title=${JSON.stringify(r)}`)),e.event_recurring&&(n.push("(recurring)"),n.push("recurring=true"));let i=uc(e);return i&&n.push(`end=${i}`),e.event_all_day!==null&&n.push(`all_day=${e.event_all_day?"true":"false"}`),e.event_timezone&&n.push(`timezone=${e.event_timezone}`),e.event_location&&(n.push(`@ ${e.event_location}`),n.push(`location=${JSON.stringify(e.event_location)}`)),e.event_recurrence_rule&&n.push(`recurrence=${e.event_recurrence_rule}`),e.reminder_text&&n.push(`description=${JSON.stringify(e.reminder_text)}`),`${t} \u2014 ${n.join(" ")}`}return t}function Eo(e,t){if(t&&t.length>0){e.push("### warnings");for(let n of t)e.push(`- ${n}`);e.push("")}}function Vf(e){let t=[];if(t.push(`# pm calendar (${e.view})`),t.push(""),t.push(`- now: ${e.now}`),t.push(`- window: ${lc(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(`- matching-events: ${e.total_count}; returned: ${e.count}; remaining: ${e.omitted_count} (summary: ${e.summary_scope})`),e.next_cursor&&t.push(`- continue: repeat the same query with --after ${e.next_cursor}`),t.push(`- by-kind: ${Sn(e.summary.by_kind)}`),t.push(`- by-type: ${Sn(e.summary.by_type)}`),t.push(`- by-status: ${Sn(e.summary.by_status)}`),t.push(`- recurring-events: ${e.summary.recurring_events}`),t.push(""),e.events.length===0)return t.push(e.total_count===0?"No calendar events matched the selected filters.":"No calendar events returned on this page. Repeat the same query with --limit 1 or greater to retrieve matching events."),t.push(""),Eo(t,e.warnings),Co(t.join(`
2
+ `));for(let n of e.days){t.push(`## ${n.date} (${n.count})`);for(let r of n.events)t.push(`- ${mc(r)}`);t.push("")}return Eo(t,e.warnings),Co(t.join(`
3
+ `))}function Xf(e){return Ca(e)}function Co(e){let t=e.length;for(;t>0&&e[t-1]===`
4
+ `;)t-=1;return e.slice(0,t)}function fc(e){let t=kt("calendar",e.after),n=Da(e.view),r=sc(n,e,t),i=H(e.limit),o=Aa(e.include),s=bn(e.recurrenceLookaheadDays,"Calendar recurrence lookahead days"),a=bn(e.recurrenceLookbackDays,"Calendar recurrence lookback days"),d=bn(e.occurrenceLimit,"Calendar occurrence limit");if(d!==void 0&&d<1)throw new p("Calendar occurrence limit must be >= 1",f.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?xo:s,recurrenceLookbackWindowDays:u&&a===void 0?0:a,eventsOnlyCapApplied:u}}function pc(e,t){t&&e.push(`recurring_events_default_cap_applied:lookback=0d,lookahead=${xo}d -- use --recurrence-lookback-days/--recurrence-lookahead-days or --to for wider range`)}function Io(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 hc(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 Oo(e,t){let n=T(process.cwd(),t.path);await U(n);let r=fc(e),i=await A(n),o=N(i.schema),s=Y(i.schema),a=pt(e,s,"calendar"),d=R(i,E()),c=[];pc(c,r.eventsOnlyCapApplied);let l=await he(n,i.item_format,d.type_to_folder,c,i.schema),u=tc(l,e,d,o,a),m=Ba(r.rangeBounds.start,r.rangeBounds.end,r.nowValue,r.recurrenceLookbackWindowDays,r.recurrenceLookaheadDays),h=ec(u,m,r.includeSources,r.occurrenceLimit).filter(I=>oc(I,r.rangeBounds.start,r.rangeBounds.end)),{rows:g,...y}=$e(h,{command:"calendar",after:e.after,clock:r.nowValue,limit:r.limit,query:{pmRoot:n,view:r.view,range:r.rangeBounds,filters:{...Io(e,a),limit:void 0},recurringWindow:m,occurrenceLimit:r.occurrenceLimit}}),_=cc(g),w=[...new Set(c)].sort((I,b)=>I.localeCompare(b));return{view:r.view,output_default:"markdown",now:r.nowValue,anchor:r.rangeBounds.anchor,range:hc(e,r.rangeBounds),filters:Io(e,a),...y,summary_scope:"returned_rows",summary:dc(g),events:g,days:_,...w.length>0?{warnings:w}:{}}}import yc from"node:fs/promises";import Po from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e0c4f91-ea56-5bec-b071-448eff719fec")}catch{}})();var In={version:1,aliases:{}};function It(e=[]){let t=new Set(xe),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 No(e){if(e===void 0)return;let t=(typeof e=="string"?[e]:e).flatMap(n=>n.split(",")).map(n=>n.trim()).filter(n=>n.length>0);return t.length===0?void 0:new Set(t)}function xn(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 gc(e,t=xe){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()}".`,f.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(", ")}.`,f.USAGE,{code:"unknown_provenance_dimension"});if(d.length===0)throw new p(`Provenance predicate must use dimension=value; received "${o.trim()}".`,f.USAGE,{code:"invalid_provenance_predicate"});let c=r.get(a)??new Set;c.add(d),r.set(a,c)}return r}function xt(e,t=In,n={}){let r=xn(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 Tt(e,t=In,n=xe){let r=No(e.harness),i=No(e.agentInstance),o=gc(e,n);return s=>{let a=xn(s,t).agent_harness;if(r&&(!a||!r.has(a))||i&&!i.has(s.agent_instance??""))return!1;for(let[d,c]of o){let l=s.agent_provenance?.[d];if(!l||!c.has(l.value))return!1}return!0}}function Rt(e,t=In,n=xe){let r=new Set(n),i=new Map,o=0;for(let s of e){for(let a of Object.keys(s.agent_provenance??{}))r.add(a);xn(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]="aa1ede64-e578-57da-9194-1cd646cee915")}catch{}})();var _c=20,wc=5,bc=15,vc="-24h";function up(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 kc={digest:"activity_digest",compact:"compact_activity",provenance:"provenance_activity",full:"activity"};function Tn(e,t){if(e===void 0)return;let n=e.trim();if(n.length===0)throw new p(`${t} must not be empty`,f.USAGE);return n}function Lo(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",f.USAGE);let i=n==="--from"&&/^\d+[hdwm]$/iu.test(r)?`-${r}`:r;return G(i,new Date(t),n)}function Sc(e,t,n){return!(e.ts.length===0&&(t||n)||t&&S(e.ts,t)<0||n&&S(e.ts,n)>=0)}function Oe(e,t=""){return typeof e=="string"?e:t}function Ec(e,t){return{...t,id:e,ts:Oe(t.ts),author:Oe(t.author,"unknown"),op:Oe(t.op,"unknown"),patch:Array.isArray(t.patch)?t.patch:[],before_hash:Oe(t.before_hash),after_hash:Oe(t.after_hash)}}function Cc(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 Ic(e){try{return(await yc.readdir(e)).filter(t=>t.endsWith(".jsonl")).sort((t,n)=>t.localeCompare(n))}catch(t){if(Wr(t))return[];throw t}}function xc(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 Tc(e,t,n){if(e.unbounded!==!0)return t!==void 0?t:n==="digest"?bc:n==="compact"?_c:wc}function Rc(e,t,n){let r=t==="digest",i=Lo(e.to??(r||e.unbounded!==!0?n:void 0),n,"--to"),o=Lo(e.from??(r?vc: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",f.USAGE);let s=pe(e.limit);if(e.unbounded===!0&&s!==void 0)throw new p("Activity --unbounded cannot be combined with --limit",f.USAGE);return{id:Tn(e.id,"Activity --id"),op:Tn(e.op,"Activity --op"),author:Tn(e.author,"Activity --author"),from:o,to:i,limit:Tc(e,s,t),limitSource:e.unbounded===!0||s!==void 0?"explicit":"default",harness:e.harness,agentInstance:e.agentInstance,provenance:e.provenanceFilter}}async function Ac(e){let t=T(process.cwd(),e.path);return await U(t),{pmRoot:t,settings:await A(t)}}async function Dc(e){let t=R(e.settings,E()),n=await he(e.pmRoot,e.settings.item_format,t.type_to_folder,void 0,e.settings.schema);await Di({pmRoot:e.pmRoot,settings:e.settings,itemIds:n.map(i=>i.id),commandLabel:"activity"});let r=Po.join(e.pmRoot,"history");return await Ie({path:r,scope:"project"}),{historyDir:r,itemsById:new Map(n.map(i=>[i.id,{title:i.title,type:i.type,status:i.status}]))}}function Fc(e,t,n){return n.op&&e.op!==n.op||n.author&&e.author!==n.author?!1:Sc(t,n.from,n.to)}async function Mc(e,t){let n=[];for(let r of await Ic(e)){let i=r.slice(0,-6);if(t.id&&i!==t.id)continue;let o=await te(Po.join(e,r),i);for(let s of o){let a=Ec(i,s);Fc(s,a,t)&&n.push(a)}}return n}function $c(e){return e.map(t=>({id:t.id,op:t.op,ts:t.ts,author:t.author,...t.message?{msg:t.message}:{}}))}function Oc(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 Nc(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:Oc(i.operations)}}).sort((r,i)=>S(i.last_ts,r.last_ts)||r.id.localeCompare(i.id))}function Lc(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{rows:a,...d}=$e(Nc(t,r),n);return{rows:{activity_digest:a},compact:!1,page:d}}let{rows:o,...s}=$e(t,n);return e==="compact"?{rows:{compact_activity:$c(o)},compact:!0,page:s}:e==="provenance"?{rows:{provenance_activity:o.map(i)},compact:!1,page:s}:{rows:{activity:o},compact:!1,page:s}}async function jo(e,t){let n=await Ac(t),r=xc(e),i=kt("activity",e.after),o=Rc(e,r,i),s=await Dc(n),a=It(n.settings.agent_identity.harness_signals),d=n.settings.agent_identity.identity_vocabulary,c=Tt({harness:o.harness,agentInstance:o.agentInstance,provenance:o.provenance},d,a),l=Cc(await Mc(s.historyDir,o)).filter(c),u=Pc(r,l,{command:"activity",after:e.after,clock:i,limit:o.limit,query:{pmRoot:n.pmRoot,projectionMode:r,filters:{...o,limit:void 0,limitSource:void 0},matching_activity_digest:r==="digest"?yn(l):void 0,vocabulary:d,provenanceDimensions:a}},s.itemsById,m=>xt(m,d,{itemId:m.id}));return{...u.rows,compact:u.compact,projection:{mode:r,row_key:kc[r]},omission_receipt:ot("activity",r),...u.page,window:{anchor:i,from:o.from??null,to:o.to??null},limit:o.limit??null,...r==="digest"?{activity_summary:{window:{from:o.from,to:o.to},event_count:l.length,item_count:u.page.total_count,author_count:new Set(l.map(m=>m.author)).size,operation_counts:Lc(l)}}:{},...e.provenanceSummary===!0?{provenance_summary:Rt(l,d,a)}:{},applied_bound:{kind:o.limit===void 0?"unbounded":"limit",source:o.limitSource,value:o.limit??null}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9cdfc765-7370-57bb-a4dc-be2df8aa1e6f")}catch{}})();var Uo="1970-01-01T00:00:00.000Z";function Ne(e){if(typeof e!="string")return null;let t=e.trim();if(!fi(t)&&!/^\d{4}-\d{2}-\d{2}$/u.test(t))return null;try{return G(t,new Date(Number.NaN),"context signal recency coordinate")}catch{return null}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74b476d9-5f30-5135-9539-5fe3e864c60f")}catch{}})();var Rn=["structural","recency","activity_density","graph_proximity","claim_focus","priority_pressure","risk_pressure","deadline_pressure","knowledge_density","author_affinity","usage_affinity","semantic_similarity"],jc=Symbol("no-context-author"),Uc=Symbol("no-item-assignee");function Bo(e,t){if(typeof e!="string")return t;let n=e.trim().toLowerCase();return n.length>0?n:t}function Bc(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 Gc(e){let t=Bc(e.release);return t!==void 0?{source:"release_cohort",coordinate:t}:{source:"created_at",coordinate:Ne(e.created_at)??Uo}}function Hc(e){if(!["substantive_history","release_cohort","created_at"].includes(e.source)||(e.source==="substantive_history"?e.history_op!==void 0&&typeof e.history_op!="string"||e.event_class!==void 0&&e.event_class!=="substantive":e.history_op!==void 0||e.event_class!==void 0))throw new TypeError("Context signal recency provenance must match its source");let t=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 qc(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 Wc(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 zc(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 At(e,t,n){return e?.[t]??n}function Dt(e,t){let n=new Map(e.map(c=>{let l=t.recencyEvidence?.[c.id];return[c.id,l===void 0?Gc(c):Hc(l)]})),r=[...e].sort((c,l)=>{let u=n.get(c.id).coordinate,m=n.get(l.id).coordinate;return S(m,u)||c.id.localeCompare(l.id)}),i=new Map(r.map((c,l)=>[c.id,l])),o=Math.max(e.length-1,1),s=Bo(t.author,jc),a=F("in_progress",t.statusRegistry),d=Date.parse(t.now);return e.map(c=>{let l=Bo(c.assignee,Uc)===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:At(t.graphProximity,c.id,c.parent?.3:0),claim_focus:At(t.claimFocus,c.id,C(c.status,t.statusRegistry)===a?1:l?.75:0),priority_pressure:qc(c.priority,4),risk_pressure:zc(c.risk),deadline_pressure:Wc(c.deadline,d),knowledge_density:At(t.knowledgeDensity,c.id,Math.min(u/5,1)),author_affinity:At(t.authorAffinity,c.id,l?1:0),usage_affinity:t.usageAffinity?.[c.id],semantic_similarity:t.semanticSimilarity?.[c.id]}}})}var Kc="context_relevance",Vc={structural:.4,recency:.35,activity_density:.25,graph_proximity:.15,claim_focus:.6,priority_pressure:.35,risk_pressure:.2,deadline_pressure:.45,knowledge_density:.25,author_affinity:.2,usage_affinity:.3,semantic_similarity:.5},Xc=new TextEncoder;function Qc(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"||!Rn.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 Yc(e){let t={...Vc};for(let[n,r]of Object.entries(e??{}))r!==void 0&&Rn.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 Ho(e,t={}){Qc(e);let n=Yc(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=Rn.filter(a=>i.has(a)),s=e.map((a,d)=>{let c={structural:e.length===1?1:1-d/r,...a.signals},l={},u=0,m=0;for(let h of o){let g=c[h];if(g===void 0)continue;let y=g*n[h];l[h]=y,u+=y,m+=n[h]}return{...a,baseline_rank:d+1,rank:0,score:m===0?0:u/m,contributions:l}});return s.sort((a,d)=>d.score-a.score||a.baseline_rank-d.baseline_rank),s.forEach((a,d)=>{a.rank=d+1}),{model:"default-weighted-v1",available_signals:o,ranked:s}}async function Jc(e,t={}){let n=Ho(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 Ft(e,t,n={}){let r=Ho(t,n),i=await ti(Kc,{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 Jc(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 Zc=["ndcg","reciprocal_rank","required_recall","continuity_coverage","token_budget_adherence"];function Go(e,t){return e.length===0?1:e.filter(n=>t.has(n)).length/e.length}function ed(e){if(!Number.isFinite(e.actual_tokens)||e.actual_tokens<0||!Number.isFinite(e.token_budget)||e.token_budget<=0)throw new TypeError("Context ranking token counts require actual_tokens >= 0 and token_budget > 0");let t=e.judgments??{},n=e.ranked_ids.map(c=>Math.max(0,t[c]??0)),r=Object.values(t).map(c=>Math.max(0,c)).sort((c,l)=>l-c).slice(0,n.length||1),i=c=>c.reduce((l,u,m)=>l+(2**u-1)/Math.log2(m+2),0),o=i(r),s=n.findIndex(c=>c>0),a=new Set(e.ranked_ids),d=e.actual_tokens<=e.token_budget;return{ndcg:o===0?1:i(n)/o,reciprocal_rank:s<0?0:1/(s+1),required_recall:Go(e.required_ids??[],a),continuity_coverage:Go(e.continuity_ids??[],a),token_budget_adherence:d?1:e.token_budget/e.actual_tokens,within_token_budget:d}}function td(e){return Math.ceil(Xc.encode(JSON.stringify(e)).byteLength/4)}function nd(e){return Math.round(e*1e4)/1e4}function rd(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 id(e,t){if(e.id.trim().length===0||e.rationale.trim().length===0)throw new TypeError("Context evaluation scenarios require non-empty id and rationale values");let n=e.surface==="context"?await t.context({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"}):await t.next({...e.options,explainRanking:!0,outputBudget:e.options?.outputBudget??"unbounded"});if(ai(n)||n.read_output?.result_omitted===!0||n.context_intent?.result_omitted===!0)throw new p(`Cannot evaluate ${e.surface} scenario "${e.id}": the read omitted its useful result.`,f.USAGE,{code:"context_evaluation_read_incomplete",nextSteps:["Increase the read output budget or start a new shared output session, then rerun the scenario."]});let{rankedIds:r,attribution:i}=rd(n,e.surface),o={...n,ranking:void 0},s=td(o);return{id:e.id,surface:e.surface,rationale:e.rationale,ranked_ids:r,actual_tokens:s,metrics:ed({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 od(e,t){if(e.length===0)throw new TypeError("Context evaluation requires at least one scenario report");let n=Zc;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,nd(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 kp(e,t,n){let r=[];for(let i of e)r.push(await id(i,t));return od(r,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d07ec2dc-762a-58ab-83ee-734ca1bf76a7")}catch{}})();var sd={balanced:{redundancyPenalty:.35,uncertaintyPenalty:.2},context:{redundancyPenalty:.45,uncertaintyPenalty:.15},next:{redundancyPenalty:.25,uncertaintyPenalty:.3}},ad=["identity","summary","full"];function cd(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=ad.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 dd(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=sd[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 ld(e){let t=new Set;for(let n of e){if(cd(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 ud(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 md(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=ud(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 fd(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 qo(e,t){let n=dd(t),r=ld(e),i=t.readClock??performance.now.bind(performance),o=t.latencyBudgetMs===void 0?Number.POSITIVE_INFINITY:i()+t.latencyBudgetMs,s=md({ordered:r,tokenBudget:t.tokenBudget,redundancyPenalty:n.redundancy,uncertaintyPenalty:n.uncertainty,deadline:o,readClock:i}),{included:a}=s,d=fd(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 Le from"node:fs/promises";import Pe from"node:path";import{createHash as Wo,randomUUID as pd}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]="179e487f-baf9-59d1-a438-3ae0c12b00eb")}catch{}})();var An=3,Dn=2,zo=["recency","activity_density","graph_proximity","priority_pressure","risk_pressure","knowledge_density"],hd=new Set(["substantive_history","release_cohort","created_at"]),gd={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 ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Ko(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0&&e<=1}function yd(e){let t={};for(let n of zo){let r=e[n];if(r!==void 0){if(!Ko(r))throw new TypeError(`Context relevance signal ${n} must be a finite number from 0 to 1`);t[n]=r}}return t}function _d(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 wd(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 Vo(e,t){return{...t,activityDensity:t.activityDensity??_d(e,n=>(n.comments?.length??0)+(n.notes?.length??0)+(n.learnings?.length??0)+(n.test_runs?.length??0)),graphProximity:t.graphProximity??wd(e)}}function $n(e){let t=Wo("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 bd(e){if(!ge(e))return null;let t=e.signal_provenance;if(![typeof e.id=="string",ge(e.signals),ge(t)].every(Boolean))return null;let n=t.recency;if(!ge(n))return null;let r=Ne(n.coordinate);if(r===null)return null;let i=new Set(zo),o=Object.entries(e.signals);return!o.every(([s,a])=>i.has(s)&&Ko(a))||![typeof n.source=="string"&&hd.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 vd(e,t){let n=Array.from(e,bd);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!==$n(r)?null:r.sort((i,o)=>i.id.localeCompare(o.id))}function kd(e){if(!ge(e)||e.format_version!==An||e.signal_set_version!==Dn||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=vd(e.items,e.recency_evidence_fingerprint);return t===null?null:{format_version:An,signal_set_version:Dn,source_cursor:e.source_cursor,recency_evidence_fingerprint:e.recency_evidence_fingerprint,generated_at:e.generated_at,source:e.source,items:t}}function Xo(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 Qo(e,t,n=$n(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:yd(s),signal_provenance:a})).sort((o,s)=>o.id.localeCompare(s.id));return Object.freeze({format_version:An,signal_set_version:Dn,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 Mp(e,t){return Xo(t),Qo(Dt(e,Vo(e,t)),t)}var Fn=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 Le.readFile(this.filePath,"utf8"))}catch(t){if(ge(t)&&tt(t))return null;throw t}}async write(t){let n=Pe.dirname(this.filePath);await Le.mkdir(n,{recursive:!0});let r=Pe.join(n,`.${Pe.basename(this.filePath)}.${pd()}.tmp`);try{await Le.writeFile(r,`${JSON.stringify(t)}
5
+ `,{encoding:"utf8",flag:"wx"}),await Le.rename(r,this.filePath)}finally{try{await Le.rm(r,{force:!0})}catch{}}}},Mn=class{adapter;constructor(t){this.adapter=t}async readOrRebuild(t,n){Xo(n);let r=[],i=null;try{let m=await this.adapter.read();i=kd(m),m!==null&&i===null&&r.push("context_signal_store_invalid")}catch{r.push("context_signal_store_invalid")}let o=t.map(m=>m.id).sort((m,h)=>m.localeCompare(h)),s=i?.items.map(m=>m.id)??[],a=Dt(t,Vo(t,n)),d=$n(a),c=i!==null&&i.source_cursor===n.sourceCursor&&i.recency_evidence_fingerprint===d&&i.source===n.source&&s.length===o.length&&s.every((m,h)=>m===o[h]),l;if(c&&i!==null)l=i;else{l=Qo(a,n,d);try{await this.adapter.write(l)}catch{r.push("context_signal_store_write_failed")}}let u=new Map(l.items.map(m=>[m.id,m]));return{snapshot:l,candidates:a.map(m=>({...m,signals:{...m.signals,...u.get(m.id)?.signals},signal_provenance:u.get(m.id).signal_provenance})),cache_status:c?"fresh":"rebuilt",warnings:r,warning_details:r.map(m=>gd[m])}}};function Sd(e){let t=Wo("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 gt(t.pmRoot),o=t.sourceCursor??i?.source_cursor??Sd(e),s=t.source??(i===null?"scan_fallback":"derived_index"),a=new Mn(new Fn(Pe.join(t.pmRoot,"runtime",t.storeKey?`context-signals-${t.storeKey}.json`:"context-signals.json"))),d=t.recencyEvidence??Object.fromEntries(Object.entries(await xi(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 Ed from"node:path";import{createHash as Cd}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61e27cd0-a444-5b66-a8e3-d81c76e4f8ae")}catch{}})();function Yo(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 Id from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df753f1d-cfc1-555e-a411-e1417eab0b53")}catch{}})();var Jo=1,xd=1e4,Zo=12;function Td(e){let t=new Date(e);return`${t.getUTCFullYear()}-Q${Math.floor(t.getUTCMonth()/3)+1}`}function Rd(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 Ad(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 Dd(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(C(o.status,t.statusRegistry))).map(o=>{let s=Yo(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=Td(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=Rd(s,r);if(u){let m=`epic:${u.id}`,h=i.get(m)??{kind:"epic",key:u.id,label:u.title,items:[]};h.items.push(o),i.set(m,h)}}return{format_version:Jo,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(Ad).sort((o,s)=>s.last_closed_at.localeCompare(o.last_closed_at)||o.kind.localeCompare(s.kind)||o.key.localeCompare(s.key))}}function Fd(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 Md(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(Fd)&&Array.isArray(t.outcomes)&&t.outcomes.every(i=>typeof i=="string")&&Number.isSafeInteger(t.knowledge_entries)&&t.knowledge_entries>=0}function $d(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=e;return t.format_version!==Jo||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(Md)?t:null}function Od(e){return`scan:${Cd("sha256").update(it(e.map(t=>[t.id,t.updated_at,t.status,t.parent]).sort(([t],[n])=>String(t).localeCompare(String(n))))).digest("hex")}`}async function Nd(e,t,n){return n!==void 0?n:(await gt(t))?.source_cursor??Od(e)}async function Ld(e){try{let t=$d(JSON.parse(await Id.readFile(e,"utf8")));return{snapshot:t,invalid:t===null}}catch(t){return{snapshot:null,invalid:!(typeof t=="object"&&t!==null&&"code"in t&&tt(t))}}}async function $t(e,t){let n=Math.max(1,Math.floor(t.minimumItems??xd));if(e.length<n)return{snapshot:null,cache_status:"skipped",warnings:[]};let r=await Nd(e,t.pmRoot,t.sourceCursor),i=Ed.join(t.pmRoot,"runtime","workspace-memory.json"),o=[],s=await Ld(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=Dd(e,{statusRegistry:t.statusRegistry,sourceCursor:r,now:t.now});try{await zr(i,`${JSON.stringify(d)}
6
+ `)}catch{o.push("workspace_memory_write_failed")}return{snapshot:d,cache_status:"rebuilt",warnings:o}}function Pd(e,t,n=Zo){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 es(e,t,n=Zo){if(e.snapshot===null)return;let r=Pd(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 jd(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 ts(e,t,n=5){let r=jd(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]="2355a6b7-2a17-586c-8dd3-182980a708d0")}catch{}})();var Ud=["markdown","toon","json","ndjson"],Lt=new Set(["Epic","Feature"]),Nn=10,ss=1e4,as=["hierarchy","activity","progress","recently_created","unparented","workload"],Bd=[...as,"blockers","files","staleness","tests"],Gd=/^(\d{4})-(\d{2})-(\d{2})/,Hd=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/,qd=/^(\d{4})(\d{2})(\d{2})$/,Wd=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?(Z|[+-]\d{2}:?\d{2})?$/i;function zd(e){if(!e)return;let t=e.trim().toLowerCase();if(!Ud.includes(t))throw new p("Context format must be one of markdown|toon|json|ndjson",f.USAGE);return t}var ns=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 Kd(e){if(e===void 0)return;let t=[];for(let n of e.split(",")){let r=n.trim().toLowerCase();if(r.length!==0){if(!ns.has(r))throw new p(`Context --fields value not projectable: ${r} (valid: ${[...ns].join(", ")})`,f.USAGE);t.includes(r)||t.push(r)}}if(t.length===0)throw new p("Context --fields requires at least one field name",f.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 uh(e,t){let n=zd(e.format);if(t.json&&n&&n!=="json"&&n!=="ndjson")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?n==="ndjson"?"ndjson":"json":n??"toon"}function Vd(e,t){return H(e,"--limit")??(t==="full"?Number.MAX_SAFE_INTEGER:Nn)}function Ln(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",f.USAGE);return n}function Xd(e,t){return t>=ss&&e===Number.MAX_SAFE_INTEGER?Nn:e}function Qd(e,t){if(!e)return t.default_depth;let n=e.trim().toLowerCase();if(!nn.includes(n))throw new p(`Context --depth must be one of ${nn.join("|")}`,f.USAGE);return n}function Yd(e,t,n){if(e&&e.length>0){let r=[];for(let i of e){let o=i.trim().toLowerCase();if(!et.includes(o))throw new p(`Context --section must be one of ${et.join("|")}`,f.USAGE);r.includes(o)||r.push(o)}return r}return t==="brief"?[]:t==="full"?[...et]:(t==="deep"?Bd:as).filter(r=>n.sections[r])}function Jd(e,t){return e?H(e,"--activity-limit")??t.activity_limit:t.activity_limit}function Zd(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)",f.USAGE);let i=parseInt(r[1],10);if(i<=0)throw new p("--stale-threshold must be positive",f.USAGE);return i}function rs(e,t){let n=C(e,t),r=F("blocked",t),i=F("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 Ue(e,t){let n=F("closed",t);return C(e,t)===n}function Pn(e,t){return C(e,t)===t.in_progress_status}function cs(e,t){let n=C(e,t);return n!==t.in_progress_status&&t.active_statuses.has(n)}function el(e,t){return t.blocked_statuses.has(C(e,t))}var tl=["compact","brief","fields","includeBody","include_body","parent"];function nl(e){let t={...e};for(let n of tl)delete t[n];return t}function jn(e,t){let n=t.trim().toLowerCase(),r=e.find(s=>s.id.trim().toLowerCase()===n);if(!r)return{ids:new Set,found:!1};let i=ye(e),o=Be(r.id,i);return{ids:new Set([r.id,...o.map(s=>s.id)].map(s=>s.trim().toLowerCase())),found:!0}}function rl(e){if(e===void 0)return;let t=e.trim();if(t.length===0)throw new p("Context --parent requires an item id",f.USAGE);return t}function il(e,t){let n=e??null,r=t??null;return n===null&&r===null?0:n===null?1:r===null?-1:n-r}function ol(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 sl(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function al(e){let t=Gd.exec(e)??Hd.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<=sl(n,r-1)}function cl(e){let t=qd.exec(e);if(t)return`${t[1]}-${t[2]}-${t[3]}`;let n=Wd.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 ds(e){if(typeof e!="string")return Number.NaN;let t=e.trim();if(t.length===0||!al(t))return Number.NaN;let n=Date.parse(cl(t));return Number.isFinite(n)?n:Number.NaN}function On(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString():""}function dl(e){let t=ds(e);return Number.isFinite(t)?new Date(t).toISOString().slice(0,10):"unknown"}function Un(e){if(typeof e!="string")return null;let t=e.trim();return t.length>0?t:null}function ie(e,t,n){let r=rs(e.status,n)-rs(t.status,n);if(r!==0)return r;let i=e.priority-t.priority;if(i!==0)return i;let o=il(e.order,t.order);if(o!==0)return o;let s=ol(e.deadline,t.deadline);if(s!==0)return s;let a=S(On(t.updated_at),On(e.updated_at)),d=e.id.localeCompare(t.id);return a!==0?a:d}function Ot(e){return Math.max(1,Math.ceil(Buffer.byteLength(JSON.stringify(e),"utf8")/4))}function Bn(e,t,n=new Set,r="context"){return qo(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:Ot({id:i.id,title:i.item.title}),summary:Ot({id:i.id,title:i.item.title,type:i.item.type,status:i.item.status,priority:i.item.priority,parent:i.item.parent}),full:Ot(i.item)}})),{tokenBudget:t,profile:r,latencyBudgetMs:25})}function Gn(e){return{...e,included:e.included.map(t=>({id:t.id,projection:t.projection,tokens:t.tokens}))}}function Hn(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 Nt(e,t){return t>0?Math.round(e*100/t):0}function ye(e){let t=new Map;for(let n of e){let r=Un(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:Un(e.parent)};if(t&&n){let i=Be(e.id,n),o=i.length;if(o>0){let s=i.filter(a=>Ue(a.status,t)).length;r.children_total=o,r.children_closed=s,r.completion_pct=Nt(s,o)}}return r}function ll(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 Pt(...e){return[...new Set(e.flatMap(t=>t??[]))].sort((t,n)=>t.localeCompare(n))}function ul(e,t){return e.filter(n=>!t.terminal_statuses.has(C(n.item_status,t)))}function ml(e,t,n,r){let i=new Map;for(let d of e)i.set(d.id,d);let o=ye(e),s=new Set(t.filter(d=>Lt.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)??[],m=0,h=0,g=0,y=0;for(let w of l)Ue(w.status,n)?m++:Pn(w.status,n)?g++:el(w.status,n)?y++:cs(w.status,n)&&h++;let _=u.sort((w,I)=>ie(w,I,n)).slice(0,r).map(w=>{let I=Be(w.id,o),b=I.filter(k=>Ue(k.status,n)).length;return{id:w.id,title:w.title,type:w.type,status:w.status,children_total:I.length,children_closed:b}});a.push({id:c.id,title:c.title,type:c.type,status:c.status,children_total:l.length,children_closed:m,children_open:h,children_in_progress:g,children_blocked:y,children:_})}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 fl(e,t){return(await jo({compact:!0,limit:String(e)},t)).compact_activity??[]}function pl(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=>Lt.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,m=0,h=0,g=0;for(let y of c)Ue(y.status,r)?u++:n.has(y.id.trim().toLowerCase())?g++:Pn(y.status,r)?h++:cs(y.status,r)&&m++;a.push({id:d.id,title:d.title,type:d.type,total:l,closed:u,open:m,in_progress:h,blocked:g,completion_pct:Nt(u,l)})}return a.sort((d,c)=>d.completion_pct-c.completion_pct).slice(0,i)}function hl(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=Ae(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 yl(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=>Pn(s.status,t)).length,items:o.map(s=>s.id).sort()})).sort((i,o)=>o.active-i.active).slice(0,n)}function _l(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 wl(e,t,n,r){return e.map(i=>({item:i,sortKey:On(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 bl(e,t,n,r){return e.filter(i=>!Un(i.parent)&&!Lt.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{scope:"matching_active_items",total_items:e.length,items_with_tests:t,items_with_recent_runs:n,recent_runs:{passed:r,failed:i,skipped:o},items_failing:s.sort()}}function is(e){return`${new Date(e).toISOString().slice(11,16)}Z`}function ls(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 kl(e,t){let n=e;return t.map(r=>{let i=n[r];return Array.isArray(i)?`${r}:${i.join(",")}`:`${r}:${i??"-"}`}).join(" ")}function Sl(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`${is(e.at)} [${e.kind}] ${e.item_id} (see focus item)${n}`}let t=`${is(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 os(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 El(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 Cl(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(`- ${Sl(n)}`);e.push("")}function Il(e,t){if(!(!t.hierarchy||t.hierarchy.length===0)){e.push("## Hierarchy");for(let n of t.hierarchy){let r=Nt(n.children_closed,n.children_total);e.push(`- ${n.id} ${n.type} ${n.status} "${n.title}" [${n.children_closed}/${n.children_total} done ${r}%]`);for(let i of n.children){let o=Nt(i.children_closed,i.children_total);e.push(` - ${i.id} ${i.type} ${i.status} "${i.title}" [${i.children_closed}/${i.children_total} done ${o}%]`)}}e.push("")}}function xl(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 Tl(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)}`:`- ${dl(i.created_at)} ${ls(i)}`);e.push("")}}function Rl(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 Al(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 Dl(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 Fl(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 Ml(e,t){if(!(!t.workload||t.workload.length===0)){e.push("## Workload");for(let n of t.workload){let r=n.assignee??"(unassigned)";e.push(`- ${r} active:${n.active} wip:${n.in_progress} items:[${n.items.join(",")}]`)}e.push("")}}function $l(e,t){if(!(!t.staleness||t.staleness.length===0)){e.push("## Stale items");for(let n of t.staleness)e.push(`- ${n.id} ${n.status} stale:${n.stale_days}d last:${n.updated_at.slice(0,10)} "${n.title}"`);e.push("")}}function Ol(e,t,n){let r=[],i=0;for(let o of e.items_failing){if(r.length>=t)break;let s=Ot(o);if(i+s>n)break;r.push(o),i+=s}return r}function Nl(e,t){if(!t.tests)return;e.push("## Test health"),e.push(`- ${t.tests.scope}: ${t.tests.total_items}`),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}`);let n=Ol(t.tests,t.applied_limit??Nn,t.filters.token_budget);n.length>0&&e.push(`- items_failing: [${n.join(",")}]`);let r=t.tests.items_failing.length-n.length;r>0&&e.push(`- items_failing_omitted: ${r}`),e.push("")}function Ll(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 mh(e){let t=[],n=e.focus_fields,r=o=>n?kl(o,n):ls(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(""),os(t,"High-level focus",e.high_level,"No high-level active items.",r),os(t,"Low-level focus",e.low_level,"No low-level active items.",r),El(t,e,r),Cl(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 Il(t,e),xl(t,e),Tl(t,e,n,r),Rl(t,e,r),Al(t,e),Dl(t,e),Fl(t,e),Ml(t,e),$l(t,e),Nl(t,e),Ll(t,e),t.join(`
7
+ `)}async function Pl(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=r.context??Hr.context,o=N(r.schema),s=Qd(e.depth,i),a=Vd(e.limit??e.maxItems,s);return{settings:r,contextSettings:i,statusRegistry:o,depth:s,limit:a,sectionsIncluded:Yd(e.section,s,i),activityLimit:Jd(e.activityLimit,i),staleThresholdDays:Zd(e.staleThreshold,i),parentScope:rl(e.parent),focusFields:Kd(e.fields),baseListOptions:nl(e)}}function jl(e){return e.some(t=>["hierarchy","progress","blockers","staleness","recently_created","unparented"].includes(t))}function Ul(e,t){return{...e,...t,noTruncate:!0,limit:void 0,offset:void 0,after:void 0}}async function Bl(e,t){let n=await q(void 0,Ul(t.baseListOptions,{excludeTerminal:!1}),e),r=n.items,i=r.filter(a=>!J(a.status,t.statusRegistry)),o=r,s=Gl(t.parentScope,r);return s&&(i=i.filter(a=>s.has(a.id.trim().toLowerCase())),o=o.filter(a=>s.has(a.id.trim().toLowerCase()))),{listed:n,listedItemMetadata:i,allItems:o,fullCorpus:r,subtreeIds:s}}function Gl(e,t){if(e===void 0)return;let n=jn(t,e);if(!n.found)throw new p(`Context --parent item not found: ${e}`,f.NOT_FOUND);return n.ids}function Hl(e,t,n,r){let i=new Set(vt(e,t,n,r).containers.map(o=>o.item.id));return new Set(e.filter(o=>Lt.has(o.type)||i.has(o.id)||Te(o.type,r)!=="agent").map(o=>o.id))}async function ql(e,t,n,r,i,o,s,a,d,c,l,u,m,h,g,y){let _=[...e].sort((v,Ee)=>ie(v,Ee,i)),w=await ut({pmRoot:m,author:d,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),I=await Mt(_,{pmRoot:m,storeKey:"context",statusRegistry:i,now:a,author:d,usageAffinity:w.affinity,claimFocus:g}),b=await Ft("context",I.candidates),k=b.ranked.map(v=>v.item),B=i.active_statuses,M=k.filter(v=>B.has(C(v.status,i))),se=u?mi(M,c,l,v=>v.id):0,L=u?M.slice(se,se+s):M,ae=u&&L.length>0&&se+L.length<M.length,Ye=ae&&L.length>0?ci(l,L[L.length-1].id,se+L.length-1):void 0,Zt=k.filter(v=>r.has(v.id.trim().toLowerCase())),en=new Set([...L.map(v=>v.id),...Zt.filter(v=>!B.has(C(v.status,i))).slice(0,s).map(v=>v.id)]),Je=Bn({...b,ranked:b.ranked.filter(v=>en.has(v.id))},h,new Set(Object.entries(g??{}).filter(([,v])=>v>=1).map(([v])=>v))),V=Je.included.map(v=>v.item),X=V.filter(v=>B.has(C(v.status,i))),ce=V.filter(v=>r.has(v.id.trim().toLowerCase())),Z=ye(t),ke=jl(o)?Z:void 0,Se=new Map(n.map(v=>[v.id.trim().toLowerCase(),v])),Q=v=>{let Ee=Ge(v,i,ke);return r.has(v.id.trim().toLowerCase())&&(Ee.blocked=!0,Ee.blocker_ids=Ae(v,Se,i).filter(tn=>!tn.resolved).map(tn=>tn.id)),Ee},Ze=Hl(X,n,i,y),$=X.filter(v=>Ze.has(v.id)).slice(0,u?L.length:s).map(Q),O=X.filter(v=>!Ze.has(v.id)).slice(0,u?L.length:s).map(Q),Ur=M.length===0;return{activeItems:X,blockedItems:ce,highLevel:$,lowLevel:O,blockedFallback:Ur?ce.slice(0,s).map(Q):[],blockedFallbackUsed:Ur,ranking:b,packing:Je,featureStore:I,pageExtras:{...u?{applied_limit:s}:{},...ae?{has_more:!0,truncated:!0}:{},...Ye?{next_cursor:Ye}:{}}}}function Wl(e,t){return fe("context",{pmRoot:t,options:st(e,Zr)})}function zl(e,t){return e.limit!==void 0||e.maxItems!==void 0||e.after!==void 0||t>=ss}async function Kl(e,t,n,r){let i={...t.baseListOptions,after:void 0,view:"agenda",include:"all",limit:t.parentScope===void 0?String(t.limit):void 0},o=await Oo(i,e),s=n===void 0?o.events:o.events.filter(c=>n.has(c.item_id.trim().toLowerCase())),a=ul(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:ll(a)}}function us(e,t,n){let r=String(t);return e.filter(i=>C(i.status,n)===r).length}async function Vl(e){let{runtime:t,allItems:n,fullCorpus:r,blockedIds:i,focusGroups:o,now:s,global:a}=e,d=ye(n),c=n.filter(u=>!J(u.status,t.statusRegistry)),l=u=>t.sectionsIncluded.includes(u);return{hierarchy:l("hierarchy")?ml(n,o.activeItems,t.statusRegistry,t.limit):void 0,activity:l("activity")?await fl(t.activityLimit,a):void 0,progress:l("progress")?pl(n,o.activeItems,i,t.statusRegistry,t.limit):void 0,blockersSection:l("blockers")?hl(o.blockedItems,r,t.statusRegistry,t.limit):void 0,recentlyCreated:l("recently_created")?wl(c,t.statusRegistry,d,t.limit):void 0,unparented:l("unparented")?bl(c,t.statusRegistry,d,t.limit):void 0,filesSection:l("files")?gl(o.activeItems,t.limit):void 0,workload:l("workload")?yl(o.activeItems,t.statusRegistry,t.limit):void 0,staleness:l("staleness")?_l(c,t.staleThresholdDays,s,t.limit):void 0,tests:l("tests")?vl(n.filter(u=>t.statusRegistry.active_statuses.has(C(u.status,t.statusRegistry)))):void 0}}function Xl(e,t,n){let r=F("canceled",t),i=e.filter(s=>t.active_statuses.has(C(s.status,t))),o=us(i,t.in_progress_status,t);return{scope:"matching_items",active_items:i.length,open:i.length-o,in_progress:o,blocked:e.filter(s=>n.has(s.id.trim().toLowerCase())).length,total_items:e.length,closed:e.filter(s=>Ue(s.status,t)).length,canceled:e.filter(s=>C(s.status,t)===r).length}}function Ql(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 Yl(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 Jl(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 Zl(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 eu(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 dt(e,"context"))s.has(d)||(o.push({id:d,rank:o.length+1,included:!1}),s.add(d));let a=await lt({pmRoot:n,author:r,surface:"context",profile:t.packing.profile,rows:o,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e,a)}catch{e.warnings=Pt(e.warnings,["context_usage_feedback_write_failed"])}}async function tu(e,t,n){if(e)return{};let r=(await Qr({pmRoot:t,settings:n,cwd:process.cwd(),noExtensions:!1})).discovered.map(o=>({name:o.name??o.directory,status:o.status==="ok"?"ok":"degraded"})).sort((o,s)=>o.name.localeCompare(s.name)),i=r.filter(o=>o.status==="degraded").length;return r.length===0?{}:{extension_health:{total:r.length,ok:r.length-i,degraded:i,packages:r.slice(0,20),...r.length>20?{truncated:!0}:{}}}}async function nu(e,t){let n=Ii(),r=await vi(e),i=n.instance||ki(t);return wo(r.semantic_attribution?.[i])}async function fh(e,t){let n=T(process.cwd(),t.path),r=await Pl(e,t),i=await Bl(t,r),o=Xd(r.limit,i.fullCorpus.length),s={...r,limit:o,tokenBudget:Ln(e.tokenBudget,Math.max(256,o*160))},a=ee(void 0,s.settings.author_default),d=await nu(n,a),c=tu(e.noExtensionHealth===!0,n,s.settings),l=Ki(i.fullCorpus,s.statusRegistry),u=await ql(i.listedItemMetadata,i.allItems,i.fullCorpus,l,s.statusRegistry,s.sectionsIncluded,s.limit,D(),a,e.after,Wl(e,n),zl(e,i.fullCorpus.length),n,s.tokenBudget,d,R(s.settings,E())),m=await Kl(t,s,i.subtreeIds,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),h=await $t(i.fullCorpus,{pmRoot:n,statusRegistry:s.statusRegistry,now:m.agenda.now}),g=Pt(i.listed.warnings,m.agenda.warnings,u.ranking.warnings,[...u.featureStore.warnings],h.warnings),y=us(u.activeItems,s.statusRegistry.in_progress_status,s.statusRegistry),_=u.activeItems.length-y,w=await Vl({runtime:s,allItems:i.allItems,fullCorpus:i.fullCorpus,blockedIds:l,focusGroups:u,now:m.agenda.now,global:t}),I=Xl(i.allItems,s.statusRegistry,l),b={output_default:"toon",now:m.agenda.now,depth:s.depth,sections_included:s.sectionsIncluded,window:{anchor:m.agenda.anchor,start:m.agenda.range.start,end:m.agenda.range.end,past:m.agenda.range.past,from:m.agenda.range.from,to:m.agenda.range.to},filters:{type:e.type??null,tag:e.tag??null,priority:e.priority??null,assignee:e.assignee??null,assignee_filter:e.assigneeFilter??null,sprint:e.sprint??null,release:e.release??null,limit:e.limit??e.maxItems??null,parent:s.parentScope??null,token_budget:s.tokenBudget,runtime_filters:i.listed.filters.runtime_filters??m.agenda.filters.runtime_filters??{}},summary:{returned_focus:{active_items:u.activeItems.length,in_progress:y,open:_,blocked:u.blockedItems.length},blocked_fallback_used:u.blockedFallbackUsed,high_level:u.highLevel.length,low_level:u.lowLevel.length,agenda_events:m.agendaSummary.events,...I},high_level:u.highLevel,low_level:u.lowLevel,blocked_fallback:u.blockedFallback,agenda:{summary:m.agendaSummary,events:m.agendaEvents},...u.pageExtras};return b.workspace_memory=es(h,Math.min(800,Math.floor(s.tokenBudget*.2))),Object.assign(b,await c),Ql(b,w,u.featureStore.warning_details),Jl(b,e.noTags===!0),e.explainRanking===!0&&(b.ranking=Hn(u.ranking,u.featureStore,new Set([...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>k.id))),b.packing=Gn(u.packing)),ii(b,[...u.highLevel,...u.lowLevel,...u.blockedFallback].map(k=>({id:k.id,status:C(k.status,s.statusRegistry)===s.statusRegistry.in_progress_status?"in_progress":"open",blocked:k.blocked}))),Yl(b,s.focusFields),oi(b),g.length>0&&(b.warnings=g),Zl(b,u.activeItems,u.blockedItems),await eu(b,u,n,a),b}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7328ddd0-a555-56d2-9f7d-3496dad501f5")}catch{}})();function ms(e,t,n){let r={recommended:e.recommended,ready:e.ready},i=()=>Math.max(dn(r,"json"),dn(r,"toon")),o=r.ready.length+ +(r.recommended!==null),s=i(),a=s,d=r.ready;if(a>t&&(r.ready=[],a=i()),s>t&&a<=t){let u=0,m=d.length;for(;u<m;){let h=Math.ceil((u+m)/2);r.ready=d.slice(0,h),i()<=t?u=h:m=h-1}r.ready=d.slice(0,u),a=i()}let c=a>t&&r.recommended!==null;c&&(r.recommended=null,a=i()),e.recommended=r.recommended,e.ready=r.ready,e.summary.recommended=r.recommended!==null;let l=o-r.ready.length-+(r.recommended!==null);n&&l===0&&a<=t||(e.truncation={...e.truncation,...l>0?{ready_total:e.summary.ready}:{},ready_budget:{scope:"recommended_and_ready",budget_tokens:t,estimated_tokens:a,within_budget:a<=t,omitted_count:l,recommendation_omitted:c,restore_budget_tokens:s}},c&&(e.suggestions=[`Ready work exists but the selection budget omitted the recommendation. Retry pm next --token-budget ${s}; use --output-budget to bound the entire response.`]))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b01faffe-d88f-5095-8d28-167943ec5067")}catch{}})();var ru=["markdown","toon","json"],iu=5,ou=1440*60*1e3;function su(e,t){let n=e??t;if(typeof n=="string"&&Me.includes(n))return n;throw new p(`Unknown next ranking policy ${JSON.stringify(n)}. Accepted values: ${Me.join(", ")}.`,f.USAGE,{code:"invalid_argument_value",value:String(n),recovery:{allowed_values:[...Me]}})}function au(e){if(!e)return;let t=e.trim().toLowerCase();if(!ru.includes(t))throw new p("Next format must be one of markdown|toon|json",f.USAGE);return t}function Rh(e,t){let n=au(e.format);if(t.json&&n&&n!=="json")throw new p("Cannot combine --json with --format markdown|toon",f.USAGE);return t.json?"json":n??"toon"}function fs(e,t,n){let r=H(e,t);return r===void 0||r<=0?n:r}function He(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 cu(e,t,n,r){let i=e.item,o=[],s=F("in_progress",t);return o.push(C(i.status,t)===s?"resume work":"ready"),r&&o.push("completed container \u2014 governance closeout"),o.push(`p${i.priority}${i.priority===0?" (highest)":""}`),typeof i.deadline=="string"&&i.deadline.trim().length>0&&o.push(du(i.deadline,n)),o.push(Re(i).length>0?"all blockers resolved":"no blockers"),typeof i.parent=="string"&&i.parent.trim().length>0&&o.push(`advances ${i.parent.trim()}`),e.unblocks.length>0&&o.push(`unblocks ${e.unblocks.length} item(s)`),o}function ps(e,t,n){let r=ee(n,t),i=[],o=[];for(let s of e){let a=typeof s.item.assignee=="string"?s.item.assignee.trim():"";a.length>0&&a!==r?o.push({id:s.item.id,assignee:a}):i.push(s)}return{available:i,held:o}}var Ah={partitionCallerOwnedReady:ps,resolveNextCallerAuthor:(e,t)=>hs(e,t)};function Dh(e,t,n){let r=e.filter(i=>Te(i.item.type,n)==="human");return{agent:t?e:e.filter(i=>Te(i.item.type,n)!=="human"),decisions:t?[]:r}}function du(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))/ou);return o<0?`deadline ${r} (overdue ${-o}d)`:o===0?`deadline ${r} (due today)`:`deadline ${r} (in ${o}d)`}function lu(e,t){let n=F("in_progress",t);return e.filter(r=>C(r.status,t)===n).length}function qn(e,t){return(t.get(e.id.trim().toLowerCase())??[]).length>0}function uu(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 jt(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 mu(e){return e.projectedReady.length===0?null:{...e.readyRows[0],reasons:[...cu(e.projectedReady[0],e.statusRegistry,e.now,e.completedContainer),...e.policyReason?[e.policyReason]:[]]}}function fu(e,t,n){if(e!==null)return;let r=n>0?["No executable recommendation: outcome gates require verification. Inspect gate_needed, or use pm next --include-gates to opt in."]:[];if(t.length>0){let i=t.find(o=>o.blockers.length>0);return[...r,i?`${t.length} item(s) are blocked; unblock the top one by closing ${i.blockers.map(o=>o.id).join(", ")}`:`${t.length} item(s) are blocked; add blocker context or move the top item back to an active status`,"pm next --ready-only after a blocker closes to re-check ready work",'pm create --type Task --title "..." to add new ready work']}return[...r,'pm create --type Task --title "..." to add a new work item',"pm list --status in_progress to review work already underway","pm context --depth deep for the full project snapshot"]}function pu(e,t,n,r){let i={};return e>r&&(i.decision_needed_total=e),t>r&&(i.held_by_others_total=t),n>r+1&&(i.ready_total=n),Object.keys(i).length>0?i:void 0}async function hu(e){try{let t=new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(o=>o.id)]),n=e.ranking.ranked.map(o=>({id:o.id,rank:o.rank,included:t.has(o.id)})),r=new Set(n.map(o=>o.id));for(let o of dt(e.result,"next"))r.has(o)||(n.push({id:o,rank:n.length+1,included:!1}),r.add(o));let i=await lt({pmRoot:e.pmRoot,author:e.author,surface:"next",profile:"next",rows:n,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"});ct(e.result,i)}catch{e.result.warnings=Pt(e.result.warnings,["context_usage_feedback_write_failed"])}}async function gu(e){let t=[...new Set([...e.candidatesWarnings??[],...e.corpusWarnings??[],...e.readyRanking.warnings??[],...e.featureStore.warnings])].sort((n,r)=>n.localeCompare(r));return t.length>0&&(e.result.warnings=t),e.result.suggestions=fu(e.recommended,e.blockedRows,e.gateCount),e.tokenBudget!==null&&ms(e.result,e.tokenBudget,e.hasIntentBudget),e.explainRanking&&(e.result.ranking=Hn(e.readyRanking,e.featureStore,new Set([...e.result.recommended?[e.result.recommended.id]:[],...e.result.ready.map(n=>n.id)])),e.result.packing=Gn(Bn(e.readyRanking,e.packingBudget,new Set,"next"))),await hu({result:e.result,pmRoot:e.pmRoot,author:e.author,ranking:e.readyRanking}),e.result}function yu(e,t,n){if(!n)return e;let r=jn(t,n);if(!r.found)throw new p(`Next --parent item not found: ${n}`,f.NOT_FOUND);return e.filter(i=>r.ids.has(i.id.trim().toLowerCase()))}async function _u(e,t,n,r,i,o,s,a){let d=e.filter(y=>!qn(y.item,t)),c=s||d.length===0?e:d,l=await ut({pmRoot:o,author:i,enabled:process.env.PM_CONTEXT_USAGE_DISABLED!=="1"}),u=await Mt(c.map(y=>y.item),{pmRoot:o,storeKey:"next",statusRegistry:n,now:r,author:i,usageAffinity:l.affinity}),m=await Ft("next",u.candidates),h=bo(m.ranked,n,a,m.model),g=new Map(c.map(y=>[y.item.id,y]));return{projectedReady:m.ranked.map(y=>g.get(y.id)).filter(y=>y!==void 0),ranking:m,completedContainer:d.length===0&&!s,featureStore:u,relevanceRank:h}}function hs(e,t){let n=e.assignee?.trim();return ee(e.callerAuthor??(n&&n.length>0?n:void 0),t)}function wu(e,t){return e.tokenBudget===void 0?null:t}async function Fh(e,t){let n=T(process.cwd(),t.path),r=await A(n),i=hs(e,r.author_default),o=N(r.schema),s=su(e.rankingPolicy,r.context.next_ranking_policy),a=R(r,E()),d=D(),c=fs(e.limit,"--limit",iu),l=Ln(e.tokenBudget,Math.max(192,c*128)),u=wu(e,l),m=fs(e.blockedLimit,"--blocked-limit",c),h=e.readyOnly===!0,g=typeof e.parent=="string"?e.parent.trim():"",y=await q(void 0,uu(e,{excludeTerminal:!0}),t),_=await q(void 0,{excludeTerminal:!1,noTruncate:!0},t),w=yu(y.items,_.items,g),I=_.items,b=vt(w,I,o,a),k=ye(I),B=Vi(b,o,e,a),M=ps(B.ready,r.author_default,i),se=jt(M.available,k,o),L=[...b.blocked].sort(($,O)=>ie($.item,O.item,o)),{projectedReady:ae,ranking:Ye,completedContainer:Zt,featureStore:en,relevanceRank:Je}=await _u(se,k,o,d,i,n,e.includeContainers===!0,s),V=ae.map(($,O)=>He($,o,k,O+1)),X=L.map(($,O)=>He($,o,k,O+1)),ce=jt(B.decisions,k,o).map(($,O)=>He($,o,k,O+1)),Z=jt(B.gates,k,o).map(($,O)=>He($,o,k,O+1)),ke=jt(b.containers,k,o).map(($,O)=>He($,o,k,O+1)),Se=mu({projectedReady:ae,readyRows:V,statusRegistry:o,now:d,completedContainer:Zt,policyReason:vo(ae,Je,o,s)}),Q=pu(ce.length,M.held.length,V.length,c)??{};Z.length>c&&(Q.gate_needed_total=Z.length),ke.length>c&&(Q.containers_total=ke.length);let Ze={output_default:"toon",now:d,recommended:Se,ready:V.slice(1,c+1),decision_needed:ce.slice(0,c),gate_needed:Z.slice(0,c),containers:ke.slice(0,c),blocked:h?[]:X.slice(0,m),held_by_others:M.held.slice(0,c),summary:{recommended:Se!==null,ready:V.length,blocked:X.length,in_progress:lu(V,o),candidates:b.active_count,containers:b.container_count,decision_needed:ce.length,gate_needed:Z.length,held_by_others:M.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:g.length>0?g:null,limit:c,blocked_limit:m,ready_only:h,include_decisions:e.includeDecisions===!0,include_gates:e.includeGates===!0,include_containers:e.includeContainers===!0,token_budget:u,ranking_policy:s},truncation:Object.keys(Q).length>0?Q:void 0};return gu({result:Ze,recommended:Se,blockedRows:X,gateCount:Z.length,candidatesWarnings:y.warnings,corpusWarnings:_.warnings,readyRanking:Ye,explainRanking:e.explainRanking===!0,pmRoot:n,author:i,packingBudget:l,featureStore:en,tokenBudget:u,hasIntentBudget:typeof e.for=="string"})}function Mh(e){let t=["# pm next","",...bu(e)];for(let[n,r]of[["Gate verification needed",e.gate_needed],["Containers",e.containers]])r&&r.length>0&&t.push(...qe(n,r.map(i=>`- ${We(i)}`),""));if(t.push(...qe("Recommended",vu(e.recommended),e.truncation?.ready_budget?.recommendation_omitted?"Recommendation omitted by the selection budget; ready work still exists.":"No ready work.")),t.push(...qe("Decision needed",(e.decision_needed??[]).map(n=>`- ${We(n)}`),"No human-gated decisions.")),t.push(...qe("Ready",e.ready.map(n=>`- ${We(n)}`),"No ready items.")),e.filters.ready_only||t.push(...qe("Blocked",e.blocked.map(n=>`- ${ku(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 bu(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 vu(e){return e?[`- ${We(e)}`,` why: ${e.reasons.join("; ")}`]:[]}function qe(e,t,n){return[`## ${e}`,...t.length===0?[n]:t,""]}function ku(e){let t=e.blockers.map(n=>`${n.id}(${n.status??"?"})`).join(", ");return`${We(e)} blocked_by:${t}`}function We(e){let t=e.deadline??"-",n=e.parent?` parent:${e.parent}`:"",r=e.unblocks.length>0?` unblocks:${e.unblocks.length}`:"";return`${Number.isInteger(e.rank)?`#${e.rank} `:""}${e.id} p${e.priority} ${e.status} ${e.type} deadline:${t}${n}${r} ${e.title}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="190eb119-9510-59d6-bb3a-d1f807c68281")}catch{}})();var Su=["status","type","tag","priority","deadlineBefore","deadlineAfter","updatedAfter","updatedBefore","createdAfter","createdBefore","ids","assignee","assigneeFilter","parent","sprint","release"],Eu=["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 Cu(e){return e!=null&&(typeof e!="string"||e.split(",").some(t=>t.trim().length>0))}function Oh(e,t,n={}){let r=n.includePagination!==!1;return[t,...Su.map(i=>e?.[i]),...r?[e?.limit,e?.offset]:[]].some(Cu)||Eu.some(i=>e?.[i]===!0)}function gs(e){return{type:e.type,tag:e.tag,priority:e.priority,deadlineBefore:e.deadlineBefore,deadlineAfter:e.deadlineAfter,assignee:e.assignee,assigneeFilter:e.assigneeFilter,parent:e.parent,sprint:e.sprint,release:e.release}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59f55926-8d04-52f8-a7fc-d32edd32b760")}catch{}})();var ys=["parent","type","priority","status","assignee","tags","sprint","release"];function ws(e,t){let n=ft(e,t,{strict:!0,flagLabel:"--status"});if(!(!n||n.length===0))return n}function bs(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",f.USAGE);let s=i??o;if(!t.includes(s))throw new p(`Aggregate numeric field "${s}" is not registered. Allowed: ${t.join(", ")}`,f.USAGE);return{field:s,sum:i!==void 0,avg:o!==void 0}}function vs(e){let t=e?.trim()??"status";if(t.length===0)throw new p("--group-by requires at least one field name",f.USAGE);let n=zi(t);if(n.length===0)throw new p("--group-by requires a comma-separated list of fields",f.USAGE);for(let r of n)if(!ys.includes(r))throw new p(`Aggregate group fields must be one of ${ys.join("|")}; received "${r}"`,f.USAGE);return n}function ks(e){let t=[...new Set(e.map(n=>n.trim().toLowerCase()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length===0?null:t.join(",")}function Ss(e,t){switch(e){case"parent":return t.parent??null;case"type":return t.type;case"priority":return t.priority;case"status":return t.status;case"assignee":return t.assignee??null;case"tags":return ks(t.tags);case"sprint":return t.sprint??null;case"release":return t.release??null;default:return null}}function Es(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 Ut(e,t){return e.map(n=>`${n}:${JSON.stringify(t[n]??null)}`).join("|")}var Iu={parent:"(unparented)",type:"(untyped)",priority:"(no priority)",status:"(no status)",assignee:"(unassigned)",tags:"(untagged)",sprint:"(no sprint)",release:"(no release)"};function _s(e,t){return t==null||t===""?Iu[e]:String(t)}function xu(e,t){return e.length===1?_s(e[0],t[e[0]]):e.map(n=>`${n}=${_s(n,t[n])}`).join(" | ")}function Cs(e,t,n){for(let r of n){let i=Es(e.group[r],t.group[r]);if(i!==0)return i}return 0}function Is(e,t){let n=e[t];if(typeof n=="number"&&Number.isFinite(n))return n;if(typeof n=="string"){let r=n.trim();if(r.length===0)return null;let i=Number(r);if(Number.isFinite(i))return i}return null}function xs(e,t){return t<=0?0:Math.round(e/t*1e4)/100}function Wn(e,t,n){let r=F(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 Tu(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 Ru(e,t){if(t===null){e.null_count+=1;return}e.numeric_count+=1,e.numeric_sum+=t}function Au(e){e.accumulator.row.count+=1,e.includeCompletion&&Wn(e.accumulator,e.item.status,e.statusRegistry),e.numericAggregation!==null&&Ru(e.accumulator,e.numericValue)}function Du(e,t,n,r){for(let i of t){let o=Ut(n,i),s=e.get(o);if(s){Au({...r,accumulator:s});continue}let a=Tu(i,r.numericValue);r.includeCompletion&&Wn(a,r.item.status,r.statusRegistry),e.set(o,a)}}function Fu(e,t){let n={};for(let r of e)n[r]=Ss(r,t);return n}function Mu(e,t,n){let r=[Fu(e,t)];if(n==="tuple")return r;for(let i of e){let o=t[i];if(!Array.isArray(o))continue;let s=[...new Set(o.map(a=>a.trim().toLowerCase()).filter(Boolean))].sort();s.length!==0&&(r=r.flatMap(a=>s.map(d=>({...a,[i]:d}))))}return r}function $u(e,t,n,r){let i={...e.row,group_label:xu(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=xs(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 Ou(e){return{group_by:e.groupBy,set_mode:e.setMode,count:!0,completion:e.includeCompletion,include_unparented:e.includeUnparented,status:e.status?.[0]??null,status_values:e.status,type:e.options.type??null,tag:e.options.tag??null,priority:e.options.priority??null,deadline_before:e.options.deadlineBefore??null,deadline_after:e.options.deadlineAfter??null,assignee:e.options.assignee??null,assignee_filter:e.options.assigneeFilter??null,parent:e.options.parent??null,sprint:e.options.sprint??null,release:e.options.release??null,...e.numericAggregation!==null?{sum:e.options.sum??null,avg:e.options.avg??null,numeric_field:e.numericAggregation.field}:{}}}async function Bh(e,t){if(e.count===!1)throw new p("Aggregate grouped counts are always enabled; omit count=false.",f.USAGE);let n=T(process.cwd(),t.path),r=await A(n),i=N(r.schema),o=["estimate","estimated_minutes","priority",...Y(r.schema).definitions.filter(b=>b.type==="number").map(b=>b.metadata_key)],s=vs(e.groupBy),a=e.setMode??"element";if(a!=="element"&&a!=="tuple")throw new p("Aggregate --set-mode must be element or tuple",f.USAGE);let d=ws(e.status,i),c=bs(e,[...new Set(o)].sort((b,k)=>b.localeCompare(k))),l=e.completion===!0,u=e.includeUnparented===!0,m=await q(void 0,{...gs(e),status:e.status,noTruncate:!0,strictRead:!0},t),h=new Map,g=0,y=0,_=0;for(let b of m.items){let k=b;if(s.includes("parent")&&k.parent===void 0&&!u){g+=1;continue}let B=c===null?null:Is(k,c.field),M=Mu(s,k,a);Du(h,M,s,{item:k,statusRegistry:i,includeCompletion:l,numericAggregation:c,numericValue:B}),_+=M.length,y+=1}let w=[...h.values()].map(b=>$u(b,s,l,c)).sort((b,k)=>Cs(b,k,s)),I=m.warnings&&m.warnings.length>0?m.warnings:void 0;return{...Nu(w,s,e),count:w.length,totals:{items_considered:m.items.length,items_grouped:y,items_skipped_unparented:g,group_memberships:_},filters:Ou({groupBy:s,setMode:a,includeCompletion:l,includeUnparented:u,status:d,options:e,numericAggregation:c}),now:D(),...I?{warnings:I}:{}}}function Nu(e,t,n){let r=fo(n.limit,"limit")??50,i=n.after===void 0?-1:e.findIndex(a=>Ut(t,a.group)===n.after);if(n.after!==void 0&&i<0)throw new p("Aggregate --after cursor is absent from the current grouping; restart without --after.",f.USAGE);let o=e.slice(i+1,i+1+r),s=i+1+o.length<e.length;return{groups:o,returned_count:o.length,truncated:s,next_after:s?Ut(t,o.at(-1).group):null}}var Gh={buildGroupKey:Ut,compareAggregateRows:Cs,compareNullableGroupValue:Es,completionPct:xs,normalizeTagGroupValue:ks,parseGroupBy:vs,parseNumericAggregation:bs,parseStatus:ws,readNumericAggregateValue:Is,resolveGroupValue:Ss,updateCompletionCounts:Wn};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="21742dd3-12b5-5285-89d8-036693459eb8")}catch{}})();var Ts=1e6,Rs=20;function As(e,t,n,r=Rs){if(!Number.isSafeInteger(r)||r<0)throw new p("Child projection sample limit must be a non-negative integer.",f.USAGE);let i=e.trim().toLowerCase(),o={},s=[],a=0;for(let _ of t){if(a+=1,a>Ts)throw new p(`Child projection exceeded the ${Ts.toLocaleString("en-US")} item safety bound.`,f.GENERIC_FAILURE,{code:"child_projection_item_bound_exceeded",required:"Use an indexed or parent-filtered metadata source.",why:"Unbounded graph scans can exhaust memory in universal project stores.",nextSteps:["Build the derived item index, then retry the parent read."]});s.push(_)}let d=new Map(s.map(_=>[_.id.trim().toLowerCase(),_])),c=so(oo(s,io())),l=new Set(c.children_by_parent.get(i)??[]);for(let _ of s)_.parent?.trim().toLowerCase()===i&&l.add(_.id.trim().toLowerCase());let u=[...l].map(_=>d.get(_)),m=0;for(let _ of u){let w=_.status.trim().toLowerCase();o[w]=(o[w]??0)+1,J(w,n)||(m+=1)}u.sort((_,w)=>_.id.localeCompare(w.id));let h=u.slice(0,r).map(_=>({id:_.id,title:_.title,type:_.type,status:_.status,priority:_.priority})),g=u.length>h.length,y=r===0?Rs:r;return{count:u.length,active:m,by_status:Object.fromEntries(Object.entries(o).sort(([_],[w])=>_.localeCompare(w))),sample:h,sample_limit:r,truncated:g,next_offset:g?h.length:null,continuation:g?`pm list --status all --parent ${e} --offset ${h.length} --limit ${y}`:null,scanned:a}}import{readdir as Uu}from"node:fs/promises";import Kn from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="db3fe399-8eb8-5b17-8a9e-89eda4774234")}catch{}})();var Lu=new Set(["event","meeting","reminder"]);function Pu(e){return Lu.has(e.type.trim().toLowerCase())||e.deadline!==void 0||(e.reminders?.length??0)>0||(e.events?.length??0)>0}function zn(e){if(!Pu(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]="bf7cac44-d2fc-5e7c-a9f1-a82c7460b07c")}catch{}})();var Bu=new Set(["epic","feature","milestone","plan"]),Gu=new Set(Object.keys(Gr).map(e=>e.toLowerCase()));function Xn(e){return Object.fromEntries(["comments","notes","learnings","files","tests","docs","reminders","events"].map(t=>[t,e[t]?.length??0]))}function Hu(e,t,n,r,i){let o=Xn(e);return[...t.length>0?["body"]:[],...Object.entries(o).flatMap(([s,a])=>a>0?[s]:[]),...o.files+o.tests+o.docs>0?["linked"]:[],...n===void 0?["children"]:n.count>0?["children"]:[],...typeof e.assignee=="string"&&e.assignee.trim().length>0?["claim_state"]:[],...zn(e)?["schedule"]:[],...r&&Re(e).length>0?["blockers"]:[],...!i.full&&e.dependencies?.some(({id:s,kind:a,...d})=>Object.values(d).some(c=>c!==void 0))?["dependency_provenance"]:[]]}function Fs(e){let t=e.trim().toLowerCase();return t.length>0&&(Bu.has(t)||!Gu.has(t))}function Ds(e){return{ts:e.ts,author:e.author,message:e.message??null}}function qu(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?Ds(i):null,last_release:o?Ds(o):null}}function Wu(e){if(e===void 0||e.trim().length===0)return"standard";let t=e.trim().toLowerCase();if(t==="full")return"deep";if(sn.includes(t))return t;throw new p("Get --depth must be one of brief|standard|deep|full",f.USAGE,{field:"depth",value:e,recovery:{allowed_values:[...an]}})}function zu(e,t,n){let r=Xn(e),i={...e};if(!n&&e.dependencies!==void 0&&(i.dependencies=e.dependencies.map(({id:g,kind:y})=>({id:g,kind:y}))),t==="deep")return{...i,comments:e.comments??[],notes:e.notes??[],learnings:e.learnings??[],files:e.files??[],tests:e.tests??[],docs:e.docs??[],reminders:e.reminders??[],events:e.events??[],notes_count:r.notes,tests_count:r.tests,collection_counts:r};let{comments:o,notes:s,learnings:a,files:d,tests:c,docs:l,reminders:u,events:m,...h}=i;return{...h,notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:r}}function Ku(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",f.USAGE);return t}function Bt(e){return e.startsWith("item.")?e.slice(5):e}function Vu(e,t,n){if(e===null)return;let r=cn(t),i=new Set(r),o=e.filter(s=>{let a=Bt(s);return!i.has(s)&&!i.has(a)});if(o.length>0){let s=["get",n,"--fields",e.filter(a=>!o.includes(a)).join(",")||"id,title,status"];throw new p(`Unknown get --fields value(s): ${o.join(", ")}`,f.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 Xu=new Set(["comments","notes","learnings","files","tests","test_runs","docs","reminders","events","dependencies","plan_steps","plan_decisions","plan_discoveries","plan_validation"]);function Qu(e,t,n){return Object.hasOwn(t,n)?t[n]:e[n]!==void 0?e[n]:Xu.has(n)?[]:void 0}function Yu(e,t){let n=e,r={notes_count:e.notes?.length??0,tests_count:e.tests?.length??0,collection_counts:Xn(e)},i={id:e.id};for(let o of t){let s=Bt(o);s==="body"||s==="linked"||s.startsWith("linked.")||s==="claim_state"||s.startsWith("claim_state.")||s==="children"||s.startsWith("children.")||s==="schedule"||s.startsWith("schedule.")||s==="blockers"||(i[s]=Qu(n,r,s))}return i}function ze(e,t){return e?.some(n=>n===t||n===`item.${t}`)??!1}function _e(e,t){return e.some(n=>{let r=Bt(n);return r===t||r.startsWith(`${t}.`)})}function Ju(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.",f.USAGE,{code:"projection_options_mutually_exclusive",flag:"--full",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",f.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.",f.USAGE);return{depth:e.full?"deep":Wu(e.depth),full:e.full===!0||e.depth?.trim().toLowerCase()==="full",treeDepth:e.tree===!0?H(e.treeDepth,"--tree-depth"):void 0,fields:Ku(e.fields),fieldProjection:e.fields!==void 0}}async function Zu(e,t,n){let r=T(process.cwd(),t.path);await U(r);let i=await A(r),o=R(i,E());if(n!==void 0){let d=await mo(e,n,{pmRoot:t.path});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:d.document.metadata.id,metadata:d.document.metadata,body:d.document.body,historical:d}}let s=await ne(r,e,i.id_prefix,i.item_format,o.type_to_folder);if(!s)throw await Pi(r,e,i.id_prefix,o.type_to_folder);let a=await re(s,{schema:i.schema});return{pmRoot:r,settings:i,typeToFolder:o.type_to_folder,locatedId:s.id,metadata:a.document.metadata,body:a.document.body}}function em(e,t,n,r){let i=[...Y(t.schema).definitions.map(o=>o.metadata_key),...le(E())];if(Vu(e,i,r),n&&_e(e??[],"children"))throw new p("Get --at cannot project children because workspace-level historical relationships are not yet indexed.",f.USAGE);if(n&&_e(e??[],"blockers"))throw new p("Get --at cannot project current blocker statuses; read the current item with --fields blockers instead.",f.USAGE)}function Vn(e){let{fieldProjection:t,depth:n,fields:r,field:i}=e;return t?i==="body"||i==="linked"?ze(r,i):_e(r,i):n!=="brief"}async function tm(e,t){if(!t)return;let n=rt(e.pmRoot,e.locatedId),r=await te(n,e.locatedId);return qu(e.metadata.assignee,e.historical?r.slice(0,e.historical.target.historyIndex+1):r)}function nm(e,t,n,r){let i=r||ze(n,"linked.files"),o=r||ze(n,"linked.tests"),s=r||ze(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 rm(e,t){if(!t)return;let n=N(e.settings.schema),r=await he(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema);return As(e.locatedId,r,n)}function im(e,t){let n=new Map;for(let r of e){let i=r.external?r.id:t.get(r.id.toLowerCase())?.id??r.id;n.set(r.external?`external:${i}`:`local:${i.toLowerCase()}`,{...r,id:i})}return[...n.values()]}async function om(e,t){let n=Kn.basename(e),r=(await Uu(Kn.dirname(e)).catch(i=>{throw Wi("Cannot verify the blocker's physical file identity",{exitCode:f.GENERIC_FAILURE,context:{code:"blocker_identity_read_failed",required:"Restore access to the blocker item directory, then retry the item read."},cause:i})})).filter(i=>i.toLowerCase()===n.toLowerCase()).sort((i,o)=>+(o===n)-+(i===n)||i.localeCompare(o)).map(i=>Kn.parse(i).name)[0];if(r===void 0)throw new p(`Blocker canonical file disappeared during identity verification: ${t}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker file and validate storage integrity before retrying the item read."});return r}async function sm(e,t,n){if(t.historical!==void 0||!(n.fieldProjection?_e(n.fields,"blockers"):n.depth!=="brief"))return;let r=Re(t.metadata);if(r.length===0)return;let i=new Map([t.metadata.blocked_by,...(t.metadata.dependencies??[]).filter(a=>a.kind==="blocked_by").map(a=>a.id)].filter(a=>typeof a=="string").map(a=>[a.trim().toLowerCase(),a.trim()])),o=new Map;for(let a of r){if(gi(a)||!/^(?!\.{1,2}$)[^/\\:\0]+$/u.test(a)||t.metadata.dependencies?.some(l=>l.id.trim()===a&&l.kind==="blocked_by"&&yi(l.source_kind)))continue;let d=await ne(t.pmRoot,i.get(a),t.settings.id_prefix,t.settings.item_format,t.typeToFolder);if(d===null)continue;let c=await re(d,{schema:t.settings.schema});if(d.id=await om(d.itemPath,d.id),c.document.metadata.id!==d.id)throw new p(`Blocker identity differs from its canonical file: ${d.id}`,f.CONFLICT,{code:"item_identity_conflict",required:"Restore the canonical blocker identity and validate storage integrity before retrying the item read."});o.set(a.toLowerCase(),c.document.metadata)}let s=im(Ae({blocked_by:t.metadata.blocked_by,dependencies:t.metadata.dependencies,updated_at:t.metadata.updated_at},o,N(t.settings.schema)),o);e.blockers={scope:"declared",open:s.filter(a=>!a.resolved).map(({resolved:a,...d})=>d),closed_count:s.filter(a=>a.resolved).length},!n.fieldProjection&&!n.full&&delete e.item.blocked_by}function am(e,t,n,r){if(!r)return;let i=zn(t.metadata);if(i){if(n===null||ze(n,"schedule")){e.schedule=i;return}e.schedule=Object.fromEntries(Object.entries(i).filter(([o])=>n.some(s=>Bt(s)===`schedule.${o}`)))}}async function cm(e,t,n,r){if(t.tree!==!0)return;let i=await q(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 gg(e,t,n={}){let r=Ju(n,e),i=await Zu(e,t,n.at);em(r.fields,i.settings,i.historical!==void 0,i.locatedId);let o=Vn({...r,field:"body"}),s=Vn({...r,field:"linked"}),a=Vn({...r,field:"claim_state"}),d=i.historical===void 0&&(r.fieldProjection?_e(r.fields,"children"):r.depth==="deep"&&(r.full||Fs(i.metadata.type))),c=r.fieldProjection?_e(r.fields,"schedule"):r.depth!=="brief",l=await tm(i,a),u={item:r.fieldProjection?Yu(i.metadata,r.fields):zu(i.metadata,r.depth,r.full)};o&&(u.item.body=i.body),nm(u,i,r.fields,s),l&&(u.claim_state=l),am(u,i,r.fields,c),await sm(u,i,r);let m=await rm(i,d);m!==void 0&&(u.children=m);let h=await cm(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 hi({pmRoot:i.pmRoot,author:ee(void 0,i.settings.author_default),itemIds:[i.locatedId],intent:"get"})}catch{}return ni(u,r.fieldProjection?[]:Hu(i.metadata,i.body,m,i.historical===void 0,r)),u}var yg={shouldAutoIncludeGetChildren:Fs};(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]="284b91be-bd4e-5345-969b-0304834b0da8")}catch{}})();function dm(e,t){return t===void 0?e:e.slice(Math.max(0,e.length-t))}function lm(e,t){return e.map(({entry:n,version:r})=>{let i=new Set,o=Ti(n.patch);for(let s of o)i.add(ln(s.path)),s.from&&i.add(ln(s.from));return{index:r,...t?{version:t.offset===null?null:t.offset+r}:{},ts:n.ts,op:n.op,author:n.author,patch_ops:o.length,changed_fields:[...i].sort((s,a)=>s.localeCompare(a))}})}function um(e){if(e[0]?.op!=="history_compact_baseline")return;let t=un(e,!0);return{offset:t,first_version:t===null?null:t+1,last_version:t===null?null:t+e.length}}async function mm(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=R(r,E()),o=e.trim()===mt,s=o?mt:$i(e,r.id_prefix),a=await ne(n,s,r.id_prefix,r.item_format,i.type_to_folder),d=a?.id??s,c=o?Fi(n):rt(n,d);if(!a&&!await qr(c))throw new p(`Item ${e} not found`,f.NOT_FOUND);return a&&await Ai({pmRoot:n,settings:r,itemId:a.id,commandLabel:"history"}),{historyPath:c,located:a,resolvedId:d,settings:r}}function fm(e){let{resolvedId:t,selectedHistory:n,options:r,limit:i,addressing:o,vocabulary:s,total:a}=e,d=r.compact===!0,c=(r.order??(d||r.provenance===!0?"newest_first":"oldest_first"))==="newest_first",l=c?[...n].reverse():n,u=l.map(({entry:_})=>_),m=d?lm(l,o):void 0,h=r.provenance===!0?l.map(({entry:_,durableVersion:w})=>xt(_,s,{itemId:t,version:w})):void 0,g=r.provenance===!0?"provenance":d?"compact":"full",y={compact:{compact_history:m},provenance:{provenance_history:h},full:{history:u}}[g];return{id:t,...y,compact:d,projection:{mode:g,row_key:{compact:"compact_history",provenance:"provenance_history",full:"history"}[g]},omission_receipt:ot("history",g),count:u.length,total:a,order:c?"newest_first":"oldest_first",limit:i??null,version_addressing:o}}async function Tg(e,t,n){if(t.order!==void 0&&t.order!=="oldest_first"&&t.order!=="newest_first")throw new p("--order must be oldest_first or newest_first",f.USAGE);let r=pe(t.limit),{historyPath:i,located:o,resolvedId:s,settings:a}=await mm(e,n),d=await te(i,s),c=um(d),l=a.agent_identity.identity_vocabulary,u=It(a.agent_identity.harness_signals),m=Tt({harness:t.harness,agentInstance:t.agentInstance,provenance:t.provenanceFilter},l,u),h=pm(d).filter(({entry:_})=>m(_)),g=dm(h,r),y=fm({resolvedId:s,selectedHistory:g,options:t,limit:r,addressing:c,vocabulary:l,total:h.length});if(t.provenanceSummary===!0&&(y.provenance_summary=Rt(h.map(({entry:_})=>_),l,u)),t.diff||t.field!==void 0){let _=new Set(g.map(({version:w})=>w));y.diff=Ri(d,{windowStartIndex:(g[0]?.version??d.length+1)-1,field:t.field}).filter(w=>_.has(w.index)),y.order==="newest_first"&&y.diff.reverse()}if(t.verify){let _=o?(await re(o,{schema:a.schema})).document:void 0;if(y.verification=uo(d,_),s===mt&&y.verification.ok){let w=await Mi(T(process.cwd(),n.path));y.verification={...y.verification,ok:w.ok,errors:w.ok?y.verification.errors:[...y.verification.errors,"verify_failed:workspace_state_mismatch"],workspace_state_matches_latest:w.ok,workspace_state_mismatches:w.mismatched_documents,workspace_state_missing:w.missing_documents,workspace_state_unreadable:w.unreadable_documents}}}return y}function pm(e){let t=un(e,!0);return e.map((n,r)=>({entry:n,version:r+1,durableVersion:t===null?void 0:t+r+1}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="28cc85af-b7e7-5069-97a9-18844352cc59")}catch{}})();function hm(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",f.USAGE);return t}function Gt(e){return e===!0}function Ms(e){return Vr(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",f.USAGE);return t}function Os(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",f.USAGE);return t}function oe(e,t){if(e==null)return;let n=String(e).trim();if(n.length!==0)return G(n,new Date,t)}function P(e){return e.toLowerCase().replace(/\s+/g," ").trim()}function Qn(e,t){if(e!==void 0)return G(e,new Date,t)}function gm(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",f.USAGE);return[...new Set(t)]}function Ht(e,t="<query>"){let n=e.compact===!0,r=e.full===!0,i=gm(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.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:me(["search",t,"--full"]),suggested_retry_args:["search",t,"--full"]}});return n?{mode:"compact",fields:[...Yr]}:r?{mode:"full",fields:[]}:i?{mode:"fields",fields:i}:{mode:"full",fields:[]}}function Yn(e,t,n="<query>"){if(e.mode!=="fields")return;let r=Jr([...t.definitions.flatMap(s=>[s.key,s.metadata_key]),...le(E())]),i=new Set(r),o=e.fields.filter(s=>{let a=s.trim();return!i.has(a)});if(o.length>0){let s=["search",n,"--fields",e.fields.filter(a=>!o.includes(a)).join(",")||"id,title,status,score"];throw new p(`Unknown search --fields value(s): ${o.join(", ")}`,f.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 qt(e){let t=P(e);if(!t)throw new p("Search query must not be empty",f.USAGE);return t.split(/\s+/u).filter(Boolean)}function Jn(e){let t=e.search?.max_results;return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):50}var ym=["auto","keyword","semantic","hybrid"];function _m(e){let t=e.search?.default_mode;if(typeof t!="string")return"auto";let n=t.trim().toLowerCase();return ym.includes(n)?n:"auto"}function Zn(e){if(typeof e.requested=="string"&&e.requested.trim().length>0)return{mode:hm(e.requested),source:"explicit"};let t=_m(e.settings);return t!=="auto"?{mode:t,source:"settings"}:{mode:e.semanticRunnable?"hybrid":"keyword",source:"auto"}}function er(e){let t=e.search?.score_threshold;return typeof t=="number"&&Number.isFinite(t)?t:0}function tr(e){let t=e.search?.hybrid_semantic_weight;return typeof t=="number"&&Number.isFinite(t)&&t>=0&&t<=1?t:.7}function nr(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 wm from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e1f303b6-a641-5550-b58c-ef023b68d5e4")}catch{}})();function rr(e){return fe("search",{pmRoot:e.pmRoot===void 0?void 0:wm.resolve(e.pmRoot),query:e.query.trim(),mode:e.mode,options:st(e.searchOptions,ei)})}function Ns(e){let t=at(e.sorted,{cursor:e.searchOptions.after,fingerprint:rr(e),limit:e.limit,readId:n=>n.item.id});return{limited:t.rows,pageExtras:{applied_limit:e.limit,...t.has_more?{has_more:!0,truncated:!0}:{},...t.next_cursor?{next_cursor:t.next_cursor}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8a2412e-2b0c-59c2-81ad-43de4d51562f")}catch{}})();function Ls(e){if(typeof e!="string")return!1;let t=e.split(",").map(n=>n.trim().toLowerCase()).filter(Boolean);return t.length===1&&t[0]==="all"}var bm=[{optionKey:"status",summaryKey:"status",normalize:e=>Ls(e)?"all":e},{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"parent",summaryKey:"parent"}];function we(e){let{mode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,runtimeFieldFilters:c}=e,l={};return lo(l,r,bm),Object.assign(l,pn(r)),Object.assign(l,fn(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 be(e){let{effectiveMode:t,matchMode:n,options:r,includeLinked:i,titleExact:o,phraseExact:s,scoreThreshold:a,hybridSemanticWeight:d,queryExpansion:c,rerank:l,runtimeFieldFilters:u}=e,m=h=>h??null;return{mode:t,match_mode:n,status:r.status===void 0||Ls(r.status)?"all":r.status,type:m(r.type),tag:m(r.tag),priority:m(r.priority),deadline_before:m(r.deadlineBefore),deadline_after:m(r.deadlineAfter),updated_after:m(r.updatedAfter),updated_before:m(r.updatedBefore),created_after:m(r.createdAfter),created_before:m(r.createdBefore),assignee:m(r.assignee),sprint:m(r.sprint),release:m(r.release),parent:m(r.parent),...pn(r),...fn(r),include_linked:i,title_exact:o,phrase_exact:s,score_threshold:a,hybrid_semantic_weight:t==="hybrid"?d:null,query_expansion_enabled:c.enabled,query_expansion_provider:c.provider,rerank_enabled:l.enabled,rerank_model:l.model,rerank_top_k:l.top_k,limit:m(r.limit),runtime_filters:u}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0272e482-0dab-5970-b19a-4da286fd112b")}catch{}})();var vm=1.2,km=.75;function ir(e){return ue(e)}function Sm(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return t}function js(e){let t=[],n=new Map,r=0;for(let o of e){let s=ir(o.text),a=Sm(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 Em(e,t){return Math.log(1+(e-t+.5)/(t+.5))}function Us(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,Em(e.documentCount,a))}if(o.size===0)return r;for(let s of e.documents){let a=0;for(let[d,c]of o){let l=s.termFrequencies.get(d);if(l===void 0)continue;let u=1-n.b+n.b*s.length/e.averageDocumentLength,m=l+n.k1*u;a+=c*(l*(n.k1+1)/m)}a>0&&r.set(s.id,a)}return r}function Ps(e,t,n,r){return typeof e!="number"||!Number.isFinite(e)?t:Math.min(r,Math.max(n,e))}function Bs(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 Gs(e){let t=e?.search?.bm25;return{k1:Ps(t?.k1,vm,0,1e3),b:Ps(t?.b,km,0,1)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75c3c5e-e2b7-5e65-a56a-883dc896290e")}catch{}})();var or=4,Cm=20,Im=200,xm=new Set(["a","an","and","for","from","in","into","of","on","or","the","to","with"]);function sr(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 Tm(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 Rm(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 Hs(e,t=or){let n=e.trim().replaceAll(/\s+/g," ");if(n.length===0)return[];let r=ue(n);if(r.length===0)return[n];let i=r.filter(a=>!xm.has(a.toLowerCase())),o=r.map(a=>Tm(a)),s=i.map(a=>Rm(a));return sr([n,r.join(" "),i.join(" "),o.join(" "),s.join(" ")],Math.max(1,t))}function qs(e){let t=Array.isArray(e)?e:e?.queries;return Array.isArray(t)?sr(t.filter(n=>typeof n=="string"),or):[]}function Ws(e,t,n){return sr([...e,...t],Math.max(1,n))}function zs(e,t){let n=e.search?.query_expansion,r=Ce(n?.provider);return{enabled:n?.enabled===!0,provider:r??t,max_queries:or}}function Ks(e,t){let n=e.search?.rerank,r=Ce(n?.model),i=Kr(n?.top_k)??Cm;return{enabled:n?.enabled===!0,model:r??t,top_k:Math.min(Im,i)}}function Vs(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=Ce(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 Am(e,t){let n=e.length,r=0;for(let i=0;i<n;i+=1)r+=e[i]*t[i];return r}function Xs(e){let t=0;for(let n=0;n<e.length;n+=1)t+=e[n]*e[n];return Math.sqrt(t)}function Dm(e,t,n){if(!e||!t||e.length===0||t.length===0||e.length!==t.length)return 0;let r=Am(e,t),i=Xs(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 Qs(e,t,n,r,i){if(r.length===0)return new Map;let o=Ce(t)??e.model,s=o===e.model?e:{...e,model:o},a=[n.trim(),...r.map(m=>m.text)],d=await yt(s,a,i?{timeout_ms:i}:{}),c=d[0];if(!c)return new Map;let l=Xs(c),u=new Map;for(let m=0;m<r.length;m+=1){let h=r[m],g=d[m+1];if(!g)continue;let y=Dm(c,g,l);u.set(h.id,Math.max(0,Math.min(1,(y+1)/2)))}return u}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a5d1f401-e5eb-5b6e-8b5a-d8135128f44b")}catch{}})();function ve(e){return Array.isArray(e)?e.filter(t=>typeof t=="string"):[]}function K(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.text=="string"):[]}function Ke(e){return Array.isArray(e)?e.filter(t=>typeof t=="object"&&t!==null&&typeof t.id=="string"&&typeof t.kind=="string"):[]}function ar(e){let t=e.metadata;return[t.title,t.description,t.status,ve(t.tags).join(" "),e.body,K(t.comments).map(n=>n.text).join(" "),K(t.notes).map(n=>n.text).join(" "),K(t.learnings).map(n=>n.text).join(" "),_t(t).join(" "),wt(t).join(" "),Ke(t.dependencies).map(n=>`${n.id} ${n.kind}`).join(" "),bt(t)]}function cr(e,t){return ar(e).some(n=>P(n).includes(t))}function dr(e,t,n){return!n.titleExact&&!n.phraseExact?e:e.filter(r=>!(n.titleExact&&P(r.metadata.title)!==t||n.phraseExact&&!cr(r,t)))}function Fm(e){if(e&&[...e].some(t=>t.toLowerCase()==="none"||t.toLowerCase()==="null"))throw new p('--assignee no longer accepts "none" or "null".',f.USAGE)}function Mm(e,t,n){let r=De(e.assignee,{label:"--assignee"});Fm(r);let i=ao(e),o=co(e);return{typeFilter:Yi(e.type,t),tagFilter:De(e.tag,{label:"--tag",normalize:s=>s.toLowerCase()}),priorityFilter:Ji(e.priority),deadlineBefore:Qn(e.deadlineBefore,"deadline-before"),deadlineAfter:Qn(e.deadlineAfter,"deadline-after"),updatedAfter:oe(e.updatedAfter,"updated-after"),updatedBefore:oe(e.updatedBefore,"updated-before"),createdAfter:oe(e.createdAfter,"created-after"),createdBefore:oe(e.createdBefore,"created-before"),assigneeFilter:r,sprintFilter:De(e.sprint,{label:"--sprint"}),releaseFilter:De(e.release,{label:"--release"}),parentFilter:e.parent?.trim(),statusSet:n&&n.length>0?new Set(n):void 0,missingMetadataFilters:i,missingMetadataActive:eo(i),contentFieldFilters:o,contentFiltersActive:no(o)}}function $m(e,t){return Om(e,t)&&pi(e,t)&&Nm(e,t)}function Om(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&&!ve(e.tags).some(r=>n.has(r))||t.priorityFilter!==void 0&&!t.priorityFilter.has(e.priority))}function Nm(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 Lm(e,t,n,r){let i=e.metadata;return!(!$m(i,t)||!ht(i,n)||t.missingMetadataActive&&!to(i,t.missingMetadataFilters,r)||t.contentFiltersActive&&!ro(i,t.contentFieldFilters))}function lr(e,t,n,r,i,o){let s=Mm(t,n,i);return e.filter(a=>Lm(a,s,r,o))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3f9e7fa-7ebf-5fc7-93a4-f12cff30f4ff")}catch{}})();var Pm=2,jm=120,Um=6,Bm=40,Gm=1e3,Hm=900,qm="\xAB",Wm="\xBB",Ys=60;function Wt(e,t){let n=0,r=0;for(;;){let i=e.indexOf(t,r);if(i<0)return n;n+=1,r=i+t.length}}var Js=[{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=>ve(e.metadata.tags).join(" ")},{name:"status",weightKey:"status_weight",value:e=>typeof e.metadata.status=="string"?e.metadata.status:""},{name:"body",weightKey:"body_weight",value:e=>e.body},{name:"comments",weightKey:"comments_weight",value:e=>K(e.metadata.comments).map(t=>t.text).join(" ")},{name:"notes",weightKey:"notes_weight",value:e=>K(e.metadata.notes).map(t=>t.text).join(" ")},{name:"learnings",weightKey:"learnings_weight",value:e=>K(e.metadata.learnings).map(t=>t.text).join(" ")},{name:"reminders",weightKey:"reminders_weight",value:e=>_t(e.metadata).join(" ")},{name:"events",weightKey:"events_weight",value:e=>wt(e.metadata).join(" ")},{name:"dependencies",weightKey:"dependencies_weight",value:e=>Ke(e.metadata.dependencies).map(t=>`${t.id} ${t.kind}`).join(" ")},{name:"plan",weightKey:"body_weight",value:e=>bt(e.metadata)}],zm=new Map(Js.map(e=>[e.name,e]));function ur(e,t){let n=t.filter(i=>i.length>0).sort((i,o)=>o.length-i.length).map(i=>i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"));if(n.length===0)return e;let r=new RegExp(n.join("|"),"gi");return e.replace(r,i=>`${qm}${i}${Wm}`)}function mr(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-Ys),s=Math.min(e.length,r+i+Ys),a=ur(e.slice(o,s),t),d=o>0?"\u2026":"",c=s<e.length?"\u2026":"";return`${d}${a}${c}`}function zt(e,t,n){let r=[];for(let i of t){let o=zm.get(i);if(o===void 0)continue;let s=mr(o.value(e),n);s!==null&&r.push({field:i,snippet:s})}return r}function Km(e,t,n){return[...Js.map(r=>({name:r.name,value:r.value(e),weight:n[r.weightKey]})),{name:"linked_content",value:t,weight:n.linked_content_weight}]}function Vm(e,t,n){let r=P(e.id),i=typeof n=="string"?n.trim().toLowerCase():"",o=P(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?Gm:Hm,matched_fields:["id"],matched_all_terms:!0,exact_id_match:!0}}function Xm(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=Wt(a.value.toLowerCase(),o);d>0&&(i.score+=d*a.weight,i.matched.add(a.name),i.matchedTokens.add(o))}}}function Qm(e,t,n,r){P(e.title)===t&&(r.score+=jm,r.matched.add("title"));for(let i of n){let o=Wt(P(i.value),t);o>0&&(r.score+=o*i.weight*Um,r.matched.add(i.name))}}function fr(e,t,n,r,i,o,s=!1){let a=e.metadata,d=Vm(a,n,o);if(d)return d;let c=new Map;for(let g of ue(a.title))c.set(g,(c.get(g)??0)+1);let l=Km(e,r,i),u={score:0,matched:new Set,matchedTokens:new Set};Xm(t,c,l,i,u);let m=new Set(t),h=m.size>0&&u.matchedTokens.size===m.size;return s&&m.size>1&&h&&(u.score+=Bm),t.length>=Pm&&n.includes(" ")&&Qm(a,n,l,u),u.score<=0?null:{item:a,score:u.score,matched_fields:[...u.matched].sort((g,y)=>g.localeCompare(y)),matched_all_terms:h}}function pr(e,t){return[...e].sort((n,r)=>{let i=r.score-n.score;if(i!==0)return i;let o=J(n.item.status,t),s=J(r.item.status,t);if(o!==s)return o?1:-1;let a=n.item.priority-r.item.priority;if(a!==0)return a;let d=S(r.item.updated_at,n.item.updated_at);return d!==0?d:n.item.id.localeCompare(r.item.id)})}function hr(e,t,n,r,i,o,s,a=!1){return fr(e,t,n,r?i.get(e.metadata.id)??"":"",o,s,a)}function Ve(e){if(e.size===0)return new Map;let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;for(let i of e.values())t=Math.min(t,i),n=Math.max(n,i);if(n===t)return new Map([...e.keys()].map(i=>[i,1]));let r=new Map;for(let[i,o]of e)r.set(i,(o-t)/(n-t));return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c8484fbd-5fb2-56aa-9d69-26646be262a9")}catch{}})();function Vt(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 Xt(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase(),n=Vt(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 gr(e,t){let n=Xt(t);return`search_${e}_fallback:${n}:using_keyword_mode`}function Zs(e){return e?.commands?.some(t=>t.command.trim()==="reindex")===!0?{command:"pm reindex --mode hybrid",args:["reindex","--mode","hybrid"]}:{command:"pm install search-advanced --project",args:["install","search-advanced","--project"],follow_up_command:"pm reindex --mode hybrid",follow_up_args:["reindex","--mode","hybrid"]}}async function yr(e,t,n){try{let r=await qi(e);r.warnings.length>0&&n.push(...r.warnings);let i=ho(t.map(s=>({id:s.metadata.id,updated_at:s.metadata.updated_at})),r.entries);if(i.length===0)return;let o=Zs(E());n.push(...ea(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 ea(e,t){return[`vector_index_stale:${e}`,`vector_index_recovery:${t.args.join(" ")}`,...t.follow_up_args?[`vector_index_recovery_follow_up:${t.follow_up_args.join(" ")}`]:[]]}function Qt(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`,f.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`,f.USAGE);return{provider:t.active,vectorStore:n.active??null}}var j=nt;function Xe(e){let t=E(),n=_i(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=j(r.name)??j(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 _r(e){let t=j(e.search?.provider),n=Xe(t);return n?.query?{providerName:n.providerName,query:n.query}:null}function wr(e){let t=E(),n=j(e.vector_store?.adapter),r=wi(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:j(i.name)??j(r.definition.name)??n??"extension",query:o,...typeof s=="function"?{upsert:s}:{}}}function br(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: [...] }`,f.GENERIC_FAILURE);let i=new Set,o=[];for(let s of r){if(typeof s!="object"||s===null)continue;let a=j(s.id),d=s.score;if(!a||typeof d!="number"||!Number.isFinite(d)||i.has(a))continue;let c=n.get(a);if(!c)continue;let l=s.matched_fields,u=Array.isArray(l)&&l.every(m=>typeof m=="string")?[...new Set(l.map(m=>m.trim()).filter(m=>m.length>0))].sort((m,h)=>m.localeCompare(h)):[`provider:${e}`];i.add(a),o.push({item:c.metadata,score:d,matched_fields:u})}return o}function vr(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 Kt(e,t){let n=t.filter(d=>d.exact_id_match===!0);if(n.length===0)return e;let r=new Set(n.map(d=>d.item.id)),i=e.filter(d=>!r.has(d.item.id)),o=i.reduce((d,c)=>Math.max(d,c.score),0),s=n.sort((d,c)=>c.score-d.score),a=o+s.length+1;return[...s.map((d,c)=>({...d,score:a-c,matched_fields:["id"]})),...i]}function Yt(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=Ve(t),d=Ve(o),c=new Set([...t.keys(),...o.keys()]),l=1-r;return[...c].map(u=>{let m=e.get(u),h=a.get(u)??0,g=d.get(u)??0,y=h*r+g*l;if(y<=0)return null;let _=new Set;t.has(u)&&_.add(i);for(let w of s.get(u)??[])_.add(w);return{item:m.metadata,score:y,matched_fields:[..._].sort((w,I)=>w.localeCompare(I))}}).filter(u=>u!==null)}function kr(e){let t=e.configuredProvider?.trim().toLowerCase();return t==="bm25"?"explicit":t==="auto"&&!e.hasEmbeddingProvider&&!e.hasExtensionSearchProvider?"auto-fallback":null}function Sr(e){let t=e.filteredDocuments.map(s=>({id:s.metadata.id,text:Bs(Gi(s,{fields:e.corpusFields}))})),n=js(t),r=Us(n,ir(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 Kt(s,e.keywordHits)}let o=Yt(i,r,e.keywordHits,e.hybridSemanticWeight,"bm25");return Kt(o,e.keywordHits)}function Er(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 Cr(e){let t=e.metadata,n=Array.isArray(t?.tags)?t.tags.join(" "):"";return[t?.title,t?.description,t?.type,t?.status,n,e.body].map(r=>typeof r=="string"?r.trim():"").filter(r=>r.length>0).join(`
10
+ `)}async function Ym(e,t){let n=e.queryExpansion.enabled?Hs(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 Ws(r,qs(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 Jm(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)})`,f.GENERIC_FAILURE);return e.warnings.push(`search_vector_adapter_failed:${e.extensionVectorAdapter.adapterName}:using_builtin`),await mn(e.vectorStore,t,n,r)}if(e.vectorStore)return await mn(e.vectorStore,t,n,r);throw new p("Semantic search requires either a configured vector store or an extension vector adapter query handler",f.USAGE)}function Zm(e,t,n){return[...e].sort((r,i)=>r.score!==i.score?i.score-r.score:r.item.id.localeCompare(i.item.id)).slice(0,n).map(r=>{let i=t.get(r.item.id);return i?{hit:r,text:Cr(i)}:null}).filter(r=>r!==null)}async function ef(e,t,n){if(!e.rerankExtension?.rerank)return null;try{let r=await Promise.resolve(e.rerankExtension.rerank({query:t,mode:"hybrid",model:e.rerank.model,top_k:e.rerank.top_k,settings:e.settings,candidates:n.map(o=>({id:o.hit.item.id,text:o.text,score:o.hit.score}))})),i=Vs(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 tf(e,t,n){let r=await ef(e,t,n);if(r)return r;let i=n.map(o=>({id:o.hit.item.id,text:o.text}));try{return await Qs(e.provider,e.rerank.model,t,i,e.embeddingTimeoutMs)}catch{return e.warnings.push("search_rerank_failed:using_hybrid_scores"),null}}function nf(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 rf(e,t,n,r){if(!e.rerank.enabled||n.length<=1)return n;let i=Zm(n,r,e.rerank.top_k),o=await tf(e,t,i);return o&&o.size>0?nf(n,o):n}async function Ir(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 Ym(e,i),s=await yt(e.provider,o,n),a=await Promise.all(s.map(async g=>await Jm(e,g,t,r))),d=Er(a),c=new Map(e.filteredDocuments.map(g=>[g.metadata.id,g])),{semanticHits:l,semanticScores:u}=vr(d,c),m=u.size;if(e.requestedMode==="semantic")return{hits:Kt(l,e.keywordHits),vectorMatchCount:m};let h=await rf(e,i,Yt(c,u,e.keywordHits,e.hybridSemanticWeight),c);return{hits:Kt(h,e.keywordHits),vectorMatchCount:m}}function ta(e){let t=Xe(e.provider??void 0);return t?.queryExpansion?{providerName:t.providerName,expand:t.queryExpansion}:null}function na(e){let t=Xe(j(e.search?.provider));return t?.rerank?{providerName:t.providerName,rerank:t.rerank}:null}import Jt from"node:fs/promises";import xr from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="de9a1cbd-f277-52ef-adc6-66225f2d2f4f")}catch{}})();function Tr(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 ra(e){let t=xr.resolve(e);try{let n=await Jt.realpath(t);return{resolved:t,realpath:n}}catch{return null}}async function Rr(e,t){let[n,r]=await Promise.all([ra(e),ra(t)]);return{projectContainmentRoot:n,globalContainmentRoot:r}}async function Ar(e,t){let n=Tr(e.metadata),r=[];for(let i of n){let o=i.scope==="global"?t.globalContainmentRoot:t.projectContainmentRoot;if(!o)continue;let s=xr.resolve(o.resolved,i.path);if(!rn(o.resolved,s))continue;let a;try{a=await Jt.realpath(s)}catch{continue}if(rn(o.realpath,a))try{await Ie({path:s,scope:i.scope}),r.push(await Jt.readFile(s,"utf8"))}catch{}}return r.join(`
11
+ `)}async function Dr(e,t,n,r){let i=le(E()),o=async(c,l,u)=>{let m=async(h,g)=>{await Ie({path:h,scope:"project"});let y=await Jt.readFile(h,"utf8");return bi(y,{format:g,schema:r,extensionFieldNames:i,onWarning:_=>s.push(_)}).body};try{return await m(l,u)}catch{let h=u==="toon"?"json_markdown":"toon",g=on(e,c.type,c.id,h,n);try{return await m(g,h)}catch{return s.push(`item_list_item_read_failed:${xr.relative(e,g)}`),""}}},s=[],a=await Ni(e,t,n,s,r),d=[];if(a.length===0){let c=await Li(e,t,n,s,r);for(let l of c){let u=on(e,l.type,l.id,t,n),m=await o(l,u,t);d.push({metadata:l,body:m})}return{documents:d,warnings:[...new Set(s)].sort((l,u)=>l.localeCompare(u))}}for(let c of a){if(typeof c.body=="string"){d.push({metadata:c.metadata,body:c.body});continue}let l=await o(c.metadata,c.item_path,c.item_format);d.push({metadata:c.metadata,body:l})}return{documents:d,warnings:[...new Set(s)].sort((c,l)=>c.localeCompare(l))}}async function ia(e,t,n){let r=new Map;if(!e||t!=="keyword"&&t!=="hybrid")return r;let i=process.cwd(),o=await Rr(i,Xr(i)),s=await Promise.all(n.map(async a=>[a.metadata.id,await Ar(a,o)]));for(let[a,d]of s)r.set(a,d);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="17122985-4157-5732-9142-444327cb273d")}catch{}})();var oa=["tag","status","type","priority"];function Fr(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=oa.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 Mr(e,t,n){let r={...e};for(let i of oa){let o=t[i];if(o!==void 0){if(nt(r[i])!==void 0){n.push(`search_inline_filter_ignored:${i}:flag_takes_precedence`);continue}r[i]=o}}return r}function sa(e,t){let n=[],r=Fr(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.",f.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=Mr(t,r.inlineFilters,n);return{query:o,options:s,inlineWarnings:n,highlight:s.highlight===!0,includeLinked:Gt(s.includeLinked),titleExact:Gt(s.titleExact),phraseExact:Gt(s.phraseExact),matchMode:$s(typeof s.matchMode=="string"?s.matchMode:void 0),minScoreOverride:Os(s.minScore),countOnly:s.count===!0,tokens:qt(o),normalizedQuery:P(o),limit:pe(s.limit),projection:Ht(s,e),modeWasExplicit:typeof s.mode=="string"&&s.mode.trim().length>0}}function aa(e){if(e.after!==void 0&&e.count===!0)throw new p("Search --after cannot be combined with --count.",f.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7beacb7-66a5-581f-93f0-68ceb4b8e41e")}catch{}})();function Or(e,t,n,r,i,o,s,a,d,c,l,u,m,h){let g=m?{total:0,count_only:!0}:{};if(c.mode==="compact"&&r.compact===!0){let _=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,...jr(h),items:[],count:0,...g,filters:_,...l.length>0?{warnings:l}:{}}}let y=c.mode==="full"?null:[...c.fields];return{query:e.trim(),mode:t,mode_source:h,items:[],count:0,...g,filters:be({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:y},now:D(),...l.length>0?{warnings:l}:{}}}function Nr(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 Lr(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]=Nr(n,i);return r})}function Pr(e,t){return Or(e.query,e.effectiveMode,e.matchMode,e.options,e.includeLinked,e.scoreThreshold,e.hybridSemanticWeight,e.queryExpansion,e.rerank,e.projection,e.warnings,e.runtimeFieldFilters,t,e.modeSource)}function ca(e,t){if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),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 $r({query:e.query.trim(),mode:e.effectiveMode,mode_source:e.modeSource,items:[],count:t,total:t,count_only:!0,filters:be({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:D()},e.warnings)}function jr(e){return e==="settings"?{mode_source:e}:{}}function $r(e,t){return t.length===0?e:{...e,warnings:t}}function Qe(e,t){return t?{...e,workspace_memory:t}:e}function da(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:zt(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 la(e,t,n,r,i,o){let s=r<n?{total:n}:{};if(e.projection.mode==="compact"&&e.options.compact===!0)return $r({query:e.query.trim(),mode:e.effectiveMode,...jr(e.modeSource),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,mode_source:e.modeSource,items:t,count:t.length,...s,...o,filters:be({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:D(),...e.warnings.length>0?{warnings:e.warnings}:{}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3bfd872f-6ed7-551c-a027-3748493de3e9")}catch{}})();var I_={applyFilters:lr,applyExactQueryFilters:dr,applyInlineQueryFilters:Mr,buildHitHighlights:zt,buildVerboseSearchFilters:be,buildExplicitSemanticFallbackWarning:gr,buildCompactSearchFilterSummary:we,buildHybridLexicalScore:hr,buildRerankCorpus:Cr,buildSemanticHits:vr,classifyImplicitSemanticFallbackReason:Xt,collectErrorCauseCodes:Vt,collectExactPhraseFields:ar,collectLinkedPaths:Tr,combineHybridHits:Yt,computeBuiltInBm25Hits:Sr,computeSemanticOrHybridHits:Ir,resolveBuiltInBm25Mode:kr,countOccurrences:Wt,dependencyEntries:Ke,documentContainsExactPhrase:cr,emptySearchResult:Or,highlightFieldSnippet:mr,loadDocuments:Dr,markTokenRuns:ur,parseInlineQueryFilters:Fr,maybeEmitVectorIndexStaleWarning:yr,loadLinkedCorpus:Ar,mergeVectorHitsById:Er,normalizeExtensionProviderHits:br,normalizeScoreMap:Ve,parseProjectionConfig:Ht,parseTimestampWindow:oe,parseTokens:qt,projectSearchHits:Lr,readSearchFieldValue:Nr,requireSemanticDependencies:Qt,resolveExtensionSearchProvider:_r,resolveExtensionSearchProviderByName:Xe,resolveExtensionVectorAdapter:wr,resolveLinkedCorpusRoots:Rr,scoreDocument:fr,sortHits:pr,stringArray:ve,textEntries:K,validateSearchProjectionFields:Yn};async function of(e,t){let n=T(process.cwd(),t.path);await U(n);let r=await A(n),i=Oi(r).settings,o=N(i.schema),s=Y(i.schema);Yn(e.projection,s,e.query);let a=pt(e.options,s,"search"),d=R(i,E()),c=Ui(i),l=Hi(i,n),u=_r(i),m=wr(i),h=Ms(e.options.semanticWeight),g=zs(i,c.active?.name??null),y=Ks(i,c.active?.model??j(i.search?.embedding_model)??"text-embedding-3-small");return{pmRoot:n,settings:i,statusRegistry:o,runtimeFieldRegistry:s,runtimeFieldFilters:a,typeRegistry:d,maxResults:Jn(i),scoreThreshold:e.minScoreOverride??er(i),semanticWeightProvided:e.options.semanticWeight!==void 0,semanticWeightOverride:h,hybridSemanticWeight:h??tr(i),tuning:nr(i),providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m,bm25Mode:kr({configuredProvider:j(i.search?.provider),hasEmbeddingProvider:c.active!==null,hasExtensionSearchProvider:u!==null}),queryExpansion:g,queryExpansionExtension:ta(g),rerank:y,rerankExtension:na(i),...sf({requested:e.options.mode,settings:i,configuredProvider:r.search?.provider??null,providerResolution:c,vectorResolution:l,extensionSearchProvider:u,extensionVectorAdapter:m})}}function sf(e){let t=ji(e.providerResolution.active?.name,e.configuredProvider)==="configured"&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null),n=e.extensionSearchProvider!==null||t,r=Zn({requested:e.requested,settings:e.settings,semanticRunnable:n});return{effectiveMode:r.mode,modeSource:r.source}}async function af(e,t){let n=await Dr(t.pmRoot,t.settings.item_format??"toon",t.typeRegistry.type_to_folder,t.settings.schema),r=ft(typeof e.options.status=="string"?e.options.status:void 0,t.statusRegistry,{strict:!0}),i=Zi(t.statusRegistry),o=lr(n.documents,e.options,t.typeRegistry,t.runtimeFieldFilters,r,i);return{warnings:n.warnings,allDocuments:n.documents,filteredDocuments:dr(o,e.normalizedQuery,{titleExact:e.titleExact,phraseExact:e.phraseExact||e.matchMode==="exact"})}}async function cf(e,t,n){let r=await ia(e.includeLinked,t.effectiveMode,n),i=e.matchMode==="or";return n.map(o=>hr(o,e.tokens,e.normalizedQuery,e.includeLinked,r,t.tuning,t.settings.id_prefix,i)).filter(o=>o!==null).filter(o=>e.matchMode!=="and"||o.matched_all_terms===!0)}async function df(e,t,n,r,i){if(t.bm25Mode===null||t.effectiveMode==="keyword")return null;let o=Sr({requestedMode:t.effectiveMode,query:e.query,filteredDocuments:n,keywordHits:r,corpusFields:Bi(t.settings),bm25Params:Gs(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 lf(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 br(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)}`,f.GENERIC_FAILURE);return null}}function uf(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 mf(e,t,n,r,i){let o=!e.extensionSearchProvider&&e.providerResolution.active!==null&&(e.vectorResolution.active!==null||e.extensionVectorAdapter!==null);i&&o&&await yr(e.pmRoot,n,r),e.extensionSearchProvider||Qt(t,e.providerResolution,e.vectorResolution,e.extensionVectorAdapter!==null)}async function ff(e){let{prepared:t,runtime:n,filteredDocuments:r,keywordHits:i,warnings:o,modeWasExplicit:s}=e,a=i,d=await df(t,n,r,i,o),c=n.effectiveMode;if(d!==null||c==="keyword")return{effectiveMode:n.effectiveMode,hits:d??a};try{if(await mf(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 lf(t,n,r,l)??a,a===i){let{provider:u,vectorStore:m}=Qt(c,n.providerResolution,n.vectorResolution,n.extensionVectorAdapter!==null),h=await Ir({requestedMode:c,query:t.query,filteredDocuments:r,keywordHits:i,hybridSemanticWeight:n.hybridSemanticWeight,limit:t.limit,maxResults:n.maxResults,provider:u,vectorStore:m,extensionVectorAdapter:n.extensionVectorAdapter,queryExpansion:n.queryExpansion,queryExpansionExtension:n.queryExpansionExtension,rerank:n.rerank,rerankExtension:n.rerankExtension,warnings:o,settings:n.settings});a=uf(c,h,i,o)}return{effectiveMode:n.effectiveMode,hits:a}}catch(l){return o.push(gr(n.effectiveMode,l)),{effectiveMode:"keyword",hits:i}}}function ua(e){e.searchOptions.after!==void 0&&ui(e.searchOptions.after,rr(e))}async function x_(e,t,n){aa(t);let r=sa(e,t),i=await of(r,n),o=await af(r,i),s=o.warnings;s.push(...r.inlineWarnings);let a=await $t(o.allDocuments.map(k=>k.metadata),{pmRoot:i.pmRoot,statusRegistry:i.statusRegistry,now:D()});s.push(...a.warnings);let d=ts(a,r.query);i.effectiveMode==="hybrid"&&i.semanticWeightProvided&&i.semanticWeightOverride===void 0&&s.push("search_hybrid_semantic_weight_override_invalid:using_settings_default");let c={query:r.query,modeSource:i.modeSource,matchMode:r.matchMode,options:r.options,includeLinked:r.includeLinked,titleExact:r.titleExact,phraseExact:r.phraseExact,scoreThreshold:i.scoreThreshold,hybridSemanticWeight:i.hybridSemanticWeight,queryExpansion:i.queryExpansion,rerank:i.rerank,projection:r.projection,warnings:s,runtimeFieldFilters:i.runtimeFieldFilters};if(i.effectiveMode==="keyword"&&(o.filteredDocuments.length===0||r.limit===0&&!r.countOnly))return ua({query:r.query,mode:i.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Qe(Pr({...c,effectiveMode:i.effectiveMode},r.countOnly),d);let l=await cf(r,i,o.filteredDocuments),u=await ff({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 ua({query:r.query,mode:u.effectiveMode,searchOptions:r.options,pmRoot:i.pmRoot}),Qe(Pr({...c,effectiveMode:u.effectiveMode},r.countOnly),d);let m=u.hits.filter(k=>k.exact_id_match===!0||k.score>=i.scoreThreshold),h=pr(m,i.statusRegistry),g=h.length,y=Ns({pmRoot:i.pmRoot,sorted:h,query:r.query,mode:u.effectiveMode,searchOptions:r.options,limit:r.limit??i.maxResults}),_={...c,effectiveMode:u.effectiveMode};if(r.countOnly)return Qe(ca(_,g),d);let{hits:w,projection:I}=da(r,o.filteredDocuments,y.limited),b=Lr(w,I);return Qe(la(_,b,g,y.limited.length,I,y.pageExtras),d)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f303192a-cac2-588b-b988-e3a8132f4199")}catch{}})();var ma=["ndcg","mrr","precision","recall"];function pf(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Eval minimum must be an object of metric floors");let t={};for(let[n,r]of Object.entries(e)){if(!ma.some(i=>i===n))throw new TypeError(`Unknown eval minimum metric: ${n}`);if(typeof r!="number"||!Number.isFinite(r)||r<0||r>1)throw new TypeError(`Eval minimum.${n} must be a finite number in [0, 1]`);t[n]=r}return t}function R_(e,t){let n=pf(t),r=[];for(let i of ma){let o=n[i];if(o===void 0)continue;let s=e[i];!Number.isFinite(s)||s<0||s>1?r.push(`${i}:invalid`):s<o&&r.push(`${i}:${s}<${o}`)}return r}export{Fe as a,gf as b,pa as c,gn as d,wf as e,va as f,ka as g,bf as h,Ef as i,Oh as j,_o as k,Af as l,Df as m,Ff as n,Mf as o,wo as p,Me as q,Kf as r,Vf as s,Xf as t,Oo as u,It as v,gc as w,xt as x,Rt as y,up as z,jo as A,Rn as B,Dt as C,Kc as D,Ho as E,Jc as F,Ft as G,Zc as H,ed as I,id as J,od as K,kp as L,sd as M,qo as N,An as O,Dn as P,gd as Q,kd as R,Mp as S,Fn as T,Mn as U,Mt as V,xd as W,Dd as X,$t as Y,Pd as Z,es as _,jd as $,ts as aa,Ud as ba,Kd as ca,je as da,uh as ea,Ln as fa,Qd as ga,Yd as ha,jn as ia,ie as ja,Bn as ka,Gn as la,Hn as ma,ye as na,Ge as oa,Pt as pa,mh as qa,Jl as ra,fh as sa,ru as ta,Rh as ua,Ah as va,Dh as wa,Fh as xa,Mh as ya,Bh as za,Gh as Aa,Ts as Ba,Rs as Ca,As as Da,gg as Ea,yg as Fa,Tg as Ga,Jn as Ha,Zn as Ia,er as Ja,tr as Ka,nr as La,rr as Ma,Ns as Na,we as Oa,be as Pa,Vt as Qa,Xt as Ra,Zs as Sa,ea as Ta,I_ as Ua,x_ as Va,ma as Wa,pf as Xa,R_ as Ya};
12
+ //# sourceMappingURL=chunk-EA65HVBO.js.map