@unbrained/pm-cli 2026.9.5 → 2026.9.7

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 (185) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +39 -3
  3. package/dist/cli/main.js +10 -8
  4. package/dist/cli/register-operations.js +13 -8
  5. package/dist/cli-bundle/bundle-manifest.json +150 -158
  6. package/dist/cli-bundle/chunks/chunk-AZDFJGH6.js +9 -0
  7. package/dist/cli-bundle/chunks/{chunk-WWAEGW4V.js → chunk-BAX2BYUW.js} +66 -66
  8. package/dist/cli-bundle/chunks/{chunk-IBYREGSP.js → chunk-CKOL5U7J.js} +51 -51
  9. package/dist/cli-bundle/chunks/{chunk-ZRAQS3UA.js → chunk-JT6XF6GE.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-HUAQITVW.js → chunk-JX4DH4WC.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-QPZHQY2O.js → chunk-NPN5I67J.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-66VPKFP2.js → chunk-OF76PSDQ.js} +2 -2
  13. package/dist/cli-bundle/chunks/chunk-QUWFABDM.js +232 -0
  14. package/dist/cli-bundle/chunks/{chunk-3HBDTJRK.js → chunk-RWWBOWJ5.js} +2 -2
  15. package/dist/cli-bundle/chunks/chunk-WGAOYSYH.js +40 -0
  16. package/dist/cli-bundle/chunks/{chunk-SF6SM6U5.js → chunk-WI2AYPA7.js} +2 -2
  17. package/dist/cli-bundle/chunks/{register-list-query-AYKGODWT.js → register-list-query-5JL52D33.js} +2 -2
  18. package/dist/cli-bundle/chunks/{register-mutation-YZYG53SQ.js → register-mutation-ZPG7KMVP.js} +2 -2
  19. package/dist/cli-bundle/chunks/register-operations-I5W3KMGB.js +2 -0
  20. package/dist/cli-bundle/chunks/{register-setup-UJCRVGBG.js → register-setup-H4SVAVX7.js} +2 -2
  21. package/dist/cli-bundle/focused-chunks/{chunk-QL66QNWG.js → chunk-3BZEOXLT.js} +2 -2
  22. package/dist/cli-bundle/focused-chunks/chunk-AL5ON6K6.js +2 -0
  23. package/dist/cli-bundle/focused-chunks/chunk-CHC2IDXA.js +6 -0
  24. package/dist/cli-bundle/focused-chunks/chunk-CK6QFAPZ.js +20 -0
  25. package/dist/cli-bundle/focused-chunks/{chunk-WOCIPMW7.js → chunk-EZR3GHFE.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-H2WJWK7L.js +56 -0
  27. package/dist/cli-bundle/focused-chunks/{chunk-3ASU6WGI.js → chunk-LIJIA4TY.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/{chunk-H5FOGAVD.js → chunk-M6PBRFSH.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-B2TTQGFG.js → chunk-NTPY5GSO.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/chunk-P5O7MP5Y.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/chunk-PDMW2E36.js +177 -0
  32. package/dist/cli-bundle/focused-chunks/{chunk-YEF5PQQ2.js → chunk-PEFABF7E.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-KWWCBWFO.js → chunk-QTVCLMSZ.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-4OSHLNUE.js → chunk-QTZRBUYA.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/chunk-SGQST3PQ.js +12 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-UKHASMMP.js +10 -0
  37. package/dist/cli-bundle/focused-chunks/chunk-ZPEKQHOC.js +2 -0
  38. package/dist/cli-bundle/main.js +20 -20
  39. package/dist/cli-bundle/sdk-authoring.js +1 -1
  40. package/dist/cli-bundle/sdk-contracts.js +2 -2
  41. package/dist/cli-bundle/sdk-core.js +37 -37
  42. package/dist/cli-bundle/sdk-governance.js +1 -1
  43. package/dist/cli-bundle/sdk-graph.js +1 -1
  44. package/dist/cli-bundle/sdk-merge.js +42 -42
  45. package/dist/cli-bundle/sdk-query.js +1 -1
  46. package/dist/cli-bundle/sdk-runtime.js +1 -1
  47. package/dist/cli-bundle/sdk-testing.js +1 -1
  48. package/dist/cli-bundle/sdk.js +9 -9
  49. package/dist/core/extensions/module-graph-snapshot.js +5 -4
  50. package/dist/core/fs/host-environment-errors.d.ts +27 -0
  51. package/dist/core/fs/host-environment-errors.js +142 -0
  52. package/dist/core/output/mutation-projection.js +12 -5
  53. package/dist/core/store/item-metadata-query-index.js +13 -10
  54. package/dist/core/store/item-metadata-read-work.d.ts +19 -0
  55. package/dist/core/store/item-metadata-read-work.js +44 -0
  56. package/dist/core/store/item-store.js +6 -2
  57. package/dist/core/validate/fix-planning.d.ts +1 -1
  58. package/dist/core/validate/fix-planning.js +2 -2
  59. package/dist/core/validate/missing-link-owners.d.ts +1 -1
  60. package/dist/core/validate/missing-link-owners.js +5 -3
  61. package/dist/core/validate/stale-file-classification.d.ts +6 -4
  62. package/dist/core/validate/stale-file-classification.js +20 -5
  63. package/dist/mcp/server.js +12 -5
  64. package/dist/sdk/cli-contracts/flag-contracts.d.ts +2 -0
  65. package/dist/sdk/cli-contracts/flag-contracts.js +7 -5
  66. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +4 -3
  67. package/dist/sdk/cli-contracts/grammar-contracts.js +11 -2
  68. package/dist/sdk/cli-contracts/runtime-contracts.js +5 -2
  69. package/dist/sdk/cli-contracts/schemas/assurance-definition.d.ts +254 -5
  70. package/dist/sdk/cli-contracts/schemas/assurance-definition.js +52 -2
  71. package/dist/sdk/cli-contracts/tool-parameter-tables.js +18 -6
  72. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
  73. package/dist/sdk/cli-contracts/tool-schema.js +17 -5
  74. package/dist/sdk/context/usage-ledger.d.ts +41 -0
  75. package/dist/sdk/context/usage-ledger.js +186 -0
  76. package/dist/sdk/context-usage.d.ts +18 -9
  77. package/dist/sdk/context-usage.js +37 -112
  78. package/dist/sdk/dependency-provenance.d.ts +7 -0
  79. package/dist/sdk/dependency-provenance.js +14 -4
  80. package/dist/sdk/duplicates.d.ts +2 -0
  81. package/dist/sdk/duplicates.js +3 -2
  82. package/dist/sdk/environment/host-environment-errors.d.ts +5 -27
  83. package/dist/sdk/environment/host-environment-errors.js +4 -137
  84. package/dist/sdk/extension/install-runtime.js +9 -6
  85. package/dist/sdk/extension/install-snapshot.js +7 -6
  86. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +8 -8
  87. package/dist/sdk/governance/assurance-action.d.ts +3 -2
  88. package/dist/sdk/governance/assurance-action.js +23 -11
  89. package/dist/sdk/governance/assurance-runtime.d.ts +2 -0
  90. package/dist/sdk/governance/assurance-runtime.js +6 -3
  91. package/dist/sdk/governance/defect-recurrence-coverage.d.ts +93 -0
  92. package/dist/sdk/governance/defect-recurrence-coverage.js +189 -0
  93. package/dist/sdk/governance/defect-recurrence-graph.d.ts +33 -0
  94. package/dist/sdk/governance/defect-recurrence-graph.js +121 -0
  95. package/dist/sdk/governance/defect-recurrence.d.ts +8 -0
  96. package/dist/sdk/governance/defect-recurrence.js +118 -17
  97. package/dist/sdk/governance/health.d.ts +17 -2
  98. package/dist/sdk/governance/health.js +31 -10
  99. package/dist/sdk/governance/linked-file-report.d.ts +41 -0
  100. package/dist/sdk/governance/linked-file-report.js +72 -0
  101. package/dist/sdk/governance/validate.d.ts +5 -2
  102. package/dist/sdk/governance/validate.js +21 -37
  103. package/dist/sdk/governance.d.ts +2 -0
  104. package/dist/sdk/governance.js +4 -2
  105. package/dist/sdk/history-repair.d.ts +7 -0
  106. package/dist/sdk/history-repair.js +48 -13
  107. package/dist/sdk/lifecycle/close.d.ts +8 -0
  108. package/dist/sdk/lifecycle/close.js +16 -8
  109. package/dist/sdk/lifecycle/create.js +9 -12
  110. package/dist/sdk/lifecycle/update.js +12 -12
  111. package/dist/sdk/lifecycle-policy.d.ts +3 -0
  112. package/dist/sdk/lifecycle-policy.js +2 -2
  113. package/dist/sdk/merge/abandoned-receipts.d.ts +15 -0
  114. package/dist/sdk/merge/abandoned-receipts.js +47 -0
  115. package/dist/sdk/merge/driver.js +4 -2
  116. package/dist/sdk/merge/index.d.ts +1 -0
  117. package/dist/sdk/merge/index.js +2 -2
  118. package/dist/sdk/merge/receipt-operation.d.ts +15 -0
  119. package/dist/sdk/merge/receipt-operation.js +97 -0
  120. package/dist/sdk/merge/receipt-schema.d.ts +20 -0
  121. package/dist/sdk/merge/receipt-schema.js +398 -0
  122. package/dist/sdk/merge/receipts.d.ts +16 -7
  123. package/dist/sdk/merge/receipts.js +54 -340
  124. package/dist/sdk/merge/reconcile.d.ts +2 -0
  125. package/dist/sdk/merge/reconcile.js +11 -4
  126. package/dist/sdk/public-surface.json +1 -1
  127. package/dist/sdk/query/duplicate-candidates.d.ts +7 -0
  128. package/dist/sdk/query/duplicate-candidates.js +71 -0
  129. package/dist/sdk/query/get.js +7 -7
  130. package/dist/sdk/query.d.ts +2 -0
  131. package/dist/sdk/query.js +4 -2
  132. package/dist/sdk/read-output-session.js +5 -3
  133. package/dist/sdk/runtime.js +4 -2
  134. package/dist/sdk/similarity.d.ts +24 -3
  135. package/dist/sdk/similarity.js +50 -55
  136. package/docs/AGENT_GUIDE.md +23 -2
  137. package/docs/BOUNDED_CONTEXT_READS.md +185 -0
  138. package/docs/CLOSE_EVIDENCE_RECOVERY.md +35 -0
  139. package/docs/COMMANDS.md +30 -8
  140. package/docs/CONTEXT_RELEVANCE.md +16 -4
  141. package/docs/DEFECT_RECURRENCE.md +80 -6
  142. package/docs/EXTENSIONS.md +18 -19
  143. package/docs/MERGE_SAFETY.md +50 -0
  144. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +66 -0
  145. package/docs/PR_REVIEW_LOOP.md +18 -3
  146. package/docs/README.md +18 -1
  147. package/docs/RELEASING.md +7 -2
  148. package/docs/SDK_LIFECYCLE.md +27 -0
  149. package/docs/SDK_RUNTIME_BOUNDARIES.md +11 -0
  150. package/docs/generated/FLAG_LEXICON_BUDGETS.md +1 -1
  151. package/marketplace.json +2 -2
  152. package/package.json +6 -3
  153. package/packages/pm-beads/package.json +1 -1
  154. package/packages/pm-calendar/package.json +1 -1
  155. package/packages/pm-command-kit/package.json +1 -1
  156. package/packages/pm-digital-twin/package.json +1 -1
  157. package/packages/pm-governance-audit/README.md +10 -1
  158. package/packages/pm-governance-audit/extensions/governance-audit/dedupe-audit.ts +50 -65
  159. package/packages/pm-governance-audit/extensions/governance-audit/index.ts +2 -2
  160. package/packages/pm-governance-audit/extensions/governance-audit/sdk.ts +1 -0
  161. package/packages/pm-governance-audit/package.json +1 -1
  162. package/packages/pm-guide-shell/package.json +1 -1
  163. package/packages/pm-kanban/package.json +1 -1
  164. package/packages/pm-lifecycle-hooks/package.json +1 -1
  165. package/packages/pm-linked-test-adapters/package.json +1 -1
  166. package/packages/pm-search-advanced/package.json +1 -1
  167. package/packages/pm-templates/package.json +1 -1
  168. package/packages/pm-todos/package.json +1 -1
  169. package/packages/pm-vcs/package.json +1 -1
  170. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  171. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  172. package/dist/cli-bundle/chunks/chunk-LUI4E32I.js +0 -231
  173. package/dist/cli-bundle/chunks/chunk-SVK5Y64D.js +0 -40
  174. package/dist/cli-bundle/chunks/chunk-V5GBD5KV.js +0 -9
  175. package/dist/cli-bundle/chunks/register-operations-KFSCC7QV.js +0 -2
  176. package/dist/cli-bundle/focused-chunks/chunk-24IG6ONG.js +0 -2
  177. package/dist/cli-bundle/focused-chunks/chunk-3ITLIBKS.js +0 -56
  178. package/dist/cli-bundle/focused-chunks/chunk-3NQD5YDG.js +0 -2
  179. package/dist/cli-bundle/focused-chunks/chunk-65N6JHAN.js +0 -2
  180. package/dist/cli-bundle/focused-chunks/chunk-GUBM3RGY.js +0 -20
  181. package/dist/cli-bundle/focused-chunks/chunk-JX3RCVCX.js +0 -2
  182. package/dist/cli-bundle/focused-chunks/chunk-MV752SUC.js +0 -12
  183. package/dist/cli-bundle/focused-chunks/chunk-PKIPMCFS.js +0 -6
  184. package/dist/cli-bundle/focused-chunks/chunk-RJMR2JIF.js +0 -9
  185. package/dist/cli-bundle/focused-chunks/chunk-WIUPWIZR.js +0 -177
@@ -1,20 +0,0 @@
1
- import{$a as pt,Aa as pe,D as ve,Da as nr,E as er,F as tr,Ma as or,Na as Re,O as de,Oa as C,Pa as ke,Q as st,T as at,Ta as ft,U as le,Ua as re,V as ct,W as ue,Ya as mt,ab as ht,bb as _t,da as ee,eb as ir,fb as q,gb as B,ia as dt,ja as lt,jb as De,na as ut,qa as te,ra as rr,sa as fe,ua as Ce,ya as me}from"./chunk-WIUPWIZR.js";import{m as xe}from"./chunk-B2TTQGFG.js";import{D as v,M as Ae,r as ce,u as j}from"./chunk-RJMR2JIF.js";import{$ as u,Aa as F,Ga as H,Ia as nt,Ja as ot,Ka as se,La as Jt,Ma as Ie,Pa as b,Ra as ae,Sa as Z,Ta as E,V as rt,Va as Zt,aa as f,i as tt,ja as P,la as J,ma as T,na as S,pa as Te,pb as it}from"./chunk-PKIPMCFS.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]="b9581c92-5e8a-589d-9681-d4d014e6902b")}catch{}})();function $n(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new f(`${t} must be a non-negative number`,u.USAGE);return Math.floor(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]="7775a1f2-5167-5853-a2c5-a44d46f8e80e")}catch{}})();var Fn=/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/,Un=/\bnpm_[A-Za-z0-9]{36}\b/,zn=/\bxox[baprs]-(?=[A-Za-z0-9-]{20,80}\b)(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{20,80}\b/,Vn=/-----BEGIN (?:[A-Z0-9]+ )?PRIVATE KEY-----/,Hn=/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/,sr=/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,jn=[{action:"append",history_scope:"item"},{action:"claim",history_scope:"item"},{action:"close",history_scope:"item"},{action:"close-many",history_scope:"item"},{action:"close-task",history_scope:"item"},{action:"comments",history_scope:"conditional"},{action:"config",history_scope:"conditional"},{action:"copy",history_scope:"item"},{action:"create",history_scope:"item"},{action:"delete",history_scope:"item"},{action:"deps",history_scope:"conditional"},{action:"discover",history_scope:"item"},{action:"docs",history_scope:"conditional"},{action:"files",history_scope:"conditional"},{action:"focus",history_scope:"conditional"},{action:"gc",history_scope:"conditional"},{action:"history-compact",history_scope:"history"},{action:"history-author-acknowledge",history_scope:"workspace"},{action:"history-redact",history_scope:"history"},{action:"history-repair",history_scope:"history"},{action:"init",history_scope:"workspace"},{action:"install",history_scope:"conditional"},{action:"learnings",history_scope:"conditional"},{action:"notes",history_scope:"conditional"},{action:"package",history_scope:"conditional"},{action:"pause-task",history_scope:"item"},{action:"plan",history_scope:"conditional"},{action:"profile",history_scope:"conditional"},{action:"release",history_scope:"item"},{action:"restore",history_scope:"item"},{action:"schema",history_scope:"conditional"},{action:"start-task",history_scope:"item"},{action:"templates",history_scope:"conditional"},{action:"test",history_scope:"conditional"},{action:"test-all",history_scope:"conditional"},{action:"update",history_scope:"item"},{action:"update-many",history_scope:"item"},{action:"upgrade",history_scope:"conditional"}],gt=new Map(jn.map(e=>[e.action,e]));function qn(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);let r=0;for(let n of t.values()){let o=n/e.length;r-=o*Math.log2(o)}return r}function yt(e,t="$",r=new WeakSet){return typeof e=="string"?[{path:t,value:e}]:typeof e!="object"||e===null?[]:r.has(e)?[]:(r.add(e),Array.isArray(e)?e.flatMap((n,o)=>yt(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>yt(o,`${t}.${n}`,r)))}function ar(e){let t=[];for(let r of yt(e)){Fn.test(r.value)&&t.push({rule:"github_token",path:r.path}),Un.test(r.value)&&t.push({rule:"npm_token",path:r.path}),zn.test(r.value)&&t.push({rule:"slack_token",path:r.path}),Vn.test(r.value)&&t.push({rule:"private_key",path:r.path}),Hn.test(r.value)&&t.push({rule:"aws_access_key",path:r.path}),sr.lastIndex=0;for(let n of r.value.matchAll(sr)){let o=n[1];if(qn(o)>=3.5){t.push({rule:"high_entropy_assignment",path:r.path});break}}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function Bn(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new f("Mutation author is required by workspace policy.",u.USAGE,{code:"mutation_author_required",required:"Pass --author <id>, set PM_AUTHOR, or configure author_default.",nextSteps:["Retry with --author <stable-agent-id>.","Set PM_AUTHOR for this agent session."]});if(e.settings.secret_guard==="off")return{author:t,findings:[],warnings:[],override_applied:!1};let r;try{r=ar(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(r.length===0)return{author:t,findings:r,warnings:[],override_applied:!1};let n=[...new Set(r.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new f(`Mutation blocked by secret guard (${n}). No detected value was logged.`,u.CONFLICT,{code:"mutation_secret_guard_blocked",required:"Remove the credential-shaped content or retry with --force after explicit review.",nextSteps:["Replace the value with a secret-manager reference.","Use pm history-redact if equivalent content already entered history."],recovery:{recovery_mode:"compact",attempted_command:"pm <mutation> [REDACTED]",normalized_args:["[REDACTED]"],suggested_retry:"Remove credential-shaped content, then retry the mutation."}});return{author:t,findings:r,warnings:[`secret_guard_detected:${r.length}:rules=${n}`,...e.settings.secret_guard==="block"&&e.force===!0?["secret_guard_force_override"]:[]],override_applied:e.settings.secret_guard==="block"&&e.force===!0}}function Gn(e){return gt.has(e.trim().toLowerCase())}function Yn(){return[...gt.keys()].sort((e,t)=>e.localeCompare(t))}function yc(e){return gt.get(e.trim().toLowerCase())}(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]="3ad30a32-0f83-5473-b0a3-349e271d8378")}catch{}})();function Wn(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function wc(e){return Wn(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function he(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let r=new Set(e),n=new Set(t),o=0;for(let s of r)n.has(s)&&(o+=1);let i=new Set([...r,...n]).size;return o/i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="dff9b113-2b29-5154-afbf-f191f2f556a6")}catch{}})();var Kn=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function Le(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ye(e){return[...new Set(Le(e).match(/[\p{L}\p{N}]+/gu)??[])]}function _e(e){let t=Le(e);return{normalized:t,tokens:ye(t),issueCodes:[...new Set(t.match(Kn)?.map(r=>r.toLowerCase())??[])]}}function Me(e,t){return Ne(_e(e),_e(t))}function Ne(e,t){if(e.normalized===t.normalized)return{score:1,reason:"exact_title"};let r=new Set(e.issueCodes);return t.issueCodes.some(n=>r.has(n))?{score:.99,reason:"issue_code"}:{score:he(e.tokens,t.tokens),reason:"title_token_jaccard"}}import Xn 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]="376bb9d2-e202-57e7-86c8-d70a7d3fa7ab")}catch{}})();function Oe(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function Qn(e,t){return[e.updated_at,t].map(n=>({value:n,time:Date.parse(n??"")})).filter(n=>typeof n.value=="string"&&Number.isFinite(n.time)).sort((n,o)=>o.time-n.time)[0]?.value??e.updated_at}function cr(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=Oe(t.in_progress_status),i=[];for(let s of e){if(Oe(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=Qn(s,t.last_history_activity?.(s)),c=Date.parse(a);if(!Number.isFinite(c))continue;let d=Math.max(0,Math.floor((n-c)/36e5));d>=r&&i.push({id:s.id,last_activity_at:a,age_hours:d})}return i.sort((s,a)=>a.age_hours-s.age_hours||s.id.localeCompare(a.id)),{threshold_hours:r,count:i.length,items:i,remediation:"Claim active work with `pm claim <id>` or return abandoned work to open with `pm update <id> --status open`."}}async function Jn(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Oe(String(o.status))===Oe(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ue(Xn.join(e,"history",`${o.id}.jsonl`),o.id)}catch{return}let s=i.map(a=>a.ts).filter(a=>Number.isFinite(Date.parse(a))).sort((a,c)=>Date.parse(c)-Date.parse(a))[0];s&&n.set(o.id,s)})),cr(t,{...r,last_history_activity:o=>n.get(o.id)})}import{mkdir as Zn,readFile as eo}from"node:fs/promises";import dr 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]="71a8cd89-54fc-5f8a-b93b-9e4a79bb34b6")}catch{}})();function to(e){let t=e.trim();if(!t)throw new f("--rollback requires a non-empty checkpoint ID",u.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new f("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",u.USAGE);return t}function ro(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function lr(e,t){return dr.join(e,"checkpoints",t)}function ur(e,t,r){return dr.join(lr(e,t),`${r}.json`)}async function no(e,t,r,n){let o=lr(e,t);await Zn(o,{recursive:!0});let i=ur(e,t,r);return await S(i,`${JSON.stringify(n,null,2)}
2
- `),i}function oo(e,t){if(!Array.isArray(e.items))throw new f(`Checkpoint ${t} is missing items`,u.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new f(`Checkpoint ${t} contains an invalid item entry`,u.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without ID`,u.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without target_updated_at`,u.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function io(e,t,r,n){let o=to(r),i=ur(e,t,o);if(!await P(i))throw new f(`Checkpoint ${o} not found`,u.NOT_FOUND);let s=await eo(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new f(`Checkpoint ${o} contains invalid JSON: ${E(l)}`,u.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new f(`Checkpoint ${o} is invalid`,u.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new f(`Checkpoint ${o} has unsupported schema version`,u.GENERIC_FAILURE);let d=oo(c,o);return{record:c,items:d,path:i,id:typeof c.id=="string"?c.id:o,created_at:typeof c.created_at=="string"?c.created_at:v(),author:typeof c.author=="string"?c.author:"unknown"}}async function so(e,t){let r=[],n=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);r.push({id:o.id,status:"restored",changed_fields:i.changed_fields,warnings:i.warnings}),n.push(o.id)}catch(i){r.push({id:o.id,status:"failed",error:E(i)})}return{rows:r,restored_ids:n,failed_count:r.filter(o=>o.status==="failed").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]="ab276268-7a98-5f97-b3f5-300dfd1b5ed5")}catch{}})();function U(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Oc(e,t){let r=U(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>U(n.definition.id)===r)??null}function ao(e,t){let r=U(t);return!e||!r?null:[...e.search_providers].reverse().find(o=>(U(o.runtime_definition?.name)??U(o.definition?.name))===r)??null}function co(e,t){let r=U(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(o=>(U(o.runtime_definition?.name)??U(o.definition?.name))===r)??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]="80965b57-856c-5fef-a372-0c9f3766ada5")}catch{}})();var $="-",mr=new Set(["actual_result","body","cmd","command","customer_impact","description","environment","expected_result","impact","location","message","note","outcome","repro_steps","resolution","text","title","unblock_note","value","why_now"]);function Uc(e,t){if(e.startsWith("```")||e.includes(`
3
- `))return!0;let r=t.map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`^(?:[-*+]\\s+)?(?:${r})\\s*[:=]`,"i").test(e)}function pr(e){let t=e.trim();if(t==="")return[];let n=(po(t)??t.split(",")).map(o=>o.trim()).filter(Boolean).map(o=>o.toLowerCase());return Array.from(new Set(n)).sort((o,i)=>o.localeCompare(i))}function hr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of pr(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function _r(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function lo(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function uo(e,t,r){let n=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new f('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',u.USAGE,{code:"acceptance_criteria_semicolon_forbidden",required:"Pass one semicolon-free criterion per --add-ac value",why:"A semicolon inside one criterion would be re-read as multiple criteria",nextSteps:["Split the text into repeated --add-ac values, or replace the semicolon with punctuation that is not the storage delimiter"]});a.length>0&&!n.includes(a)&&n.push(a)}let o=[],i=n;for(let s of r??[]){let a=s.trim();if(a.length!==0){if(!i.includes(a)){o.push(a);continue}i=i.filter(c=>c!==a)}}return{criteria:i,unmatchedRemovals:o}}function fo(e,t){let r=_r(e);if(!t||t.length===0)return Array.from(new Set(r)).sort((o,i)=>o.localeCompare(i));let n=new Set(r);for(let o of hr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function mo(e,t){let r=Array.from(new Set(_r(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(hr(t));return n.size===0?r:r.filter(o=>!n.has(o))}function po(e){if(!e.startsWith("["))return null;let t;try{t=JSON.parse(e)}catch{return null}return t.map(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"?String(n):"").filter(n=>n.length>0)}function wt(e){return e.replace(/\r\n/g,`
4
- `)}function yr(e){let t=wt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
5
- `);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
6
- `)}function ho(e){let t=[],r="",n=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="\\"&&e[o+1]===","){r+=",",o+=1;continue}if(i==="\\"&&e[o+1]!==void 0){r+=`${i}${e[o+1]}`,o+=1;continue}if(i==='"'){n=!n,r+=i;continue}if(i===","&&!n){t.push(r),r="";continue}r+=i}return r.trim()&&t.push(r),t}function gr(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let r=JSON.parse(t);if(typeof r=="string")return r}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function _o(e){let t=e.indexOf("="),r=e.indexOf(":"),n=t>=0,o=r>=0;return n&&o?Math.min(t,r):n?t:o?r:-1}function yo(e,t){if((t==="--add"||t==="--add-glob")&&(/[./\\]/.test(e)||/\.[a-z]{1,6}$/i.test(e.trim())))return"For file/doc paths use: path=<file-path>[,scope=project|global]. The scope field is optional and defaults to project (example: path=src/api.ts or path=README.md,scope=project). ";if(t!=="--event")return"";let r=e.toLowerCase(),n=r.includes("recur_")||r.includes("recurrence")?' Recurrence list values must stay in one field and use "|" delimiters (for example recur_by_weekday=mon|wed or recur_by_month_day=1|15).':"",o=r.includes("recur_byweekday")?" Use recur_by_weekday (with underscores) for weekday recurrence filters.":"";return`${n}${o}`}function fr(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=yo(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${$} to read piped stdin input.`}function go(e){let t=yr(e).trim();if(t.length===0||!t.includes(`
7
- `)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=wt(t).split(`
8
- `).map(i=>i.trim()).filter(i=>i.length>0);for(let i of o){let s=i.match(/^(?:[-*+]\s+)?([a-zA-Z0-9_.-]+)\s*(=|:)\s*(.*)$/);if(s){let a=s[1].trim();r[a]=gr(s[3].trim()),n=a;continue}if(n&&mr.has(n.toLowerCase())){r[n]=`${r[n]}
9
- ${i}`;continue}return null}return r}function wo(e,t){let r=yr(e).trim();if(!r)throw new f(`${t} cannot be empty`,u.USAGE);let n=go(r);if(n)return n;let o={},i,s=ho(r);for(let a of s){let c=_o(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new f(fr(e,t),u.USAGE);let l=gr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&mr.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new f(fr(e,t),u.USAGE)}return o}var bo=/^[A-Za-z]:[\\/]/,Eo=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function So(e){let t=e.trim();return bo.test(t)?!1:Eo.test(t)}function zc(e,t,r,n){if(!(n||!e.includes(",")))throw new f(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,u.USAGE,{code:"bare_comma_entry_ambiguous",required:`Use one ${t} per bare ${r}, or quote or escape literal commas in a structured key=<value> entry.`})}function To(e,t,r){let n=new Set(r.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!n.has(i.toLowerCase()));if(o.length>0)throw new f(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,u.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new f(`${t} provides key "${i}" more than once after case normalization.`,u.USAGE);e[s]=e[i],delete e[i]}}}async function Io(e){if(process.stdin.isTTY===!0)throw new f(`${e} value "${$}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,u.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,r)=>{let n="";process.stdin.on("data",o=>{n+=o}),process.stdin.on("end",()=>{t(wt(n))}),process.stdin.on("error",o=>{r(o)})})}var G=Symbol("all-mutation-stdin-fields"),R=new WeakMap;function wr(e){return R.set(e,G),e}function xo(e,t){let r=R.get(e);return r===G||R.set(e,new Set([...r??[],...t])),e}function Ao(e,t){let r=R.get(e);return r===void 0||R.set(t,r===G?r:new Set(r)),t}function Vc(e,t){let r=R.get(e),n=R.get(t);return r===void 0||n===G?t:r===G?(R.set(t,r),t):(R.set(t,new Set([...n??[],...r])),t)}function vo(e){return R.get(e)!==G}function Pe(e,t){let r=R.get(e);return r!==G&&!r?.has(t)}function Co(e){let t;for(let r of e){if(r.resolveToken===!1||r.value===void 0)continue;let o=(Array.isArray(r.value)?r.value:[r.value]).filter(i=>i.trim()===$).length;if(o>1)throw new f(`${r.optionName} accepts "${$}" stdin token at most once per command invocation`,u.USAGE);if(o!==0){if(t!==void 0&&t!==r.optionName)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,u.USAGE);t=r.optionName}}}async function Hc(e,t,r){let n=e,o=[...t,...r];Co(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:Pe(e,a)})));let i=$e(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,Pe(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,Pe(e,a));return wr(s)}function $e(){let e,t,r=async i=>{if(t&&t!==i)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,u.USAGE);return t=i,e||(e=Io(i)),await e};return{resolveValue:async(i,s,a=!0)=>{if(!a)return i;if(i!==void 0)return i.trim()!==$?i:await r(s)},resolveList:async(i,s,a=!0)=>{if(!a)return i;if(!i)return;let c=i.map((m,h)=>m.trim()===$?h:-1).filter(m=>m>=0);if(c.length===0)return i;if(c.length>1)throw new f(`${s} accepts "${$}" stdin token at most once per command invocation`,u.USAGE);let d=await r(s),l=[...i];return l[c[0]]=d,l}}}function Ro(e,t){let r=Number(e);if(!Number.isFinite(r))throw new f(`Invalid ${t} value "${e}"`,u.USAGE);return r}function ko(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new f(`Invalid ${t} value "${e}". Expected a non-negative integer.`,u.USAGE);return 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]="411f4336-eb02-5167-9dce-ea99822a8a14")}catch{}})();function bt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Do(e){let t=[];for(let n of e)if(typeof n=="string")t.push(n);else if(typeof n=="number"&&Number.isFinite(n))t.push(String(n));else return"";let r=bt(t.join(`
10
- `));return r.length>0?r.join(","):""}function Lo(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Do(e);if(typeof e!="string")return"";let t=bt(e);return t.length>0?t.join(","):""}(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]="19ff592c-0746-54e8-a304-2006f4845da2")}catch{}})();function br(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Et(e){if(e==="/body"||e.startsWith("/body/"))return"body";if(e==="/metadata"||e.startsWith("/metadata/")||e==="/front_matter"||e.startsWith("/front_matter/")){let r=e.replace(/^\/(?:metadata|front_matter)\/?/,"").split("/")[0];return r?br(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?br(t):"root"}function Fe(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Mo(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=rr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=me(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let m=new Set;for(let p of a.patch)m.add(Et(p.path)),p.from!==void 0&&m.add(Et(p.from));let h=[...m].sort((p,_)=>p.localeCompare(_));if(s>=r)if(n!==void 0){if(!m.has(n))continue;let p={field:n,before:Fe(c,n),after:Fe(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[p]})}else{let p=h.map(_=>({field:_,before:Fe(c,_),after:Fe(l,_)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:h,changes:p})}}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a97ee152-4d20-54f1-add9-fdb991ab6b33")}catch{}})();(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]="4a376062-2e23-5991-80a5-27183909caf3")}catch{}})();var No=new Set(["none","null","undefined"]);function nd(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",u.USAGE)}function Oo(e){if(typeof e!="string")throw new f("--parent must be a string. Use --unset parent to clear this field.",u.USAGE);let t=e.trim();if(t.length===0)throw new f("--parent must not be empty. Use --parent none to unset.",u.USAGE);if(Er(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,u.USAGE);return t}function Er(e){return No.has(e.trim().toLowerCase())}function Po(e,t){if(t==="strict_error")throw new f(`Parent item "${e}" was not found. Create it first or use --parent none.`,u.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function $o(e,t,r){let n=re(e,r),o=re(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new f(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,u.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]="806bf35f-dc7e-55a8-9bb9-64be87111c22")}catch{}})();var St={critical:0,high:1,medium:2,low:3,minimal:4},Fo=Object.keys(St),Uo=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Fo.join(", ")}), case-insensitive`;function Ue(e){return new f(`Invalid priority "${e}". Accepted values: ${Uo}.`,u.USAGE)}function zo(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ue(String(e))}if(typeof e!="string")throw Ue(String(e));let t=e.trim();if(t.length===0)throw Ue(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(St,r))return St[r];if(/^[0-4]$/.test(t))return Number(t);throw Ue(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]="bf76a01e-7292-59df-94ca-1e41aaff7365")}catch{}})();var Vo=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,Ho=64;function ld(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",u.USAGE)}function jo(e,t,r){let n=t.trim();if(n.length===0)throw new f(`--${e} must not be empty. Use --${e} none to unset.`,u.USAGE);if(n.length<=Ho&&Vo.test(n))return{value:n,warnings:[]};let i="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(r==="strict_error")throw new f(`Invalid --${e} value "${n}". ${i}`,u.USAGE);return{value:n,warnings:[`validation_warning:${e}_format:${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]="d0e997bc-8bdb-5602-8606-73ecf77b2a35")}catch{}})();var Sr={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Tr="all";function _d(e){if(typeof e!="string")return!1;let t=e.split(",").map(r=>r.trim().toLowerCase()).filter(r=>r.length>0);return t.length===1&&t[0]===Tr}function qo(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Sr[r];return n?t[n]:de(e,t)}function Bo(e){let t=new Set(Object.keys(Sr));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function Go(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of Bo(t)){let s=tt(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function Yo(e,t,r){if(typeof e!="string")return;let n=r?.strict===!0,o=r?.flagLabel??"--status",i=e.split(",").map(c=>c.trim()).filter(c=>c.length>0);if(i.length===0)return;if(i.filter(c=>c.trim().toLowerCase()===Tr).length>0){if(i.length===1)return;throw new f(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,u.USAGE)}let a=[];for(let c of i){let d=qo(c,t);if(d===void 0){if(n){let l=Go(c,t);throw new f(`Invalid ${o} value "${c}". Use open|closed|canceled or a configured status id${l?`. Did you mean "${l}"?`:"."}`,u.USAGE)}a.push(c);continue}a.push(d)}return[...new Set(a)]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b7a167e0-3041-5056-a672-ea0a054ed8df")}catch{}})();var Wo={bug:"Issue",bugfix:"Issue",defect:"Issue",incident:"Issue",enhancement:"Feature",story:"Feature",userstory:"Feature","user-story":"Feature","user story":"Feature",change:"Chore",ticket:"Task",todo:"Task"};function Ko(e){if(e!==void 0)return Wo[e.trim().toLowerCase()]}(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]="6d11dc0f-e313-5b39-965d-6bc84ad52966")}catch{}})();(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]="43a56374-808c-5fa6-bd6c-5d93175df0d2")}catch{}})();function Ir(e,t){return it(e,t)}function Xo(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=er(e,o);i!==void 0&&(n[o.metadata_key]=tr(o,i))}return n}function Qo(e,t){for(let[r,n]of Object.entries(t)){let o=e[r];if(Array.isArray(n)){if(Array.isArray(o)){let i=o.map(a=>String(a));if(!n.map(a=>String(a)).every(a=>i.includes(a)))return!1;continue}if(!Ir(o,n[n.length-1]))return!1;continue}if(!Ir(o,n))return!1}return!0}import{spawnSync as Ar}from"node:child_process";(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]="12bfc6e7-8979-58e8-8276-98cc859f3e32")}catch{}})();var Jo="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",Zo="PM_OLLAMA_MODEL",ei="http://localhost:11434",ti="qwen3-embedding:0.6b",ri=".agents/pm/search/lancedb/",ni=1500,oi=2500,ii=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,si=/embed|embedding/i,D=b;function ai(){let e=D(process.env[Jo]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function xr(e){return e.some(t=>D(t)!==null)}function ci(e){let t=D(e);return!!(t&&t.toLowerCase()!=="ollama")}function di(e){let t=D(e);return!!(t&&t.toLowerCase()!=="lancedb")}function li(e){return ci(e.search?.provider)||di(e.vector_store?.adapter)||xr([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:xr([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function ui(){let e=Ar("ollama",["--version"],{encoding:"utf8",timeout:ni});return e.error?!1:e.status===0}function fi(e){let t=e.split(/\r?\n/).map(i=>i.trim()).filter(i=>i.length>0);if(t.length===0)return null;let r=t.map(i=>i.split(/\s+/)[0]?.trim()).filter(i=>!!(i&&i.length>0)).filter(i=>i.toUpperCase()!=="NAME");if(r.length===0)return null;let n=r.find(i=>ii.test(i));return n||(r.find(i=>si.test(i))??null)}function mi(e){let t=D(e.providers?.ollama?.model);if(t)return t;let r=D(process.env[Zo]);if(r)return r;let n=Ar("ollama",["list"],{encoding:"utf8",timeout:oi});if(!n.error&&n.status===0){let o=fi(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function pi(e){return{baseUrl:D(e.providers?.ollama?.base_url)===null,model:D(e.providers?.ollama?.model)===null,lancedbPath:D(e.vector_store?.lancedb?.path)===null,embeddingModel:D(e.search?.embedding_model)===null}}function hi(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function _i(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=ei),t.model&&(o.model=r)}function yi(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=ri}function gi(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function ze(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(ai()||li(e))return t;let r=pi(e);if(!hi(r)||r.model&&!ui())return t;let n=structuredClone(e),o=mi(n);return o?(_i(n,r,o),yi(n,r),gi(n,r,o),{settings:n,auto_ollama_defaults_applied:!0}):{...t,auto_ollama_defaults_skipped_reason:"no_installed_embedding_model",auto_ollama_defaults_remediation:`Run ollama pull ${ti} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(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]="d8d5f7e9-5293-564b-bc44-f5ba30336893")}catch{}})();var wi="reindex";import Vr 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]="b5ce7132-0024-5d42-9cb8-585933beb7c7")}catch{}})();var bi=3e4;function Y(e,t,r=bi){let n=e??r;if(!Number.isFinite(n)||n<=0)throw new Error(`${t} timeout must be a positive finite number`);return Math.floor(n)}function W(e,t){if(e)return e;if(typeof globalThis.fetch=="function")return globalThis.fetch.bind(globalThis);throw new Error(`${t} execution requires a fetch implementation`)}async function Ei(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(t)})`}}async function Ve(e){let t=new AbortController,r=setTimeout(()=>{t.abort()},e.timeoutMs);try{let n;try{n=await e.fetcher(e.endpoint,{method:e.method,headers:e.headers,body:JSON.stringify(e.body),signal:t.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?new Error(`${e.requestLabel} timed out after ${e.timeoutMs}ms`):new Error(`${e.requestLabel} execution failed: ${E(o)}`)}if(!n.ok){let o=await Ei(n),i=o.length>0?`: ${o}`:"";throw new Error(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${E(o)}`)}}finally{clearTimeout(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]="af754be6-8026-530a-8a20-b03d4ed742e1")}catch{}})();function Fd(e,t){let r=b(e);if(!r)return"unconfigured";let n=b(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Si(e){let t=ae(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function Rr(e){let t=e.search?.embedding_model;return b(t)||null}function Ti(e){let t=b(e.providers?.openai?.base_url),r=b(e.providers?.openai?.model);if(!t||!r)return null;let n=Rr(e),o=b(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Ii(e){let t=b(e.providers?.ollama?.base_url),r=b(e.providers?.ollama?.model);if(!t||!r)return null;let n=Rr(e);return{name:"ollama",base_url:t,model:n??r}}function kr(e){let t=(Array.isArray(e)?e:[e]).map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new Error("Embedding input must include at least one non-empty string");return t}function xi(e){let t=[],r=[],n=new Map;for(let o of e){let i=n.get(o);if(i===void 0){let s=t.length;t.push(o),n.set(o,s),r.push(s);continue}r.push(i)}return{uniqueInputs:t,originalToUniqueIndex:r}}function Ai(e){let t=e.map((n,o)=>({embedding:n.embedding,index:n.index,position:o}));if(t.some(n=>n.index!==void 0)){for(let n of t)if(!Number.isInteger(n.index))throw new TypeError(`OpenAI embedding response entry at position ${n.position} is missing a valid integer index`);return[...t].sort((n,o)=>{let i=n.index-o.index;return i!==0?i:n.position-o.position})}return t}function Tt(e){let t=Ti(e),r=Ii(e),n=[t,r].filter(a=>a!==null),o=b(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?n.find(a=>a.name===i):void 0)??n[0]??null,available:n}}function Cr(e){let t=ae(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Si(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function vi(e,t){let r=kr(t);return e.name==="openai"?{target:Cr(e),method:"POST",headers:{"content-type":"application/json",...e.api_key?{authorization:`Bearer ${e.api_key}`}:{}},body:{model:e.model,input:r.length===1?r[0]:r}}:{target:Cr(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Ci(e,t){if(e.name==="openai"){let o=t.data;if(!Array.isArray(o)||o.length===0)throw new Error("OpenAI embedding response must include a non-empty data array");return Ai(o).map((s,a)=>{let c=s.embedding;if(!Z(c))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...c]})}let r=t.embedding;if(Z(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!Z(o))throw new Error(`Ollama embedding response entry at index ${i} is missing a numeric embedding vector`);return[...o]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function Dr(e,t,r={}){let n=Y(r.timeout_ms,"Embedding request"),o=W(r.fetcher,"Embedding request"),i=kr(t),s=xi(i),a=vi(e,s.uniqueInputs),c=await Ve({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Ci(e,c);if(d.length!==s.uniqueInputs.length)throw new Error(`Embedding response cardinality mismatch: expected ${s.uniqueInputs.length} vector(s), received ${d.length}`);return s.originalToUniqueIndex.map(l=>[...d[l]])}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="61c0153b-8fa5-5c26-aa88-ca9807f2d160")}catch{}})();var He=["title","description","tags","status","type","priority","assignee","parent","goal","value","why_now","risk","confidence","estimated_minutes","acceptance_criteria","resolution","expected_result","actual_result","body","comments","notes","learnings","reminders","events","dependencies","plan"];function It(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...He];let r=new Set(He),n=Array.from(new Set(t.filter(o=>typeof o=="string").map(o=>o.trim()).filter(o=>o.length>0&&r.has(o))));return n.length>0?n:[...He]}var Ri=8e3,xt=3200,K="...[semantic corpus truncated]",ki="search_embedding_corpus_max_characters_invalid:using_provider_default";function M(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function Di(e){return(e.reminders??[]).map(t=>M([t.at,t.text]))}function Li(e){return(e.events??[]).map(t=>M([t.start_at,t.end_at,t.title,t.description,t.location,t.all_day===!0?"all day":void 0,t.timezone,t.recurrence?.freq,t.recurrence?.interval,t.recurrence?.count,t.recurrence?.until,t.recurrence?.by_weekday?.join(" "),t.recurrence?.by_month_day?.join(" "),t.recurrence?.exdates?.join(" ")]))}function Mi(e,t){e.push(t.title,t.body,t.status,t.owner,t.evidence,t.blocked_reason,t.superseded_by);for(let r of t.linked_items??[])e.push(`${r.kind} ${r.id}`,r.note);for(let r of t.files??[])e.push(r.path,r.note);for(let r of t.tests??[])e.push(r.command,r.path,r.note);for(let r of t.docs??[])e.push(r.path,r.note)}function Ni(e,t){for(let r of t.plan_decisions??[])e.push(r.decision,r.rationale,r.evidence);for(let r of t.plan_discoveries??[])e.push(r.text);for(let r of t.plan_validation??[])e.push(r.text,r.command,r.expected)}function Vd(e){let t=[];t.push(e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context);for(let r of e.plan_steps??[])Mi(t,r);return Ni(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Oi(e){let t=(e.plan_steps??[]).map(s=>M([s.order,s.id,s.title,s.body,s.status,s.owner,s.evidence,s.blocked_reason,s.superseded_by,(s.linked_items??[]).map(a=>M([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>M([a.path,a.note])).join(" "),(s.tests??[]).map(a=>M([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>M([a.path,a.note])).join(" ")])),r=(e.plan_decisions??[]).map(s=>M([s.decision,s.rationale,s.evidence,s.step_id])),n=(e.plan_discoveries??[]).map(s=>M([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>M([s.text,s.command,s.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...o].some(s=>s!==void 0))return{mode:e.plan_mode,scope:e.plan_scope,harness:e.plan_harness,resume_context:e.plan_resume_context,steps:t,decisions:r,discoveries:n,validation:o}}function L(e){return typeof e=="string"&&e.trim().length>0}var Pi={title:e=>e.metadata.title,description:e=>e.metadata.description,tags:e=>e.metadata.tags,status:e=>e.metadata.status,type:e=>e.metadata.type,priority:e=>typeof e.metadata.priority=="number"?e.metadata.priority:void 0,assignee:e=>L(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>L(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>L(e.metadata.goal)?e.metadata.goal:void 0,value:e=>L(e.metadata.value)?e.metadata.value:void 0,why_now:e=>L(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>L(e.metadata.risk)?e.metadata.risk:void 0,confidence:e=>e.metadata.confidence!==void 0&&e.metadata.confidence!==null?e.metadata.confidence:void 0,estimated_minutes:e=>typeof e.metadata.estimated_minutes=="number"?e.metadata.estimated_minutes:void 0,acceptance_criteria:e=>L(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>L(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>L(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>L(e.metadata.actual_result)?e.metadata.actual_result:void 0,body:e=>e.body,comments:e=>(e.metadata.comments??[]).map(t=>t.text),notes:e=>(e.metadata.notes??[]).map(t=>t.text),learnings:e=>(e.metadata.learnings??[]).map(t=>t.text),reminders:e=>Di(e.metadata),events:e=>Li(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Oi(e.metadata)};function Lr(e,t={}){let r=t.fields??He,n={};for(let o of r){let i=Pi[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function $i(e){return e?.trim().toLowerCase()==="ollama"?xt:Ri}function ne(e,t){let r=$i(e),n=Zt(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:ki}}function At(e,t={}){let r=JSON.stringify(Lr(e,{fields:t.fields})),n=ne(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=K.length)return K.slice(0,n);let o=Math.max(0,n-K.length);return`${r.slice(0,o)}${K}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2c518b97-bc75-5e3f-91e8-d6779d565558")}catch{}})();function Fi(e,t){let r=e.search.embedding_batch_size,n=e.search.embedding_timeout_ms,o=e.search.scanner_max_batch_retries,i=Number.isFinite(r)&&r>0?Math.floor(r):1,s=Number.isFinite(n)&&n>0?Math.floor(n):3e4,a=Number.isFinite(o)&&o>=0?Math.floor(o):0;return{batchSize:i,timeoutMs:s,maxRetries:a,maxBatchInputCharacters:Number.POSITIVE_INFINITY,maxInputCharacters:t}}function Ui(e,t,r){let n=[],o=[],i=0;for(let s of e){let a=o.length>=t,c=o.length>0&&Number.isFinite(r)&&i+s.length>r;(a||c)&&(n.push(o),o=[],i=0),o.push(s),i+=s.length}return n.push(o),n}function zi(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:xt}}function Vi(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-K.length);return`${e.slice(0,r)}${K}`.slice(0,t)}function Mr(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Hi(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return Mr(i)?`${s} (${a}; guidance=check provider availability or lower search.embedding_batch_size, raise search.embedding_timeout_ms, or run keyword search while semantic indexing catches up)`:`${s} (${a})`}async function vt(e,t,r,n,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await Dr(e,t,{timeout_ms:n});return a>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${a+1}:size=${t.length}`),c}catch(c){if(s=c,Mr(c)&&t.length>1){let d=Math.ceil(t.length/2),l=t.slice(0,d),m=t.slice(d);return i.push(`search_embedding_batch_split_after_timeout:batch=${r}:size=${t.length}:parts=${l.length}|${m.length}`),[...await vt(e,l,`${r}.1`,n,o,i),...await vt(e,m,`${r}.2`,n,o,i)]}if(a<o){let d=Math.min(1e3*2**a,8e3);await new Promise(l=>setTimeout(l,d))}}throw new Error(Hi(e,r,t.length,n,o+1,s))}async function Ct(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=[],i=ne(e.name,t.search.embedding_corpus_max_characters);i.warning&&o.push(i.warning);let s=zi(e,Fi(t,i.maxCharacters)),a=0,c=r.map(h=>{let p=Vi(h,s.maxInputCharacters);return p.length<h.length&&(a+=1),p});a>0&&o.push(`search_embedding_input_truncated:count=${a}:max_characters=${s.maxInputCharacters}`);let d=Ui(c,s.batchSize,s.maxBatchInputCharacters),l=[],m=0;for(let h=0;h<d.length;h+=1){let p=d[h];n.onProgress?.({batch_index:h+1,batch_total:d.length,batch_size:p.length,completed_inputs:m,total_inputs:c.length,phase:"start"}),l.push(...await vt(e,p,String(h+1),s.timeoutMs,s.maxRetries,o)),m+=p.length,n.onProgress?.({batch_index:h+1,batch_total:d.length,batch_size:p.length,completed_inputs:m,total_inputs:c.length,phase:"complete"})}return{vectors:l,warnings:o}}import{mkdir as ji,readFile as qi,stat as Dt,unlink as Bi}from"node:fs/promises";import{basename as Nr,dirname as Rt,isAbsolute as Gi,join as Yi,resolve as Lt}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]="98c8d03c-bdde-5ac4-b80d-395d885f7442")}catch{}})();var Mt="pm_items",Wi=/[^a-zA-Z0-9_-]/g,Ki=128,Xi=".pm-cli-local-vectors",kt=1,X=new Map;function we(e){return(b(e.collection_name)??Mt).replaceAll(Wi,"_").slice(0,Ki)}function je(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Pr(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function Qi(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=b(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function Nt(e){let t=b(e.result?.status);if(t)return{status:t};let r=b(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function ge(e,t,r,n,o){return await Ve({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function Ji(e){let t=b(e.vector_store?.qdrant?.url);if(!t)return null;let r=b(e.vector_store?.collection_name),n=b(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Mt?{collection_name:r}:{},...n?{api_key:n}:{}}}function Zi(e){let t=Lt(e),r=Rt(t);return Nr(t)==="pm"&&Nr(r)===".agents"?Rt(r):t}function es(e,t){return!t||Gi(e)?e:Lt(Zi(t),e)}function ts(e,t){let r=b(e.vector_store?.lancedb?.path);if(!r)return null;let n=b(e.vector_store?.collection_name);return{name:"lancedb",path:es(r,t),...n&&n!==Mt?{collection_name:n}:{}}}function rs(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=b(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=je(t.vector),i=t.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`Vector upsert record at index ${r} must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}})}function ns(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=b(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function os(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function is(e){return e.replace(/\/points\?wait=true$/,"")}function qe(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Be(e,t){return oe(e,t)}function oe(e,t){return Yi(Lt(e),Xi,`${t}.json`)}function ss(e,t,r){let n=b(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=je(e.vector),i=e.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`LanceDB local snapshot '${r}' record '${n}' must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}}function as(e,t,r){let n;try{n=JSON.parse(r)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${E(c)}`)}if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`LanceDB local snapshot at '${e}' must be a JSON object`);if(n.version!==kt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${kt}`);let i=b(n.table);if(!i)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(i!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${i}'`);let s=n.records;if(!Array.isArray(s))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let a=new Map;for(let c=0;c<s.length;c+=1){let d=ss(s[c],c,e);a.set(d.id,d)}return a}async function cs(e){try{let t=await Dt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!J(t))throw t;return null}}function ds(e,t){if(!t)return null;if(t.mtimeMs===null&&t.size===null&&t.records.size===0)return t.records;let r=new Map;return X.set(e,{records:r,mtimeMs:null,size:null}),r}function ls(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Ot(e,t){let r=Be(e,t),n=oe(e,t),o=await cs(n),i=X.get(r);if(!o){let a=ds(r,i);if(a)return a}if(ls(i,o))return i.records;let s=new Map;try{let a=await qi(n,"utf8");s=as(n,t,a)}catch(a){if(!J(a))throw a}return X.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function us(e){let t=[...e.values()];return t.sort((r,n)=>r.id.localeCompare(n.id)),t.map(r=>({id:r.id,vector:[...r.vector],...r.payload?{payload:r.payload}:{}}))}async function $r(e){try{await Bi(e)}catch(t){if(!J(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function Fr(e,t,r){let n=oe(e,t);if(r.size===0){await $r(n);return}let o=Rt(n);try{await ji(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:kt,table:t,records:us(r)})}
11
- `;try{await S(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function fs(e,t){let r=Be(e,t),n=oe(e,t);await $r(n),X.delete(r)}function Or(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function ms(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Or(e),o=Or(t);return n===0||o===0?0:r/(n*o)}function Pt(e,t){let r=Ji(e),n=ts(e,t),o=[r,n].filter(c=>c!==null),i=b(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(c=>c.name===s):void 0)??o[0]??null,available:o}}function Ge(e){let t=we(e);if(e.name==="qdrant"){let o=ae(e.url),i=encodeURIComponent(t);return{store:"qdrant",query_target:`${o}/collections/${i}/points/search`,upsert_target:`${o}/collections/${i}/points?wait=true`}}let r=encodeURIComponent(e.path),n=encodeURIComponent(t);return{store:"lancedb",query_target:`lancedb://${r}#${n}`,upsert_target:`lancedb://${r}#${n}`}}function ps(e,t,r){let n=Ge(e),o=je(t),i=Pr(r);return e.name==="qdrant"?{target:n,method:"POST",headers:qe(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:we(e),vector:o,limit:i}}}function hs(e,t){let r=Ge(e),n=rs(t);return e.name==="qdrant"?{target:r,method:"POST",headers:qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:we(e),records:n}}}function _s(e,t){let r=Ge(e),n=ns(t);return e.name==="qdrant"?{target:r,method:"POST",headers:qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:we(e),ids:n}}}async function Jd(e,t,r,n={}){let o=ps(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await Ot(c.path,d.table);if(l.size===0)return[];let m=je(d.vector),h=Pr(d.limit),p=[],_=0;for(let y of l.values()){if(y.vector.length!==m.length){_++;continue}p.push({id:y.id,score:ms(m,y.vector),...y.payload?{payload:y.payload}:{}})}return _>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${_} records skipped (expected ${m.length} dimensions)`),p.sort((y,w)=>y.score!==w.score?w.score-y.score:y.id.localeCompare(w.id)),p.slice(0,h)}let i=Y(n.timeout_ms,"Vector request"),s=W(n.fetcher,"Vector request"),a=await ge(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return Qi(a)}async function $t(e,t,r={}){let n=hs(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Be(a.path,c.table),l=await Ot(a.path,c.table);for(let p of c.records)l.set(p.id,p);await Fr(a.path,c.table,l);let m=oe(a.path,c.table),h=await Dt(m);return X.set(d,{records:l,mtimeMs:h.mtimeMs,size:h.size}),{status:"ok"}}let o=Y(r.timeout_ms,"Vector request"),i=W(r.fetcher,"Vector request"),s=await ge(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return Nt(s)}async function Ye(e,t,r={}){let n=_s(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Be(a.path,c.table),l=await Ot(a.path,c.table);if(l.size===0)return{status:"ok"};for(let m of c.ids)l.delete(m);if(await Fr(a.path,c.table,l),l.size===0)X.delete(d);else{let m=oe(a.path,c.table),h=await Dt(m);X.set(d,{records:l,mtimeMs:h.mtimeMs,size:h.size})}return{status:"ok"}}let o=Y(r.timeout_ms,"Vector request"),i=W(r.fetcher,"Vector request"),s=await ge(os(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return Nt(s)}async function Ur(e,t=[],r={},n){if(e.name==="lancedb")return await fs(e.path,we(e)),{status:"ok"};if(n!==void 0){if(!Number.isInteger(n)||n<=0)throw new Error("Vector reset dimension must be a positive integer when provided");let i=Ge(e),s=is(i.upsert_target),a=Y(r.timeout_ms,"Vector request"),c=W(r.fetcher,"Vector request"),d=qe(e);try{await ge(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(m){if(!E(m).includes("failed with status 404"))throw m}let l=await ge(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return Nt(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await Ye(e,o,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]="4b3ad5fc-0f86-5f20-a23b-19d447cb0973")}catch{}})();function We(e,t){let r=b(e),n=b(t);return!r||!n?null:{provider:r,model:n}}function zr(e){if(e==null)return null;if(typeof e!="object"||Array.isArray(e))throw new Error("Vectorization embedding metadata must be an object when set");let t=We(e.provider,e.model),r=e.vector_dimension;if(!t||typeof r!="number"||!Number.isInteger(r)||r<=0)throw new Error("Vectorization embedding metadata must include provider, model, and positive vector_dimension");return{...t,vector_dimension:r}}function Ft(e,t){if(!Number.isInteger(t)||t<=0)throw new Error("Vectorization embedding metadata requires a positive vector dimension");return{provider:e.provider,model:e.model,vector_dimension:t}}function Ut(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function zt(e,t){return!!(e&&e.vector_dimension!==t)}function Vt(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let n=e[0].length;if(!Number.isInteger(n)||n<=0)throw new Error(`${t} returned an empty vector`);for(let o=1;o<e.length;o+=1)if(e[o]?.length!==n)throw new Error(`${t} returned mixed vector dimensions`);return 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]="7939a590-3662-5c66-99aa-3835a0dbaecc")}catch{}})();var Hr="search/vectorization-status.json";function Ee(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function jr(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function qr(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!jr(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function Br(e){let t=Vr.join(e,Hr),r=await T(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of n.items){if(typeof s!="object"||s===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let a=s.id,c=s.updated_at;if(typeof a!="string"||a.trim().length===0||!jr(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=zr(n.embedding)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}return{entries:Object.fromEntries([...o.entries()].sort((s,a)=>s[0].localeCompare(a[0]))),embedding:i,warnings:[]}}async function Gr(e,t,r){let n=qr(t),o=Vr.join(e,Hr),i=`${JSON.stringify({version:1,generated_at:v(),...r?{embedding:r}:{},items:Object.entries(n).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
12
- `;await S(o,i)}function ys(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function gs(e){let t=We(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function be(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function ws(e,t,r){if(!r.settings&&!await P(ot(e)))return be(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Re(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return be(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return be(t,`search_semantic_refresh_skipped:settings_read_failed:${E(a)}`)}let o=r.apply_runtime_defaults?ze(n).settings:n,i=Tt(o).active;if(!i)return be(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Pt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:be(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function bs(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let m=await q(e,l,t,r,o);if(!m){c.add(l);continue}try{let h=await B(m,{schema:i});d.push({id:h.document.metadata.id,document:h.document})}catch(h){a.add(m.id),s.push(`search_semantic_refresh_item_read_failed:${m.id}:${E(h)}`)}}return d.sort((l,m)=>l.id.localeCompare(m.id)),{documents:d,missingIds:Ee(c),skippedIds:Ee(a),warnings:s}}async function Es(e,t,r){let n=ne(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=It(e),i=r.map(a=>At(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Ct(t,e,i);return{vectors:s.vectors,vector_dimension:Vt(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function Ss(e,t,r){return await $t(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:ys(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function Ts(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await Ye(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${E(r)}`]}}}async function wl(e,t,r={}){let n=Ee(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await ws(e,n,r);if(!("settings"in o))return o;let i=F(o.settings,ce()),s=await bs(e,o.settings.id_prefix,o.settings.item_format,n,i.type_to_folder,o.settings.schema),a=s.documents.length>0||s.missingIds.length>0?await Br(e):{entries:{},embedding:null,warnings:[]},c=gs(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},m=a.embedding;if(s.documents.length>0)if(a.embedding&&Ut(a.embedding,c))l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let w=await Es(o.settings,o.provider,s.documents);if(zt(a.embedding,w.vector_dimension))l={refreshed:[],skipped:s.documents.map(g=>g.id),warnings:[...w.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{m=Ft(c,w.vector_dimension);let g=await Ss(o.vectorStore,s.documents,w.vectors);l={refreshed:g.refreshed,skipped:g.skipped,warnings:[...w.warnings,...g.warnings]}}}catch(w){l={refreshed:[],skipped:s.documents.map(g=>g.id),warnings:[`search_semantic_refresh_failed:${E(w)}`]}}let h=await Ts(o.vectorStore,s.missingIds),p=new Set(l.refreshed),_=Object.fromEntries(s.documents.filter(w=>p.has(w.id)).map(w=>[w.id,w.document.metadata.updated_at])),y=[];if(Object.keys(_).length>0||s.missingIds.length>0){let w={...d,...qr(_)};for(let g of s.missingIds)delete w[g];try{await Gr(e,w,m)}catch(g){y.push(`search_vectorization_status_ledger_write_failed:${E(g)}`)}y.push(...a.warnings)}return{refreshed:Ee([...l.refreshed,...h.refreshed]),skipped:Ee([...s.skippedIds,...l.skipped,...h.skipped]),warnings:[...s.warnings,...l.warnings,...h.warnings,...y]}}import{createRequire as xs}from"node:module";(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]="8eb48648-6e55-5710-990e-6471c7cdcde0")}catch{}})();var As=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,Tl=new RegExp(`\\b(${As.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Il=xs(import.meta.url);(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]="e896db69-ed90-53f1-a227-e3d061b3bc8d")}catch{}})();var vl=new Map([[u.USAGE,"invalid_command_usage"],[u.NOT_FOUND,"item_not_found"],[u.CONFLICT,"lock_conflict"],[u.DEPENDENCY_FAILED,"dependency_failed"]]);(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]="5e6ba316-b067-51df-abeb-c3e3488a504d")}catch{}})();(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]="c43dd9f2-78ac-5c22-970a-0016a06b87b3")}catch{}})();var Ol=Object.freeze({"&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&amp;":"&"});(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]="0ce743d1-917a-5c96-b038-c95e3922bc48")}catch{}})();(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]="868dfae8-2575-5d5f-8425-c7e68aefdc84")}catch{}})();(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]="4ecab833-db06-5baa-bfe6-d28b4c97f85a")}catch{}})();function Cs(e,t){if(e==null)return[];let r=t?.separators??/,/,o=e.split(r).map(a=>a.trim()).filter(a=>a.length>0),s=t?.unique!==!1?Array.from(new Set(o)):o;return t?.sort===!0?[...s].sort():s}import Wr from"node:fs/promises";import Ke 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]="4baf0ef3-2412-51cf-9ade-18b5c6e610d1")}catch{}})();function Rs(e){return"json_markdown"}function Kr(e,t){return Ke.relative(e,t).replaceAll("\\","/")}function ks(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function Ds(e,t,r="item_format:migrate",n=rt,o){if(t!=="toon")throw new Error("Only toon item-format migration targets are supported. Markdown item files are legacy read-only input.");let i=new Set,s=new Set,a=[],c=0,d=Rs(t),l=Object.entries(n);for(let[m,h]of l){let p=Ke.join(e,h),_=[];try{_=await Wr.readdir(p)}catch{continue}let y=new Map;for(let g of _){let x=Ke.join(p,g),I=Jt(x);if(!I)continue;let A=Ke.extname(g),z=g.slice(0,g.length-A.length).trim();if(z.length===0)continue;let O=y.get(z)??{};O[I]=x,y.set(z,O)}let w=[...y.keys()].sort((g,x)=>g.localeCompare(x));for(let g of w){let x=y.get(g);c+=1;let I=x[d];if(!I)continue;let A=x[t]??I,z=A===x[t]?t:d;try{let O=await Wr.readFile(A,"utf8"),et=at(O,{format:z,schema:o,onWarning:V=>a.push(`item_format_migration_parse_warning:${g}:${V}`)}),Q=se(e,m,g,t,n),Se=le(et,{format:t,schema:o});await T(Q)!==Se&&(await S(Q,Se),a.push(...await j({path:Q,scope:"project",op:r})),i.add(g)),await Te(I),s.add(Kr(e,I)),a.push(...await j({path:I,scope:"project",op:`${r}:remove`})),i.add(g)}catch(O){a.push(`item_format_migration_skipped:${Kr(e,A)}:${ks(O)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((m,h)=>m.localeCompare(h)),removed:[...s].sort((m,h)=>m.localeCompare(h)),warnings:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f280c1df-b134-57c3-91f6-cbf5a37e6e31")}catch{}})();var Ls=new Set(["completed","superseded"]);function Ms(e){return e!==void 0&&Ls.has(e)}function Ns(e){if(e.type.trim().toLowerCase()!=="plan")return!1;let t=e.plan_steps??[];return t.length>0&&t.every(r=>r.status==="completed")}import Xl from"node:readline/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]="6783b122-a1a8-5f86-9ac5-2c3e811622ed")}catch{}})();import qt from"node:crypto";import{mkdirSync as iu,rmSync as $s,statSync as su}from"node:fs";import{mkdir as Ht,readdir as Fs,rm as Bt,stat as rn}from"node:fs/promises";import{request as Us}from"node:http";import{request as zs}from"node:https";import k 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]="26ea62d9-874d-5826-9822-83c5523b673b")}catch{}})();var Vs=k.join("runtime","telemetry","events.jsonl"),Hs=k.join("runtime","telemetry","state.json"),js=k.join("runtime","telemetry","otel-spans.jsonl"),qs=8,Xr=500,Bs=1;var Gs=100,Ys=36e5,Ws=3e4,Qr=2e4,Ks=1e3,Xs=25e3,Qs=864e5,nn=65536;var on=15;var sn=[25,50,100,200],Js=3600*1e3,Zs=6e4;var ea="PM_TELEMETRY_DISABLED",ta="PM_NO_TELEMETRY",Jr=new Set(["1","true","yes","on"]);var ra="PM_TELEMETRY_HTTP_TIMEOUT_MS",na=globalThis.fetch,oa=["user","automation","test","dogfood"],wu=Promise.resolve(),Zr=Promise.resolve();var bu=new Set(oa);var Eu=qt.randomUUID();var an="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",ia=new RegExp(`\\b(${an})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),sa=new RegExp(`(--${an})(=|\\s+)([^\\s,;]+)`,"giu"),aa=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,ca=/bearer\s+[a-z0-9._=-]+/giu,da=/\b(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g;function Qe(e){return k.join(e,Vs)}function Gt(e){return k.join(e,js)}function la(e){return k.dirname(Qe(e))}function cn(e){return k.join(e,Hs)}function dn(e){return k.join(e,"runtime","telemetry","flush.lock")}function ua(e){return k.join(e,"runtime","telemetry","flush.spawn.lock")}async function fa(e){let t=await T(cn(e));if(!t||t.trim().length===0)return{};try{let r=JSON.parse(t);return typeof r!="object"||r===null||Array.isArray(r)?{}:r}catch{return{}}}async function N(e,t){try{let n={...await fa(e),...t},o=Object.fromEntries(Object.entries(n).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await S(cn(e),`${JSON.stringify(o,null,2)}
13
- `)}catch{}}function ln(e){return e.replaceAll(ia,(r,n,o)=>`${n}${o}[redacted]`).replaceAll(sa,(r,n,o)=>`${n}${o}[redacted]`)}function un(e){return e.replaceAll(aa,(t,r)=>`${r}[redacted_path]`)}function fn(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function mn(e){if(!e)return!1;let t=e.charCodeAt(0);return fn(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function pn(e){if(!e)return!1;let t=e.charCodeAt(0);return fn(t)?!0:e==="."||e==="-"}function ma(e){let t=e.indexOf("@");if(t<=0||t!==e.lastIndexOf("@")||t===e.length-1)return!1;let r=e.slice(0,t),n=e.slice(t+1),o=n.lastIndexOf(".");if(o<=0||o===n.length-1||n.length-(o+1)<2)return!1;for(let i of r)if(!mn(i))return!1;for(let i of n)if(!pn(i))return!1;return!0}function pa(e){let t="",r=0;for(;r<e.length;){let n=e.indexOf("@",r);if(n<0){t+=e.slice(r);break}let o=n-1;for(;o>=r&&mn(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&pn(e[i]);)i+=1;let s=e.slice(o,i);if(ma(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function hn(e){return pa(e).replaceAll(ca,"bearer [redacted_token]").replaceAll(da,"[redacted_ip]")}function ha(e){let t=hn(e),r=ln(t),n=un(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function _a(e){let t=hn(e),r=ln(t),n=un(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function jt(e,t="redacted"){return t==="max"?_a(e):ha(e)}function en(){let e=process.env[ra]?.trim();if(!e)return Qr;let t=Number(e);return Number.isFinite(t)?Math.min(Xs,Math.max(Ks,Math.trunc(t))):Qr}async function _n(e,t,r){let n=new URL(e);if(globalThis.fetch!==na){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},en())});try{return(await Promise.race([globalThis.fetch(e,{method:"POST",headers:t,body:r,signal:i.signal}),a])).status}finally{clearTimeout(s)}}let o=n.protocol==="https:"?zs:n.protocol==="http:"?Us:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=en(),c={method:"POST",headers:{...t,"content-length":Buffer.byteLength(r)},signal:AbortSignal.timeout(a),autoSelectFamilyAttemptTimeout:Math.min(5e3,a)},d=o(n,c,l=>{l.once("error",s),l.once("end",()=>i(l.statusCode)),l.resume()});d.once("error",s),d.end(r)})}function ya(){return Jr.has((process.env[ea]??"").trim().toLowerCase())||Jr.has((process.env[ta]??"").trim().toLowerCase())}async function ga(e){let t=await C(e),r=!1;return t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=qt.randomUUID(),r=!0),r&&await ke(e,t,"telemetry:install_id"),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days))}}function yn(e){let t=[];for(let r of e.split(`
14
- `)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&o.event&&typeof o.event=="object"&&typeof o.attempts=="number"&&(o.client_schema_version===void 0||typeof o.client_schema_version=="number"&&Number.isFinite(o.client_schema_version))&&t.push(o)}catch{}}return t}function gn(e){let t=Math.min(Ws*2**Math.max(e-1,0),Ys);return new Date(Date.now()+t).toISOString()}function wn(e){if(typeof e!="string"||e.trim().length===0)return!0;let t=Date.parse(e);return Number.isNaN(t)?!0:t<=Date.now()}function wa(e){return wn(e.next_attempt_after)}function bn(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*Qs}function ba(e,t){let r=e.event?.occurred_at;if(typeof r!="string"||r.trim().length===0)return!1;let n=Date.parse(r);return Number.isNaN(n)?!1:n<t}function Yt(e,t){let r=bn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>nn||ba(i,r)||i.attempts>=on){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function Xe(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
15
- `),n=r.length>0?`${r}
16
- `:"";for(let o=0;;o+=1)try{await S(Qe(e),n);return}catch(i){let s=sn[o];if(s===void 0||!En(i))throw i;await Sn(s)}}function En(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Sn(e){return new Promise(t=>{setTimeout(t,e)})}function Ea(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return qt.createHash("sha256").update(t).digest("hex").slice(0,32)}function Tn(e){let t=[];for(let r of e.split(`
17
- `)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&typeof o.endpoint=="string"&&o.endpoint.trim().length>0&&"payload"in o&&typeof o.attempts=="number"&&Number.isFinite(o.attempts)&&((typeof o.id!="string"||o.id.length===0)&&(o.id=Ea(o)),t.push(o))}catch{}}return t}function Sa(e,t){if(typeof e.enqueued_at!="string"||e.enqueued_at.trim().length===0)return!1;let r=Date.parse(e.enqueued_at);return Number.isNaN(r)?!1:r<t}function In(e,t){let r=bn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>nn||Sa(i,r)||i.attempts>=on){o+=1;continue}n.push(i)}if(n.length>Xr){let i=n.length-Xr;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function Ta(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
18
- `),n=r.length>0?`${r}
19
- `:"";for(let o=0;;o+=1)try{await S(Gt(e),n);return}catch(i){let s=sn[o];if(s===void 0||!En(i))throw i;await Sn(s)}}async function tn(e,t,r,n){return Wt(async()=>{let o=await T(Gt(e)),i=o===null?[]:Tn(o),s=[];for(let c of i){if(r.has(c.id))continue;let d=n.get(c.id);s.push(d?{...c,attempts:d.attempts,next_attempt_after:d.next_attempt_after}:c)}let{entries:a}=In(s,t);return await Ta(e,a),a.length})}async function Ia(e,t){let r=await T(Gt(e));if(r===null||r.trim().length===0){await N(e,{pending_otel_spans:0});return}let n=Tn(r),{entries:o,prunedCount:i}=In(n,t),s=o.filter(_=>wn(_.next_attempt_after)).slice(0,qs);if(s.length===0){let _=i>0?await tn(e,t,new Set,new Map):o.length;await N(e,{pending_otel_spans:_});return}let a=v(),c=new Set,d=new Map,l=0,m;await Promise.all(s.map(async _=>{try{let y=await _n(_.endpoint,{"content-type":"application/json"},JSON.stringify(_.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(_.id),l+=1}catch(y){m=y instanceof Error?jt(y.message,"redacted"):"local_otel_export_failed";let w=_.attempts+1;d.set(_.id,{attempts:w,next_attempt_after:gn(w)})}}));let h=await tn(e,t,c,d),p={pending_otel_spans:h,last_otel_attempt_at:a};l>0&&(p.last_otel_success_at=a),m!==void 0?(p.last_otel_failure_at=a,p.last_otel_failure_error=m):h===0&&(p.last_otel_failure_at=void 0,p.last_otel_failure_error=void 0),await N(e,p)}async function xa(e,t,r){try{await Ra(e,t,r)}catch{}try{await Ia(e,r)}catch{}}async function Aa(e,t=Js){try{let r=la(e),n=await Fs(r,{withFileTypes:!0}),o=Date.now()-Math.max(0,t);await Promise.all(n.filter(i=>i.isFile()&&/^\.events\.jsonl\.\d+\.\d+\.[a-f0-9]+\.tmp$/.test(i.name)).map(async i=>{let s=k.join(r,i.name);(await rn(s)).mtimeMs<o&&await Bt(s,{force:!0})}))}catch{}}async function Wt(e){let t=Zr.catch(()=>{}).then(e);return Zr=t.catch(()=>{}),t}async function Kt(e){let t=await T(Qe(e));return t===null||t.trim().length===0?[]:yn(t)}async function va(e,t,r){return Wt(async()=>{let n=await Kt(e),{entries:o}=Yt(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await Xe(e,i),i})}async function Ca(e,t,r,n){return Wt(async()=>{let o=await Kt(e),{entries:i}=Yt(o,n),s=i.map(a=>{if(!t.has(a.event.event_id))return a;let c=a.attempts+1;return{...a,attempts:c,last_attempt_at:r,next_attempt_after:gn(c)}});return await Xe(e,s),s})}async function Ra(e,t,r){await Aa(e);let n=t.trim();if(n.length===0)return;let o=await T(Qe(e));if(o===null||o.trim().length===0){await N(e,{endpoint:n,queue_entries:0});return}let i=yn(o);if(i.length===0){await N(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=Yt(i,r);if(s.length===0){await Xe(e,[]),await N(e,{endpoint:n,queue_entries:0});return}let c=s.filter(p=>wa(p)).slice(0,Gs);if(c.length===0){a>0&&await Xe(e,s),await N(e,{endpoint:n,queue_entries:s.length});return}let d=new Set(c.map(p=>p.event.event_id)),l=v(),m={"content-type":"application/json"},h=process.env.PM_TELEMETRY_INGEST_KEY?.trim();h&&(m["x-pm-telemetry-key"]=h);try{let p=await _n(n,m,JSON.stringify({schema_version:Bs,events:c.map(_=>_.event)}));if(p<200||p>=300)throw new Error(`telemetry_flush_http_${p}`)}catch(p){let _=await Ca(e,d,l,r),y=p instanceof Error?jt(p.message,"redacted"):"telemetry_flush_failed";await N(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let p=await va(e,d,r);await N(e,{endpoint:n,queue_entries:p.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(p){let _=p instanceof Error?jt(p.message,"redacted"):"telemetry_flush_failed",y=await Kt(e).catch(()=>s);await N(e,{endpoint:n,queue_entries:y.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:_})}}async function ka(e){let t=dn(e);await Ht(k.dirname(t),{recursive:!0});try{return await Ht(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await rn(t);return Date.now()-r.mtimeMs<Zs?!1:(await Bt(t,{recursive:!0,force:!0}),await Ht(t),!0)}catch{return!1}}function Da(e){try{$s(e,{recursive:!0,force:!0})}catch{}}function La(e){Da(ua(e))}async function Ma(e,t,r){let n=await ka(e);if(La(e),!!n)try{await xa(e,t,r)}finally{try{await Bt(dn(e),{recursive:!0,force:!0})}catch{}}}async function Su(e=nt(process.cwd())){if(!ya())try{if(!(await C(e)).telemetry.enabled)return;let{endpoint:r,retentionDays:n}=await ga(e);await Ma(e,r,n)}catch{}}(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]="619b20e3-78d9-55bd-9d2d-857a3bc1bee8")}catch{}})();(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]="13c02696-29a7-598e-888a-3502fd88bfbe")}catch{}})();(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]="33a43890-abcf-58fc-bf9d-bf2619d4cf35")}catch{}})();var Na=3,xn=20,Oa=.8,Pa=100,An=1e3,vn=1e6;function Yh(e){return e===void 0?[]:[`likely_duplicates:${e.result.items.map(t=>t.id).join(",")}`,`likely_duplicate_recovery:${e.recovery.action}:${e.recovery.item_id}`]}async function $a(e,t){let r=e.items[0],n=H(t.cwd??process.cwd(),t.pmRoot),o=xe((await C(n)).schema);return st(r.status,o)?{action:"reopen",item_id:r.id,command:`pm item reopen ${r.id} "<recurrence reason>"`,args:["item","reopen",r.id,"<recurrence reason>"]}:{action:"reuse",item_id:r.id,command:`pm get ${r.id} --full`,args:["get",r.id,"--full"]}}function Cn(e){let t=e.limit??Na,r=e.threshold??Oa;if(!Number.isSafeInteger(t)||t<0||t>xn)throw new f(`Similarity limit must be an integer from 0 to ${xn}.`,u.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new f("Similarity threshold must be a number from 0 to 1.",u.USAGE);return{limit:t,threshold:r}}function Fa(e){let t=e.limit??Pa;if(!Number.isSafeInteger(t)||t<0||t>An)throw new f(`Duplicate cluster limit must be an integer from 0 to ${An}.`,u.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new f("Duplicate cluster --since must be a valid ISO timestamp.",u.USAGE);return{limit:t,since:r}}async function Ua(e,t){let r=H(e.cwd??process.cwd(),e.pmRoot),n=await C(r),o=F(n),i=e.statuses?.map(m=>m.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new f("Duplicate cluster statuses must include at least one lifecycle status or all.",u.USAGE);let s=xe(n.schema),a=i?.map(m=>{if(m==="all")return m;let h=de(m,s);if(!h)throw new f(`Unknown duplicate-cluster status "${m}". Allowed: all, ${s.definitions.map(p=>p.id).join(", ")}.`,u.USAGE);return h}),c=a?.includes("all")===!0;if(c&&a?.some(m=>m!=="all"))throw new f('The "all" status cannot be combined with other statuses.',u.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await De(r,n.item_format,o.type_to_folder,void 0,n.schema)).filter(m=>(!l||l.has(m.status))&&(!t||new Date(m.created_at).getTime()>=t.getTime())).sort((m,h)=>m.id.localeCompare(h.id)).map(m=>({item:m,prepared:_e(m.title)})),statuses:d}}function Rn(e,t=vn){let r=new Set,n=[new Map,new Map,new Map];for(let[o,i]of e.entries()){let s=[[i.prepared.normalized],i.prepared.issueCodes,i.prepared.tokens];for(let[a,c]of s.entries())for(let d of c){let l=n[a].get(d)??[];for(let m of l)r.add(`${m}:${o}`);if(r.size>t)throw new f(`Duplicate sweep exceeded ${vn} candidate pairs; narrow it with statuses or since.`,u.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the batch duplicate query until its deterministic candidate set fits the disclosed safety bound."});l.push(o),n[a].set(d,l)}}return r}var Wh={buildDuplicateClusters:Dn,collectDuplicateCandidatePairs:Rn,createDuplicateUnionFind:kn};function kn(e){let t=Array.from({length:e},(n,o)=>o);return{parent:t,findRoot:n=>{let o=n;for(;t[o]!==o;)o=t[o];for(;t[n]!==n;){let i=t[n];t[n]=o,n=i}return o}}}function za(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(m=>Number.parseInt(m,10)),c=Ne(e[s].prepared,e[a].prepared);if(c.score<r)continue;let d=n.findRoot(s),l=n.findRoot(a);d!==l&&(n.parent[l]=d),o.push({left_id:e[s].item.id,right_id:e[a].item.id,...c})}return o}function Dn(e,t,r,n){let o=new Map;for(let i of e.keys()){let s=r.findRoot(i),a=o.get(s)??[];a.push(i),o.set(s,a)}return[...o.values()].filter(i=>i.length>1).map(i=>{let s=new Set(i.map(c=>e[c].item.id)),a=t.filter(c=>s.has(c.left_id)&&s.has(c.right_id)).sort((c,d)=>d.score-c.score||c.left_id.localeCompare(d.left_id)||c.right_id.localeCompare(d.right_id));return{id:e[i[0]].item.id,items:i.map(c=>{let d=e[c].item;return{id:d.id,title:d.title,status:d.status,type:d.type}}),matches:a,max_score:a[0]?.score??0}}).sort((i,s)=>s.max_score-i.max_score||i.id.localeCompare(s.id)).slice(0,n)}function Va(e,t,r,n,o){return t.filter(i=>!r.has(i.id)).map(i=>({id:i.id,title:i.title,status:i.status,type:i.type,...Me(e,i.title)})).filter(i=>i.score>=n).sort((i,s)=>s.score-i.score||i.id.localeCompare(s.id)).slice(0,o)}async function Ha(e,t={}){let r=e.title.trim();if(r.length===0)throw new f("Similarity candidate title must not be empty.",u.USAGE);let{limit:n,threshold:o}=Cn(t),i=H(t.cwd??process.cwd(),t.pmRoot),s=await C(i),a=F(s),c=await ht(i,Object.values(a.type_to_folder)),d=ye(r),l=c&&d.length>0?await mt({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(p=>`"${p.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,m=l===null?await De(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,h=Va(r,m,new Set(e.excludeIds??[]),o,n);return{items:h,count:h.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}async function Kh(e={}){let{threshold:t}=Cn({...e,limit:void 0}),{limit:r,since:n}=Fa(e),{items:o,statuses:i}=await Ua(e,n),s=Rn(o),a=kn(o.length),c=za(o,s,t,a),d=Dn(o,c,a,r);return{clusters:d,count:d.length,threshold:t,source:"metadata_scan",filters:{statuses:i??null,since:e.since??null},cost:{item_count:o.length,candidate_pairs:s.size,scored_pairs:s.size}}}async function Xh(e,t){if(t.mode==="off")return;let r=await Ha(e,t);if(r.count===0)return;let n=await $a(r,t),o=t.mode==="strict"&&t.allowDuplicate===!0;if(t.mode==="strict"&&!o){let i=r.items.map(a=>`${a.id} (${a.status}): ${a.title}`).join("; "),s=n.action==="reopen"?"Reopen the canonical item":"Reuse the canonical item";throw new f(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,u.CONFLICT,{code:"likely_duplicate",required:`${s}, or explicitly acknowledge the duplicate with --allow-duplicate.`,recovery:{suggested_flags:["--allow-duplicate"],suggested_retry:n.command,suggested_retry_args:n.args}})}return{mode:t.mode,bypassed:o,result:r,recovery: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]="7ad4e6c0-7545-51cb-9af7-4ba1ad4c4758")}catch{}})();function Xt(e,t=!1){let r=e[0];if(r?.op!=="history_compact_baseline")return 0;let n=r.context?.history_compaction,o=typeof n=="object"&&n!==null&&"version_offset"in n?n.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new f("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",u.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(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]="2efbffc1-722c-5f3a-9ca5-e4e7a4f97729")}catch{}})();function ja(e,t){let r=-1;return e.forEach((n,o)=>{let i=Date.parse(n.ts);if(!Number.isFinite(i))throw new f(`History for this item contains invalid timestamp at entry ${o+1}.`,u.GENERIC_FAILURE);i<=t&&(r=o)}),r}function qa(e,t){let r=e[0]?.ts??null,n=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:r,last_timestamp:n}};return n!==null&&(o.examples=[n],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:n}}function Ba(e,t){let r={};if(t instanceof Error&&t.message.trim().length>0&&(r.reason=t.message.trim()),typeof t!="object"||t===null)return r;let n=t;if(typeof n.index=="number"&&Number.isInteger(n.index)&&n.index>=0&&(r.patchIndex=n.index),typeof n.operation=="object"&&n.operation!==null){let o=n.operation;Object.assign(r,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(r.patchIndex!==void 0){let o=e[r.patchIndex];o&&(r.op??=o.op,r.path??=o.path,r.from??=o.from)}return r}function s_(e,t,r={}){let n=e.trim(),o=r.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=qa(t,Xt(t,!0));if(!n)throw new f(`Missing ${o} target. Use a timestamp or version number.`,u.USAGE,s);if(/^\d+$/.test(n)){let l=Xt(t),m=Number(n);if(m>=1&&m<=l)throw new f(`History version ${m} was pruned by compaction.`,u.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(m)||m<1||m>l+t.length)throw new f(`${i} version must be between ${l+1} and ${l+t.length} for this item.`,u.USAGE,s);return{kind:"version",raw:n,historyIndex:m-l-1}}let c=Date.parse(n);if(!Number.isFinite(c))throw new f(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,u.USAGE,s);let d=ja(t,c);if(d<0||r.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new f(o==="restore"?`No history entries exist at or before timestamp ${n}.`:`No history entry exists at timestamp ${n}.`,u.USAGE,s);return{kind:"timestamp",raw:n,historyIndex:d}}function Je(e,t,r,n){let o=me(e,t);if(o.ok)return o.document;let i=Ba(t,o.error),s=[`history_op=${n}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new f(`Failed to apply history patch at entry ${r} (${s.join(", ")}). ${i.reason??String(o.error)}`,u.GENERIC_FAILURE)}function a_(e,t){let r=e[0];if(r&&r.op!=="create"&&r.op!=="history_compact_baseline"){let s=me(te,r.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new f("History starts without a reconstructable item baseline.",u.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let n=e.slice(0,t+1),o=pe([...n]),i=structuredClone(te);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new f(`History target entry ${s+1} does not exist.`,u.USAGE);i=Je(i,a.patch,s+1,a.op)}if(!o.ok)throw new f(`History cannot be replayed: ${o.errors.join(", ")}.`,u.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function c_(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new f("History has no complete item baseline for this target.",u.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new f(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,u.USAGE)}import Qt from"node:fs/promises";import Ga 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]="a2ec9f1a-aae2-59d5-8c9a-7acd8bf5a7a2")}catch{}})();function Ya(e){if(!e.itemDocument)return[];let t=e.itemDocument.metadata?.assignee?.trim();if(!t||t===e.author||e.force)return[];let r=or(e.settings);if(r.ownership_enforcement==="strict")throw new f(`Item ${e.subjectId} is assigned to ${t}. Use --force to override.`,u.CONFLICT);return r.ownership_enforcement==="warn"?[`ownership_warning:assignee_conflict:${e.subjectId}:${t}`]:[]}async function Wa(e){let t=await T(e.subject.historyPath);if(t!==e.historyRawBeforeLock)throw new f(`History for ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,u.CONFLICT);let r=await q(e.pmRoot,e.subject.id,e.settings.id_prefix,e.settings.item_format,e.typeRegistry.type_to_folder),n=r?await B(r,{schema:e.settings.schema}):null;if((n?.raw??null)!==(e.currentItemRawBeforeLock??null))throw new f(`Item ${e.subject.id} changed while waiting for lock; retry ${e.operation}.`,u.CONFLICT);return{historyRawUnderLock:t,locatedUnderLock:r,loadedItemUnderLock:n}}async function g_(e){let t=e.writeHistoryRaw??S;try{await t(e.historyPath,e.nextHistoryRaw),await ee(e.historyPath)}catch(r){try{e.historyRawUnderLock===null?await Ga.rm(e.historyPath,{force:!0}):await t(e.historyPath,e.historyRawUnderLock),await ee(e.historyPath)}catch(n){throw new AggregateError([r,n],`History rewrite failed and rollback also failed: ${String(r)}`)}throw r}}async function Ln(e){let t=[...Ya({itemDocument:e.itemDocument,subjectId:e.subject.id,author:e.author,force:e.force,settings:e.settings})],r=await Ae(e.pmRoot,e.subject.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let n=await Wa({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItemRawBeforeLock,operation:e.operation});return await e.applyRewrite(n),e.applyPostRewrite&&t.push(...await e.applyPostRewrite(n)),t}finally{await 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]="bd1e86b0-6696-5fba-8dd4-b9636bf3ee60")}catch{}})();function Mn(e){return Array.isArray(e)?e:typeof e=="string"?[e]:[]}function Ka(e){let t=[];for(let r of e)t.includes(r)||t.push(r);return t.includes("g")||t.push("g"),t.join("")}function Xa(e){let t=e.trim();if(t.length===0)throw new f("history-redact --regex requires a non-empty pattern.",u.USAGE);let r=t,n="g";if(t.startsWith("/")&&t.length>1){let o=t.lastIndexOf("/");o>0&&(r=t.slice(1,o),n=Ka(t.slice(o+1)))}if(r.length===0)throw new f("history-redact --regex cannot use an empty pattern.",u.USAGE);try{new RegExp(r,n)}catch{throw new f("Invalid --regex value; provide a valid JavaScript regular expression.",u.USAGE)}return{kind:"regex",source:r,flags:n}}function Qa(e,t){let r=[...new Set(Mn(e).map(i=>i.trim()))].filter(i=>i.length>0).map(i=>({kind:"literal",value:i})),n=[...new Set(Mn(t).map(i=>i.trim()))].filter(i=>i.length>0).map(Xa),o=[...r,...n];if(o.length===0)throw new f("history-redact requires at least one matcher via --literal or --regex.",u.USAGE,{code:"missing_required_argument",required:"Provide --literal <value> and/or --regex <pattern>.",examples:['pm history-redact pm-a1b2 --literal "[redacted_path_prefix]/private"','pm history-redact pm-a1b2 --regex "/192\\\\.168\\\\.[0-9.]+/g" --replacement "[scrubbed_ip]"']});return o}function Ja(e,t,r){if(t.length===0)return{value:e,replacements:0};let n=0,o=0;for(;n<=e.length;){let i=e.indexOf(t,n);if(i===-1)break;o+=1,n=i+Math.max(1,t.length)}return o===0?{value:e,replacements:0}:{value:e.split(t).join(r),replacements:o}}function Za(e,t,r){let n=new RegExp(t.source,t.flags),o=[...e.matchAll(n)];return o.length===0?{value:e,replacements:0}:{value:e.replace(n,r),replacements:o.length}}function On(e,t,r){let n=e,o=0;for(let i of t){let s=i.kind==="literal"?Ja(n,i.value,r):Za(n,i,r);n=s.value,o+=s.replacements}return{value:n,replacements:o}}function Ze(e,t,r){if(typeof e=="string")return On(e,t,r);if(Array.isArray(e)){let n=0;return{value:e.map(i=>{let s=Ze(i,t,r);return n+=s.replacements,s.value}),replacements:n}}if(typeof e=="object"&&e!==null){let n=0,o={};for(let[i,s]of Object.entries(e)){let a=Ze(s,t,r);n+=a.replacements,o[i]=a.value}return{value:o,replacements:n}}return{value:e,replacements:0}}function Nn(e,t,r){let n=0;return{patch:e.map(i=>{if(!Object.prototype.hasOwnProperty.call(i,"value"))return i;let s=Ze(i.value,t,r);return n+=s.replacements,s.replacements>0?{...i,value:s.value}:i}),replacements:n}}function ec(e){let t=structuredClone(te),r=0,n=0;for(let o=0;o<e.length;o+=1){let i=e[o];fe(t)!==i.before_hash&&(r+=1),t=Je(t,i.patch,o+1,i.op),fe(t)!==i.after_hash&&(n+=1)}return{hashMismatchesBefore:r,hashMismatchesAfter:n,finalDocument:t}}function tc(e,t,r){let n=0,o=!1,i=!1,s=e.message;if(typeof e.message=="string"){let d=On(e.message,t,r);s=d.value,n+=d.replacements,d.replacements>0&&(o=!0)}let a=Nn(e.patch,t,r);n+=a.replacements,o||=a.replacements>0;let c=e.reanchor_evidence?.map(d=>{let l=d.patch?Nn(d.patch,t,r):{patch:void 0,replacements:0},m=d.record?Ze(d.record,t,r):{value:void 0,replacements:0};n+=l.replacements,n+=m.replacements;let h=l.replacements>0||m.replacements>0;if(o||=h,!h)return d;i=!0;let{patch:p,record:_,record_hash:y,record_hash_version:w,...g}=d;return l.replacements>0?g:{...g,patch:d.patch}});return{entry:{...e,message:s,patch:a.patch,...c?{reanchor_evidence:c}:{}},replacements:n,changed:o,reanchorEvidenceRedacted:i}}function rc(e,t,r){let n=structuredClone(te),o=0,i=0,s=[];for(let a=0;a<e.length;a+=1){let c=e[a],d=dt(c);if(!d.ok)throw new f(`history-redact refuses invalid immutable record ${a+1} (${d.error}).`,u.GENERIC_FAILURE);let l=tc(c,t,r);i+=l.replacements,l.changed&&(o+=1);let m=fe(n);n=Je(n,l.entry.patch,a+1,l.entry.op);let h=fe(n);s.push(lt(c,{...l.entry,before_hash:m,after_hash:h},{retainPriorRecord:l.changed,retainPriorRecordHash:!l.changed}))}return{entries:s,finalDocument:n,entriesChanged:o,replacements:i}}function nc(e){return Object.keys(e.metadata).length>0}async function oc(e,t){let r=e.located?.itemPath??null;if(!e.located)return{raw:null,path:r,document:null};let n=await B(e.located,{schema:t.schema});return{raw:n.raw,path:r,document:n.document}}function ic(e){if(!nc(e.finalDocument))return{raw:null,path:null,document:null};let t=ct(Ce(e.finalDocument),{schema:e.settings.schema});if(t.metadata.id!==e.subject.id)throw new f("history-redact would change the item id; narrow your patterns.",u.USAGE);return{document:t,path:se(e.pmRoot,t.metadata.type,e.subject.id,"toon",e.typeToFolder),raw:le(t,{format:"toon",schema:e.settings.schema})}}function sc(e,t){return typeof e.message=="string"&&e.message.trim().length>0?e.message:`history-redact replaced ${t.replacements} match(es) across ${t.entriesChanged} entr${t.entriesChanged===1?"y":"ies"}.`}function ac(e){let t=[...e.rewritten.entries];if(e.dryRun||!e.changed)return{rewrittenEntries:t,auditEntryAdded:!1};let r=e.nextItemDocument??Ce(e.rewritten.finalDocument);return t.push(ut({nowIso:v(),author:e.author,op:"history_redact",before:r,after:r,message:e.message})),{rewrittenEntries:t,auditEntryAdded:!0}}async function cc(e){let t=[];return Ln({pmRoot:e.pmRoot,subject:e.subject,settings:e.settings,typeRegistry:e.typeRegistry,historyRawBeforeLock:e.historyRawBeforeLock,currentItemRawBeforeLock:e.currentItem.raw,operation:"history-redact",author:e.author,force:e.force,itemDocument:e.currentItem.document,applyRewrite:async({historyRawUnderLock:r})=>{let n=await pt(e.pmRoot,e.author),o=new Set;e.currentItem.path&&o.add(e.currentItem.path),e.nextItem.path&&o.add(e.nextItem.path);let i=new Map;e.currentItem.path&&e.currentItem.raw!==null&&i.set(e.currentItem.path,e.currentItem.raw);let s=()=>{};try{try{e.nextItem.path&&e.nextItem.raw!==null&&e.nextItem.raw!==e.currentItem.raw&&await S(e.nextItem.path,e.nextItem.raw),e.currentItem.path&&(!e.nextItem.path||e.nextItem.path!==e.currentItem.path)&&await Qt.rm(e.currentItem.path,{force:!0}),await S(e.subject.historyPath,nr(e.rewrittenEntries))}catch(c){try{await dc(e.subject.historyPath,r,o,i)}finally{await ee(e.subject.historyPath)}throw c}await ee(e.subject.historyPath);let a=e.nextItem.path??e.currentItem.path;a&&(t=await _t({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:e.typeRegistry.type_to_folder,schema:e.settings.schema,itemPath:a,...e.currentItem.path?{previousItemPath:e.currentItem.path}:{},document:e.nextItem.document}))}finally{await n().catch(a=>{s=()=>{throw a}})}s()},applyPostRewrite:async()=>[...t,...await lc(e.subject.historyPath,[e.nextItem.path,e.currentItem.path])]})}async function dc(e,t,r,n){t===null?await Qt.rm(e,{force:!0}):await S(e,t);for(let o of r){let i=n.get(o);i===void 0?await Qt.rm(o,{force:!0}):await S(o,i)}}async function lc(e,t){let r=[],n=new Set(t.filter(o=>o!==null));for(let o of n)r.push(...await j({path:o,scope:"project",op:"history_redact"}));return r.push(...await j({path:e,scope:"project",op:"history_redact:history"})),r}async function uc(e,t,r,n){let o=await q(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:Ie(e,o.id),located:o};let i=re(t,r.id_prefix),s=ft(t),a=i===s?[i]:[i,s];for(let c of a){let d=Ie(e,c);if(await P(d))return{id:c,historyPath:d,located:null}}throw new f(`Item ${t} not found`,u.NOT_FOUND)}async function V_(e,t,r){let n=H(process.cwd(),r.path);await ir(n);let o=await C(n),i=F(o,ce()),s=t.replacement??"",a=s.length===0,c=a?"[redacted]":s,d=Qa(t.literal,t.regex),l=await uc(n,e,o,i.type_to_folder);if(!await P(l.historyPath))throw new f(`No history stream exists for ${l.id}.`,u.NOT_FOUND);let m=await T(l.historyPath),h=await ue(l.historyPath,l.id);if(h.length===0)throw new f(`No history entries exist for ${l.id}; nothing to redact.`,u.USAGE);let p=ec(h),_=rc(h,d,c),y=p.hashMismatchesBefore+p.hashMismatchesAfter,w=!!t.dryRun,g=_.replacements>0,x=[];y>0&&x.push(`history_redact_preexisting_hash_mismatches:${y}`),g||x.push("history_redact_no_matches");let I=await oc(l,o),A=ic({pmRoot:n,subject:l,settings:o,typeToFolder:i.type_to_folder,finalDocument:_.finalDocument}),z=(I.path??null)!==(A.path??null)||(I.raw??null)!==(A.raw??null),O=ve(t.author,o.author_default),et=sc(t,_),{rewrittenEntries:Q,auditEntryAdded:Se}=ac({rewritten:_,dryRun:w,changed:g,nextItemDocument:A.document,author:O,message:et}),ie=pe(Q);if(!ie.ok)throw new f(`history-redact produced an invalid rewritten chain (${ie.errors.join(", ")}).`,u.GENERIC_FAILURE);return!w&&g&&x.push(...await cc({pmRoot:n,subject:l,settings:o,typeRegistry:i,historyRawBeforeLock:m,currentItem:I,nextItem:A,author:O,force:t.force,rewrittenEntries:Q})),{id:l.id,dry_run:w,changed:g,patterns:{literal_count:d.filter(V=>V.kind==="literal").length,regex_count:d.filter(V=>V.kind==="regex").length,total_count:d.length,replacement_is_default:a},history:{path:l.historyPath,entries_scanned:h.length,entries_changed:_.entriesChanged,replacements:_.replacements,hash_mismatches_before:p.hashMismatchesBefore,hash_mismatches_after:p.hashMismatchesAfter,preexisting_hash_mismatches:y,audit_entry_added:Se,verify_ok:ie.ok,verify_errors:ie.errors},item:{existed_before:I.path!==null,exists_after:A.path!==null,path_before:I.path,path_after:A.path,changed:z},warnings:[...new Set(x)].sort((V,Pn)=>V.localeCompare(Pn)),generated_at:v()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="412fc2d2-daee-5d87-82ab-5411a1503087")}catch{}})();function j_(e,t){let r=t??{};return e.filter(n=>r[n.id]!==n.updated_at).map(n=>n.id).sort((n,o)=>n.localeCompare(o))}export{Xt as a,s_ as b,Je as c,a_ as d,c_ as e,Ya as f,g_ as g,Ln as h,uc as i,V_ as j,ro as k,no as l,io as m,so as n,Oc as o,ao as p,co as q,Uc as r,pr as s,lo as t,uo as u,fo as v,mo as w,wo as x,So as y,zc as z,To as A,wr as B,xo as C,Ao as D,Vc as E,vo as F,Pe as G,Hc as H,$e as I,Ro as J,ko as K,bt as L,Lo as M,Et as N,Mo as O,nd as P,Oo as Q,Er as R,Po as S,$o as T,zo as U,ld as V,jo as W,_d as X,Yo as Y,Ko as Z,$n as _,Xo as $,Qo as aa,ze as ba,wi as ca,Fd as da,Tt as ea,Dr as fa,It as ga,Di as ha,Li as ia,Vd as ja,Lr as ka,ne as la,At as ma,Ct as na,Pt as oa,Jd as pa,$t as qa,Ye as ra,Ur as sa,We as ta,Ft as ua,Ut as va,zt as wa,Vt as xa,Br as ya,Gr as za,wl as Aa,jn as Ba,ar as Ca,Bn as Da,Gn as Ea,Yn as Fa,yc as Ga,wc as Ha,he as Ia,Le as Ja,ye as Ka,_e as La,Me as Ma,Ne as Na,cr as Oa,Jn as Pa,Cs as Qa,Ds as Ra,Ms as Sa,Ns as Ta,Bs as Ua,on as Va,oa as Wa,Su as Xa,j_ as Ya,Yh as Za,Wh as _a,Ha as $a,Kh as ab,Xh as bb};
20
- //# sourceMappingURL=chunk-GUBM3RGY.js.map