@unbrained/pm-cli 2026.9.17 → 2026.9.19

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 (157) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +49 -0
  3. package/dist/cli/invocation-profile.d.ts +26 -0
  4. package/dist/cli/invocation-profile.js +3 -0
  5. package/dist/cli/register-operations.js +1 -1
  6. package/dist/cli-bundle/bundle-manifest.json +149 -149
  7. package/dist/cli-bundle/chunks/{chunk-LD2FH2YE.js → chunk-7CN53F4S.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-AACGU5IA.js +3 -0
  9. package/dist/cli-bundle/chunks/{chunk-Q6KPZGMP.js → chunk-CCLWCESZ.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-T526C5DX.js → chunk-J7NP7QLW.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-UF75LUAK.js → chunk-K4VAU4HU.js} +63 -63
  12. package/dist/cli-bundle/chunks/chunk-KHN4NMKT.js +238 -0
  13. package/dist/cli-bundle/chunks/{chunk-YZXB4XGA.js → chunk-KYG2QKNY.js} +29 -29
  14. package/dist/cli-bundle/chunks/{chunk-CPFBDM53.js → chunk-OQS2Y6VN.js} +2 -2
  15. package/dist/cli-bundle/chunks/{chunk-G2IJF244.js → chunk-QA4GUEKJ.js} +20 -20
  16. package/dist/cli-bundle/chunks/chunk-QTHR3LXF.js +20 -0
  17. package/dist/cli-bundle/chunks/{chunk-5ZY4WE3F.js → chunk-RVMDPIGD.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-WASMH647.js +8 -0
  19. package/dist/cli-bundle/chunks/{register-list-query-ISM35VIX.js → register-list-query-RMZNHSII.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-mutation-KHMBJJS6.js → register-mutation-HJGSGX3H.js} +2 -2
  21. package/dist/cli-bundle/chunks/register-operations-LBEMFUMM.js +2 -0
  22. package/dist/cli-bundle/chunks/{register-setup-YAURJMY5.js → register-setup-MU557JAA.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-G4TKJZ4A.js → chunk-5SZ4JSPZ.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-NOK652OP.js → chunk-7Y7PAC56.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-5KYHDFDN.js → chunk-ARK4FIO4.js} +3 -3
  26. package/dist/cli-bundle/focused-chunks/{chunk-LNM3BS45.js → chunk-CJ4QA4RW.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/chunk-I32L3FWW.js +12 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-267N774W.js → chunk-I4WDON3K.js} +2 -2
  29. package/dist/cli-bundle/focused-chunks/{chunk-7ZC4CKOX.js → chunk-IKPR4VVN.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/chunk-J3GN4SQT.js +2 -0
  31. package/dist/cli-bundle/focused-chunks/{chunk-GKSAMNBG.js → chunk-OOZHQFBF.js} +16 -16
  32. package/dist/cli-bundle/focused-chunks/{chunk-JZSLDLR4.js → chunk-P4BA7OX7.js} +27 -26
  33. package/dist/cli-bundle/focused-chunks/chunk-QL4MO5M2.js +30 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-TDHVROGL.js +3 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-V3YMNAO7.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-YDFEWXXZ.js +59 -0
  37. package/dist/cli-bundle/focused-chunks/{chunk-WUMGGQYN.js → chunk-ZDBKYZFE.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-BFUXTNZU.js → chunk-ZI2YBJFH.js} +2 -2
  39. package/dist/cli-bundle/main.js +2 -2
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +2 -2
  42. package/dist/cli-bundle/sdk-core.js +25 -25
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +41 -41
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +8 -8
  50. package/dist/cli.js +1 -1
  51. package/dist/core/checkpoint/mutation-checkpoint.d.ts +1 -1
  52. package/dist/core/checkpoint/mutation-checkpoint.js +2 -2
  53. package/dist/core/config/nested-settings.js +1 -1
  54. package/dist/core/fs/atomic-create.d.ts +7 -0
  55. package/dist/core/fs/atomic-create.js +2 -0
  56. package/dist/core/history/history.js +1 -1
  57. package/dist/core/schema/runtime-schema.d.ts +1 -1
  58. package/dist/core/schema/runtime-schema.js +2 -2
  59. package/dist/core/session/session-state.js +1 -1
  60. package/dist/core/shared/secret-rules.d.ts +110 -0
  61. package/dist/core/shared/secret-rules.js +2 -0
  62. package/dist/core/store/settings-concurrency.d.ts +7 -0
  63. package/dist/core/store/settings-concurrency.js +2 -0
  64. package/dist/core/store/settings.d.ts +8 -1
  65. package/dist/core/store/settings.js +3 -2
  66. package/dist/mcp/server.d.ts +4 -0
  67. package/dist/mcp/server.js +1 -1
  68. package/dist/sdk/cli-contracts/command-aliases.js +1 -1
  69. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  70. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  71. package/dist/sdk/cli-program.js +1 -1
  72. package/dist/sdk/context-intent-contracts.js +1 -1
  73. package/dist/sdk/context-relevance.js +1 -1
  74. package/dist/sdk/contracts.d.ts +1 -0
  75. package/dist/sdk/contracts.js +1 -1
  76. package/dist/sdk/extension/install-runtime.d.ts +1 -1
  77. package/dist/sdk/extension/install-runtime.js +2 -2
  78. package/dist/sdk/governance/health.js +1 -1
  79. package/dist/sdk/governance/provenance-health.d.ts +27 -0
  80. package/dist/sdk/governance/provenance-health.js +1 -1
  81. package/dist/sdk/graph/index.d.ts +1 -0
  82. package/dist/sdk/graph/index.js +1 -1
  83. package/dist/sdk/graph/query-contracts.d.ts +18 -0
  84. package/dist/sdk/graph/query-contracts.js +2 -0
  85. package/dist/sdk/graph/run.d.ts +2 -0
  86. package/dist/sdk/graph/run.js +1 -1
  87. package/dist/sdk/graph/traversal.js +1 -1
  88. package/dist/sdk/guide-topics.js +1 -1
  89. package/dist/sdk/lifecycle/event-validation-messages.d.ts +1 -1
  90. package/dist/sdk/lifecycle/event-validation-messages.js +1 -1
  91. package/dist/sdk/lifecycle-policy.js +1 -1
  92. package/dist/sdk/mutation-guard.d.ts +8 -1
  93. package/dist/sdk/mutation-guard.js +1 -1
  94. package/dist/sdk/public-surface.json +1 -1
  95. package/dist/sdk/query/next-ready-budget.d.ts +20 -0
  96. package/dist/sdk/query/next-ready-budget.js +2 -0
  97. package/dist/sdk/query/next.d.ts +7 -2
  98. package/dist/sdk/query/next.js +1 -1
  99. package/dist/sdk/read-output-budget.d.ts +3 -1
  100. package/dist/sdk/read-output-budget.js +1 -1
  101. package/dist/sdk/read-output-contracts.js +1 -1
  102. package/dist/sdk/read-output-session.js +1 -1
  103. package/dist/sdk/test/execution.d.ts +6 -5
  104. package/dist/sdk/test/execution.js +2 -2
  105. package/dist/sdk/test/json-path.d.ts +11 -0
  106. package/dist/sdk/test/json-path.js +2 -0
  107. package/docs/BUILD_AND_RELEASE_ACCEPTANCE.md +66 -0
  108. package/docs/MCP_OPTION_CONFORMANCE.md +41 -0
  109. package/docs/MUTATION_INTEGRITY.md +36 -4
  110. package/docs/NEXT_SELECTION_BUDGETS.md +93 -0
  111. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +18 -2
  112. package/docs/PACKED_FIRST_RUN.md +8 -4
  113. package/docs/PERFORMANCE.md +37 -0
  114. package/docs/README.md +2 -0
  115. package/docs/READ_OUTPUT_CONTRACTS.md +8 -4
  116. package/docs/SDK_AGENT_SESSION_CONTEXT.md +28 -4
  117. package/docs/SDK_LIFECYCLE.md +16 -2
  118. package/docs/WORKSPACE_CONCURRENCY.md +67 -0
  119. package/docs/agent-task-token-baseline.json +7 -7
  120. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +1 -1
  121. package/docs/generated/AGENT_COMMAND_SURFACE.md +3 -0
  122. package/docs/generated/FLAG_LEXICON_BUDGETS.md +3 -0
  123. package/marketplace.json +2 -2
  124. package/package.json +11 -9
  125. package/packages/pm-beads/package.json +1 -1
  126. package/packages/pm-calendar/README.md +43 -2
  127. package/packages/pm-calendar/extensions/calendar/command-definitions.ts +52 -0
  128. package/packages/pm-calendar/extensions/calendar/index.ts +2 -0
  129. package/packages/pm-calendar/extensions/calendar/manifest.json +3 -3
  130. package/packages/pm-calendar/extensions/calendar/shortcuts.ts +15 -0
  131. package/packages/pm-calendar/package.json +1 -1
  132. package/packages/pm-command-kit/package.json +1 -1
  133. package/packages/pm-digital-twin/package.json +1 -1
  134. package/packages/pm-governance-audit/package.json +1 -1
  135. package/packages/pm-guide-shell/package.json +1 -1
  136. package/packages/pm-kanban/package.json +1 -1
  137. package/packages/pm-lifecycle-hooks/package.json +1 -1
  138. package/packages/pm-linked-test-adapters/package.json +1 -1
  139. package/packages/pm-search-advanced/package.json +1 -1
  140. package/packages/pm-templates/package.json +1 -1
  141. package/packages/pm-todos/package.json +1 -1
  142. package/packages/pm-vcs/package.json +1 -1
  143. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  144. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  145. package/scripts/build-lease.mjs +43 -0
  146. package/scripts/build.mjs +40 -0
  147. package/dist/cli-bundle/chunks/chunk-C3MFMGCR.js +0 -20
  148. package/dist/cli-bundle/chunks/chunk-DN2RIHRN.js +0 -3
  149. package/dist/cli-bundle/chunks/chunk-E67MIO3Z.js +0 -8
  150. package/dist/cli-bundle/chunks/chunk-UJSB6NO6.js +0 -237
  151. package/dist/cli-bundle/chunks/register-operations-HHDROJD6.js +0 -2
  152. package/dist/cli-bundle/focused-chunks/chunk-5FSGN4MP.js +0 -12
  153. package/dist/cli-bundle/focused-chunks/chunk-7S7XWMXC.js +0 -2
  154. package/dist/cli-bundle/focused-chunks/chunk-IVWUQE7T.js +0 -59
  155. package/dist/cli-bundle/focused-chunks/chunk-OCTTDZOU.js +0 -3
  156. package/dist/cli-bundle/focused-chunks/chunk-OWDDVMAP.js +0 -2
  157. package/dist/cli-bundle/focused-chunks/chunk-Z4PWEIMX.js +0 -30
@@ -1,20 +1,20 @@
1
- import{a as ft,b as mt,d as pt}from"./chunk-267N774W.js";import{t as wr}from"./chunk-7S7XWMXC.js";import{$ as ht,Ab as xr,Ba as Lr,I as Ar,J as Cr,Kb as Dr,Lb as Or,Ob as Nr,Pa as Mr,Ra as Le,S as ue,Sa as I,Ta as Me,U as B,Va as ke,Wa as re,X as _t,Y as yt,kb as gt,lc as Fr,mb as wt,ob as kr,qb as fe,ua as Rr,ub as xe,vb as me,wb as Et,yb as bt,zb as ne}from"./chunk-JZSLDLR4.js";import{m as ee,o as lt}from"./chunk-OCTTDZOU.js";import{$ as f,Aa as M,Ba as ce,Ga as F,Ia as Ie,Ic as q,Ja as at,Ka as ct,La as hr,Lc as Ae,Ma as de,Oc as br,Pa as w,Qa as T,Ra as le,Rd as k,Sa as Z,Ta as b,V as st,Va as gr,Vd as te,Wd as Ir,Xd as Ce,_d as Re,aa as m,ad as Sr,bd as Tr,cd as ut,gd as vr,i as it,ja as z,la as J,ma as v,na as S,pa as ve,qb as dt,zc as Er}from"./chunk-Z4PWEIMX.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]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}catch{}})();function Pr(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new m(`${t} must be a non-negative number`,f.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]="960053d8-8ed1-50c3-a0fb-bd035ff5c1b8")}catch{}})();var ii=/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/,si=/\bnpm_[A-Za-z0-9]{36}\b/,ai=/\bxox[baprs]-(?=[A-Za-z0-9-]{20,80}\b)(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{20,80}\b/,ci=/-----BEGIN (?:[A-Z0-9]+ )?PRIVATE KEY-----/,di=/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/,$r=/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,li=[{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"}],Tt=new Map(li.map(e=>[e.action,e]));function ui(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 St(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)=>St(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>St(o,`${t}.${n}`,r)))}function Ur(e){let t=[];for(let r of St(e)){ii.test(r.value)&&t.push({rule:"github_token",path:r.path}),si.test(r.value)&&t.push({rule:"npm_token",path:r.path}),ai.test(r.value)&&t.push({rule:"slack_token",path:r.path}),ci.test(r.value)&&t.push({rule:"private_key",path:r.path}),di.test(r.value)&&t.push({rule:"aws_access_key",path:r.path}),$r.lastIndex=0;for(let n of r.value.matchAll($r)){let o=n[1];if(ui(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 fi(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new m("Mutation author is required by workspace policy.",f.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=Ur(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 m(`Mutation blocked by secret guard (${n}). No detected value was logged.`,f.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 mi(e){return Tt.has(e.trim().toLowerCase())}function pi(){return[...Tt.keys()].sort((e,t)=>e.localeCompare(t))}function al(e){return Tt.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]="c18e4dfc-d3e3-5185-9470-9d46b4dca893")}catch{}})();function _i(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function dl(e){return _i(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function pe(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]="54784ad1-36bd-5a10-aa00-ad0b09e935a7")}catch{}})();var yi=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function De(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ye(e){return[...new Set(De(e).match(/[\p{L}\p{N}]+/gu)??[])]}function _e(e){let t=De(e);return{normalized:t,tokens:ye(t),issueCodes:[...new Set(t.match(yi)?.map(r=>r.toLowerCase())??[])]}}function Oe(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:pe(e.tokens,t.tokens),reason:"title_token_jaccard"}}import hi 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]="cdae67c6-8316-5e97-84ca-0be4460ffd57")}catch{}})();function Fe(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function gi(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 zr(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=Fe(t.in_progress_status),i=[];for(let s of e){if(Fe(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=gi(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 wi(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Fe(String(o.status))===Fe(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ht(hi.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)})),zr(t,{...r,last_history_activity:o=>n.get(o.id)})}import{mkdir as Ei,readFile as bi}from"node:fs/promises";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]="9d3152f0-afc9-5be8-9303-b02ea2666631")}catch{}})();function Si(e){let t=e.trim();if(!t)throw new m("--rollback requires a non-empty checkpoint ID",f.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new m("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",f.USAGE);return t}function Ti(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function jr(e,t){return Vr.join(e,"checkpoints",t)}function Kr(e,t,r){return Vr.join(jr(e,t),`${r}.json`)}async function vi(e,t,r,n){let o=jr(e,t);await Ei(o,{recursive:!0});let i=Kr(e,t,r);return await S(i,`${JSON.stringify(n,null,2)}
2
- `),i}function Ii(e,t){if(!Array.isArray(e.items))throw new m(`Checkpoint ${t} is missing items`,f.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new m(`Checkpoint ${t} contains an invalid item entry`,f.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without ID`,f.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without target_updated_at`,f.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function Ai(e,t,r,n){let o=Si(r),i=Kr(e,t,o);if(!await z(i))throw new m(`Checkpoint ${o} not found`,f.NOT_FOUND);let s=await bi(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new m(`Checkpoint ${o} contains invalid JSON: ${b(l)}`,f.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new m(`Checkpoint ${o} is invalid`,f.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new m(`Checkpoint ${o} has unsupported schema version`,f.GENERIC_FAILURE);let d=Ii(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:k(),author:typeof c.author=="string"?c.author:"unknown"}}async function Ci(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:b(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]="fdacd8ac-787a-5639-84d5-a32b6ce79d41")}catch{}})();function V(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Il(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function Ri(e,t){let r=V(t);return!e||!r?null:[...e.search_providers].reverse().find(o=>(V(o.runtime_definition?.name)??V(o.definition?.name))===r)??null}function Li(e,t){let r=V(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(o=>(V(o.runtime_definition?.name)??V(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]="74ce3524-6c25-5646-b1a0-5ca8a3759034")}catch{}})();var P="-",Br=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 Ll(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 Hr(e){let t=e.trim();if(t==="")return[];let n=(Oi(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 Gr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of Hr(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function Yr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function Mi(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function ki(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 m('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',f.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 xi(e,t){let r=Yr(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 Gr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Di(e,t){let r=Array.from(new Set(Yr(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(Gr(t));return n.size===0?r:r.filter(o=>!n.has(o))}function Oi(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 vt(e){return e.replace(/\r\n/g,`
4
- `)}function Wr(e){let t=vt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
1
+ import{a as ft,b as mt,d as pt}from"./chunk-I4WDON3K.js";import{t as wr}from"./chunk-J3GN4SQT.js";import{$ as gt,Ab as Dr,Ba as Lr,I as Cr,J as Rr,Kb as Or,Lb as Nr,Ob as Fr,Pa as Mr,Ra as ke,S as ue,Sa as I,Ta as Le,U as B,Va as Me,Wa as re,X as _t,Y as yt,kb as ht,lc as Pr,mb as wt,ob as xr,qb as fe,ua as kr,ub as xe,vb as me,wb as bt,yb as Et,zb as ne}from"./chunk-P4BA7OX7.js";import{f as br,n as ee,p as lt}from"./chunk-TDHVROGL.js";import{$ as f,$d as Re,Aa as L,Ac as Er,Ba as ce,Ga as F,Ia as Ie,Ja as at,Jc as q,Ka as ct,La as gr,Ma as de,Mc as Ae,Pa as w,Pc as Sr,Qa as T,Ra as le,Sa as Z,Sd as M,Ta as E,V as st,Va as hr,Wd as te,Xd as Ar,Yd as Ce,aa as m,bd as Tr,cd as vr,dd as ut,hd as Ir,i as it,ja as U,la as J,ma as S,na as v,pa as ve,qb as dt}from"./chunk-QL4MO5M2.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}catch{}})();function $r(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new m(`${t} must be a non-negative number`,f.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]="d7a68072-168d-509a-95ec-145635d71d46")}catch{}})();var zr=[{name:"private-key",mutationRule:"private_key",regex:/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/g},{name:"github-token",mutationRule:"github_token",regex:/\b(?:gh[opsru]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/g},{name:"npm-token",mutationRule:"npm_token",regex:/\bnpm_[A-Za-z0-9]{20,}\b/g},{name:"aws-access-key",mutationRule:"aws_access_key",regex:/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g},{name:"google-api-key",mutationRule:"google_api_key",regex:/\bAIza[0-9A-Za-z_-]{35}\b/g},{name:"slack-token",mutationRule:"slack_token",regex:/\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g},{name:"anthropic-api-key",mutationRule:"anthropic_api_key",regex:/\bsk-ant-[A-Za-z0-9_-]{20,}\b/g},{name:"openai-api-key",mutationRule:"openai_api_key",regex:/\bsk-(?!ant-)[A-Za-z0-9_-]{20,}\b/g},{name:"gitlab-token",mutationRule:"gitlab_token",regex:/\bglpat-[A-Za-z0-9_.-]{20,}\b/g},{name:"jwt-like-token",mutationRule:"jwt_like_token",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g},{name:"npm-auth-token-assignment",mutationRule:"npm_auth_token_assignment",regex:/_authToken\s*=\s*\S+/g},{name:"sentry-user-token",mutationRule:"sentry_user_token",regex:/\bsntryu_[A-Za-z0-9]{20,}\b/g},{name:"sentry-org-token",mutationRule:"sentry_org_token",regex:/\bsntrys_[A-Za-z0-9_-]{20,}\b/g},{name:"private-ip",mutationRule:"private_ip",regex:/\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},{name:"private-ssh-target",mutationRule:"private_ssh_target",regex:/\b(?:ssh|scp|rsync)\s+[A-Za-z0-9._-]+@(?: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},{name:"sshpass-inline-password",mutationRule:"sshpass_inline_password",regex:/\bsshpass\s+-p\s+["'][^"']{6,}["']/g},{name:"password-assignment",mutationRule:"password_assignment",regex:/\b(?:password|passphrase)\s*[:=]\s*(?:(?!<|\$\{|\$\()[A-Za-z0-9!@#$%^&*._+\-=]{8,}|"(?!<|\$\{|\$\()[^"]{8,}"|'(?!<|\$\{|\$\()[^']{8,}')/gi},{name:"absolute-home-path",mutationRule:"absolute_home_path",regex:/(?:^|[\s"'`(=])\/home\/[A-Za-z0-9._-]+\/[^\s"'`),;]+/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"user-at-private-host",mutationRule:"user_at_private_host",regex:/\b[A-Za-z0-9._-]+@(?: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,excludeFiles:/^(?:tests\/|examples\/)/},{name:"high-entropy-assignment",mutationRule:"high_entropy_assignment",regex:/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,mutationOnlyReason:"Generic assignments in source code are not credentials; preserve the existing mutation heuristic without treating source identifiers as secrets.",minimumEntropy:3.5}];function Ur(e,t){if(e.minimumEntropy===void 0)return!0;let r=t[1],n=new Map;for(let i of r)n.set(i,(n.get(i)??0)+1);let o=0;for(let i of n.values()){let s=i/r.length;o-=s*Math.log2(s)}return o>=e.minimumEntropy}(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]="eed441f0-e2b5-51e9-b9bf-0f4882a9eeea")}catch{}})();var si=[{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"}],Tt=new Map(si.map(e=>[e.action,e]));function St(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)=>St(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>St(o,`${t}.${n}`,r)))}function Vr(e){let t=[];for(let r of St(e))for(let n of zr){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(Ur(n,o)){t.push({rule:n.mutationRule,path:r.path});break}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function ai(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new m("Mutation author is required by workspace policy.",f.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=Vr(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 m(`Mutation blocked by secret guard (${n}). No detected value was logged.`,f.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 ci(e){return Tt.has(e.trim().toLowerCase())}function di(){return[...Tt.keys()].sort((e,t)=>e.localeCompare(t))}function ol(e){return Tt.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]="c18e4dfc-d3e3-5185-9470-9d46b4dca893")}catch{}})();function li(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function sl(e){return li(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function pe(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]="54784ad1-36bd-5a10-aa00-ad0b09e935a7")}catch{}})();var ui=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function De(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ye(e){return[...new Set(De(e).match(/[\p{L}\p{N}]+/gu)??[])]}function _e(e){let t=De(e);return{normalized:t,tokens:ye(t),issueCodes:[...new Set(t.match(ui)?.map(r=>r.toLowerCase())??[])]}}function Oe(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:pe(e.tokens,t.tokens),reason:"title_token_jaccard"}}import fi 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]="cdae67c6-8316-5e97-84ca-0be4460ffd57")}catch{}})();function Fe(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function mi(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 jr(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=Fe(t.in_progress_status),i=[];for(let s of e){if(Fe(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=mi(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 pi(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Fe(String(o.status))===Fe(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await gt(fi.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)})),jr(t,{...r,last_history_activity:o=>n.get(o.id)})}import{readFile as _i}from"node:fs/promises";import Kr 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]="93b04081-a71a-5987-8fb6-09a8d045c1da")}catch{}})();function yi(e){let t=e.trim();if(!t)throw new m("--rollback requires a non-empty checkpoint ID",f.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new m("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",f.USAGE);return t}function gi(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function hi(e,t){return Kr.join(e,"checkpoints",t)}function qr(e,t,r){return Kr.join(hi(e,t),`${r}.json`)}async function wi(e,t,r,n){let o=qr(e,t,r),i=`${JSON.stringify(n,null,2)}
2
+ `;if(!await br(o,i)&&await S(o)!==i)throw new m(`Checkpoint ${r} already exists with different contents; use a new checkpoint ID.`,f.CONFLICT);return o}function bi(e,t){if(!Array.isArray(e.items))throw new m(`Checkpoint ${t} is missing items`,f.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new m(`Checkpoint ${t} contains an invalid item entry`,f.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without ID`,f.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without target_updated_at`,f.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function Ei(e,t,r,n){let o=yi(r),i=qr(e,t,o);if(!await U(i))throw new m(`Checkpoint ${o} not found`,f.NOT_FOUND);let s=await _i(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new m(`Checkpoint ${o} contains invalid JSON: ${E(l)}`,f.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new m(`Checkpoint ${o} is invalid`,f.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new m(`Checkpoint ${o} has unsupported schema version`,f.GENERIC_FAILURE);let d=bi(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:M(),author:typeof c.author=="string"?c.author:"unknown"}}async function Si(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]="fdacd8ac-787a-5639-84d5-a32b6ce79d41")}catch{}})();function V(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Tl(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function Ti(e,t){let r=V(t);return!e||!r?null:[...e.search_providers].reverse().find(o=>(V(o.runtime_definition?.name)??V(o.definition?.name))===r)??null}function vi(e,t){let r=V(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(o=>(V(o.runtime_definition?.name)??V(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]="74ce3524-6c25-5646-b1a0-5ca8a3759034")}catch{}})();var P="-",Hr=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 Cl(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 Gr(e){let t=e.trim();if(t==="")return[];let n=(ki(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 Yr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of Gr(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function Wr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function Ii(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function Ai(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 m('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',f.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 Ci(e,t){let r=Wr(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 Yr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Ri(e,t){let r=Array.from(new Set(Wr(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(Yr(t));return n.size===0?r:r.filter(o=>!n.has(o))}function ki(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 vt(e){return e.replace(/\r\n/g,`
4
+ `)}function Xr(e){let t=vt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
5
5
  `);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
6
- `)}function Ni(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 Xr(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 Fi(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 Pi(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 qr(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Pi(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} ${P} to read piped stdin input.`}function $i(e){let t=Wr(e).trim();if(t.length===0||!t.includes(`
6
+ `)}function Li(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 Qr(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 Mi(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 xi(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 Br(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=xi(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} ${P} to read piped stdin input.`}function Di(e){let t=Xr(e).trim();if(t.length===0||!t.includes(`
7
7
  `)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=vt(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]=Xr(s[3].trim()),n=a;continue}if(n&&Br.has(n.toLowerCase())){r[n]=`${r[n]}
9
- ${i}`;continue}return null}return r}function Ui(e,t){let r=Wr(e).trim();if(!r)throw new m(`${t} cannot be empty`,f.USAGE);let n=$i(r);if(n)return n;let o={},i,s=Ni(r);for(let a of s){let c=Fi(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new m(qr(e,t),f.USAGE);let l=Xr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&Br.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new m(qr(e,t),f.USAGE)}return o}var zi=/^[A-Za-z]:[\\/]/,Vi=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function ji(e){let t=e.trim();return zi.test(t)?!1:Vi.test(t)}function Ml(e,t,r,n){if(!(n||!e.includes(",")))throw new m(`${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.`,f.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 Ki(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 m(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,f.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new m(`${t} provides key "${i}" more than once after case normalization.`,f.USAGE);e[s]=e[i],delete e[i]}}}async function qi(e){if(process.stdin.isTTY===!0)throw new m(`${e} value "${P}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,f.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(vt(n))}),process.stdin.on("error",o=>{r(o)})})}var H=Symbol("all-mutation-stdin-fields"),C=new WeakMap;function Qr(e){return C.set(e,H),e}function Bi(e,t){let r=C.get(e);return r===H||C.set(e,new Set([...r??[],...t])),e}function Hi(e,t){let r=C.get(e);return r===void 0||C.set(t,r===H?r:new Set(r)),t}function kl(e,t){let r=C.get(e),n=C.get(t);return r===void 0||n===H?t:r===H?(C.set(t,r),t):(C.set(t,new Set([...n??[],...r])),t)}function Gi(e){return C.get(e)!==H}function Pe(e,t){let r=C.get(e);return r!==H&&!r?.has(t)}function Yi(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()===P).length;if(o>1)throw new m(`${r.optionName} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);if(o!==0){if(t!==void 0&&t!==r.optionName)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);t=r.optionName}}}async function xl(e,t,r){let n=e,o=[...t,...r];Yi(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 Qr(s)}function $e(){let e,t,r=async i=>{if(t&&t!==i)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);return t=i,e||(e=qi(i)),await e};return{resolveValue:async(i,s,a=!0)=>{if(!a)return i;if(i!==void 0)return i.trim()!==P?i:await r(s)},resolveList:async(i,s,a=!0)=>{if(!a)return i;if(!i)return;let c=i.map((u,p)=>u.trim()===P?p:-1).filter(u=>u>=0);if(c.length===0)return i;if(c.length>1)throw new m(`${s} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);let d=await r(s),l=[...i];return l[c[0]]=d,l}}}function Wi(e,t){let r=Number(e);if(!Number.isFinite(r))throw new m(`Invalid ${t} value "${e}"`,f.USAGE);return r}function Xi(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new m(`Invalid ${t} value "${e}". Expected a non-negative integer.`,f.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]="854a0596-b0ec-5d2e-85b1-5444d8d7b622")}catch{}})();function It(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Qi(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=It(t.join(`
10
- `));return r.length>0?r.join(","):""}function Ji(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Qi(e);if(typeof e!="string")return"";let t=It(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]="b0ab458f-0faf-5653-9862-43cbe9cf8f1f")}catch{}})();function Jr(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function At(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?Jr(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Jr(t):"root"}function Ue(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Zi(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=Lr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add(At(_.path)),_.from!==void 0&&u.add(At(_.from));let p=[...u].sort((_,h)=>_.localeCompare(h));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Ue(c,n),after:Ue(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:[_]})}else{let _=p.map(h=>({field:h,before:Ue(c,h),after:Ue(l,h)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:_})}}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]="e6571e4b-c436-5af7-be01-c3fce3a9c5d3")}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]="91874535-458b-5a33-a68a-96f44bd2e1f8")}catch{}})();var es=new Set(["none","null","undefined"]);function Gl(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function ts(e){if(typeof e!="string")throw new m("--parent must be a string. Use --unset parent to clear this field.",f.USAGE);let t=e.trim();if(t.length===0)throw new m("--parent must not be empty. Use --parent none to unset.",f.USAGE);if(Zr(t))throw new m(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,f.USAGE);return t}function Zr(e){return es.has(e.trim().toLowerCase())}function rs(e,t){if(t==="strict_error")throw new m(`Parent item "${e}" was not found. Create it first or use --parent none.`,f.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function ns(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 m(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,f.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0306587-b3bb-5f82-bb56-7939d1976870")}catch{}})();var Ct={critical:0,high:1,medium:2,low:3,minimal:4},os=Object.keys(Ct),is=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${os.join(", ")}), case-insensitive`;function ze(e){return new m(`Invalid priority "${e}". Accepted values: ${is}.`,f.USAGE)}function ss(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw ze(String(e))}if(typeof e!="string")throw ze(String(e));let t=e.trim();if(t.length===0)throw ze(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(Ct,r))return Ct[r];if(/^[0-4]$/.test(t))return Number(t);throw ze(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]="bfb46357-04de-55a0-b132-779c153314de")}catch{}})();var as=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,cs=64;function eu(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function ds(e,t,r){let n=t.trim();if(n.length===0)throw new m(`--${e} must not be empty. Use --${e} none to unset.`,f.USAGE);if(n.length<=cs&&as.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 m(`Invalid --${e} value "${n}". ${i}`,f.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]="0eff4d63-2691-5130-bc12-4957218393b5")}catch{}})();var en={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},tn="all";function rn(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]===tn}function ls(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=en[r];return n?t[n]:ue(e,t)}function us(e){let t=new Set(Object.keys(en));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function fs(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of us(t)){let s=it(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function Rt(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()===tn).length>0){if(i.length===1)return;throw new m(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,f.USAGE)}let a=[];for(let c of i){let d=ls(c,t);if(d===void 0){if(n){let l=fs(c,t);throw new m(`Invalid ${o} value "${c}". Use open|closed|canceled or a configured status id${l?`. Did you mean "${l}"?`:"."}`,f.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]="eb151177-d326-5ce4-9624-87f6393046e0")}catch{}})();var ms={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 ps(e){if(e!==void 0)return ms[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]="41196e9d-00c2-5473-848d-7563463c42a7")}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]="7778b388-1b28-53e7-a06e-ef6441b0ed68")}catch{}})();function nn(e,t){return dt(e,t)}function Lt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=Ar(e,o);i!==void 0&&(n[o.metadata_key]=Cr(o,i))}return n}function Mt(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(!nn(o,n[n.length-1]))return!1;continue}if(!nn(o,n))return!1}return!0}import{spawnSync as sn}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]="02a573c3-251d-5f42-abcc-63b5aa263aa1")}catch{}})();var _s="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",ys="PM_OLLAMA_MODEL",hs="http://localhost:11434",gs="qwen3-embedding:0.6b",ws=".agents/pm/search/lancedb/",Es=1500,bs=2500,Ss=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,Ts=/embed|embedding/i,x=w;function vs(){let e=x(process.env[_s]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function on(e){return e.some(t=>x(t)!==null)}function Is(e){let t=x(e);return!!(t&&t.toLowerCase()!=="ollama")}function As(e){let t=x(e);return!!(t&&t.toLowerCase()!=="lancedb")}function Cs(e){return Is(e.search?.provider)||As(e.vector_store?.adapter)||on([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:on([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function Rs(){let e=sn("ollama",["--version"],{encoding:"utf8",timeout:Es});return e.error?!1:e.status===0}function Ls(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=>Ss.test(i));return n||(r.find(i=>Ts.test(i))??null)}function Ms(e){let t=x(e.providers?.ollama?.model);if(t)return t;let r=x(process.env[ys]);if(r)return r;let n=sn("ollama",["list"],{encoding:"utf8",timeout:bs});if(!n.error&&n.status===0){let o=Ls(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function ks(e){return{baseUrl:x(e.providers?.ollama?.base_url)===null,model:x(e.providers?.ollama?.model)===null,lancedbPath:x(e.vector_store?.lancedb?.path)===null,embeddingModel:x(e.search?.embedding_model)===null}}function xs(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Ds(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=hs),t.model&&(o.model=r)}function Os(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=ws}function Ns(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function Ve(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(vs()||Cs(e))return t;let r=ks(e);if(!xs(r)||r.model&&!Rs())return t;let n=structuredClone(e),o=Ms(n);return o?(Ds(n,r,o),Os(n,r),Ns(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 ${gs} 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]="22112449-f1ab-5b6b-a9bb-37e5d3c5b83a")}catch{}})();var Ps="reindex";import bn 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]="74cee8e6-1785-50f4-94d8-fc0b29055dc2")}catch{}})();var $s=3e4;function G(e,t,r=$s){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 Y(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 Us(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${b(t)})`}}async function je(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: ${b(o)}`)}if(!n.ok){let o=await Us(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: ${b(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]="2c36f008-53c4-5ee7-bc87-6bfb7aeb8f42")}catch{}})();function Cu(e,t){let r=w(e);if(!r)return"unconfigured";let n=w(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function zs(e){let t=le(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function dn(e){let t=e.search?.embedding_model;return w(t)||null}function Vs(e){let t=w(e.providers?.openai?.base_url),r=w(e.providers?.openai?.model);if(!t||!r)return null;let n=dn(e),o=w(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function js(e){let t=w(e.providers?.ollama?.base_url),r=w(e.providers?.ollama?.model);if(!t||!r)return null;let n=dn(e);return{name:"ollama",base_url:t,model:n??r}}function ln(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 Ks(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 qs(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 kt(e){let t=Vs(e),r=js(e),n=[t,r].filter(a=>a!==null),o=w(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 cn(e){let t=le(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:zs(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Bs(e,t){let r=ln(t);return e.name==="openai"?{target:cn(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:cn(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Hs(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 qs(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 un(e,t,r={}){let n=G(r.timeout_ms,"Embedding request"),o=Y(r.fetcher,"Embedding request"),i=ln(t),s=Ks(i),a=Bs(e,s.uniqueInputs),c=await je({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Hs(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]="16c567d7-0065-5401-a768-0913cec6d5f4")}catch{}})();var Ke=["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 xt(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Ke];let r=new Set(Ke),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:[...Ke]}var Gs=8e3,Dt=3200,W="...[semantic corpus truncated]",Ys="search_embedding_corpus_max_characters_invalid:using_provider_default";function O(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function Ws(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Xs(e){return(e.events??[]).map(t=>O([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 Qs(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 Js(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 Mu(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??[])Qs(t,r);return Js(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Zs(e){let t=(e.plan_steps??[]).map(s=>O([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=>O([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>O([a.path,a.note])).join(" "),(s.tests??[]).map(a=>O([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>O([a.path,a.note])).join(" ")])),r=(e.plan_decisions??[]).map(s=>O([s.decision,s.rationale,s.evidence,s.step_id])),n=(e.plan_discoveries??[]).map(s=>O([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>O([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 D(e){return typeof e=="string"&&e.trim().length>0}var ea={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=>D(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>D(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>D(e.metadata.goal)?e.metadata.goal:void 0,value:e=>D(e.metadata.value)?e.metadata.value:void 0,why_now:e=>D(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>D(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=>D(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>D(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>D(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>D(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=>Ws(e.metadata),events:e=>Xs(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Zs(e.metadata)};function fn(e,t={}){let r=t.fields??Ke,n={};for(let o of r){let i=ea[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function ta(e){return e?.trim().toLowerCase()==="ollama"?Dt:Gs}function oe(e,t){let r=ta(e),n=gr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Ys}}function Ot(e,t={}){let r=JSON.stringify(fn(e,{fields:t.fields})),n=oe(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=W.length)return W.slice(0,n);let o=Math.max(0,n-W.length);return`${r.slice(0,o)}${W}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f0edf7da-87cc-5e66-9f9f-c9a25e21808e")}catch{}})();function ra(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 na(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 oa(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:Dt}}function ia(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-W.length);return`${e.slice(0,r)}${W}`.slice(0,t)}function mn(e){let t=b(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function sa(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${b(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return mn(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 Nt(e,t,r,n,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await un(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,mn(c)&&t.length>1){let d=Math.ceil(t.length/2),l=t.slice(0,d),u=t.slice(d);return i.push(`search_embedding_batch_split_after_timeout:batch=${r}:size=${t.length}:parts=${l.length}|${u.length}`),[...await Nt(e,l,`${r}.1`,n,o,i),...await Nt(e,u,`${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(sa(e,r,t.length,n,o+1,s))}async function Ft(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=[],i=oe(e.name,t.search.embedding_corpus_max_characters);i.warning&&o.push(i.warning);let s=oa(e,ra(t,i.maxCharacters)),a=0,c=r.map(p=>{let _=ia(p,s.maxInputCharacters);return _.length<p.length&&(a+=1),_});a>0&&o.push(`search_embedding_input_truncated:count=${a}:max_characters=${s.maxInputCharacters}`);let d=na(c,s.batchSize,s.maxBatchInputCharacters),l=[],u=0;for(let p=0;p<d.length;p+=1){let _=d[p];n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"start"}),l.push(...await Nt(e,_,String(p+1),s.timeoutMs,s.maxRetries,o)),u+=_.length,n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"complete"})}return{vectors:l,warnings:o}}import{mkdir as aa,readFile as ca,stat as Ut,unlink as da}from"node:fs/promises";import{basename as pn,dirname as Pt,isAbsolute as la,join as ua,resolve as zt}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]="887ac66e-679f-5a07-a6a2-8a19a4007198")}catch{}})();var Vt="pm_items",fa=/[^a-zA-Z0-9_-]/g,ma=128,pa=".pm-cli-local-vectors",$t=1,X=new Map;function ge(e){return(w(e.collection_name)??Vt).replaceAll(fa,"_").slice(0,ma)}function qe(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function yn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function _a(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=w(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 jt(e){let t=w(e.result?.status);if(t)return{status:t};let r=w(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function he(e,t,r,n,o){return await je({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function ya(e){let t=w(e.vector_store?.qdrant?.url);if(!t)return null;let r=w(e.vector_store?.collection_name),n=w(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Vt?{collection_name:r}:{},...n?{api_key:n}:{}}}function ha(e){let t=zt(e),r=Pt(t);return pn(t)==="pm"&&pn(r)===".agents"?Pt(r):t}function ga(e,t){return!t||la(e)?e:zt(ha(t),e)}function wa(e,t){let r=w(e.vector_store?.lancedb?.path);if(!r)return null;let n=w(e.vector_store?.collection_name);return{name:"lancedb",path:ga(r,t),...n&&n!==Vt?{collection_name:n}:{}}}function Ea(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=w(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=qe(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 ba(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=w(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 Sa(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ta(e){return e.replace(/\/points\?wait=true$/,"")}function Be(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function He(e,t){return ie(e,t)}function ie(e,t){return ua(zt(e),pa,`${t}.json`)}function va(e,t,r){let n=w(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=qe(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 Ia(e,t,r){let n;try{n=JSON.parse(r)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${b(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!==$t)throw new Error(`LanceDB local snapshot at '${e}' must include version=${$t}`);let i=w(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=va(s[c],c,e);a.set(d.id,d)}return a}async function Aa(e){try{let t=await Ut(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!J(t))throw t;return null}}function Ca(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 Ra(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Kt(e,t){let r=He(e,t),n=ie(e,t),o=await Aa(n),i=X.get(r);if(!o){let a=Ca(r,i);if(a)return a}if(Ra(i,o))return i.records;let s=new Map;try{let a=await ca(n,"utf8");s=Ia(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 La(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 hn(e){try{await da(e)}catch(t){if(!J(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${b(t)}`)}}async function gn(e,t,r){let n=ie(e,t);if(r.size===0){await hn(n);return}let o=Pt(n);try{await aa(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${b(s)}`)}let i=`${JSON.stringify({version:$t,table:t,records:La(r)})}
11
- `;try{await S(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${b(s)}`)}}async function Ma(e,t){let r=He(e,t),n=ie(e,t);await hn(n),X.delete(r)}function _n(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function ka(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=_n(e),o=_n(t);return n===0||o===0?0:r/(n*o)}function qt(e,t){let r=ya(e),n=wa(e,t),o=[r,n].filter(c=>c!==null),i=w(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=ge(e);if(e.name==="qdrant"){let o=le(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 xa(e,t,r){let n=Ge(e),o=qe(t),i=yn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:Be(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ge(e),vector:o,limit:i}}}function Da(e,t){let r=Ge(e),n=Ea(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Be(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),records:n}}}function Oa(e,t){let r=Ge(e),n=ba(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Be(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),ids:n}}}async function Vu(e,t,r,n={}){let o=xa(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await Kt(c.path,d.table);if(l.size===0)return[];let u=qe(d.vector),p=yn(d.limit),_=[],h=0;for(let y of l.values()){if(y.vector.length!==u.length){h++;continue}_.push({id:y.id,score:ka(u,y.vector),...y.payload?{payload:y.payload}:{}})}return h>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${h} records skipped (expected ${u.length} dimensions)`),_.sort((y,g)=>y.score!==g.score?g.score-y.score:y.id.localeCompare(g.id)),_.slice(0,p)}let i=G(n.timeout_ms,"Vector request"),s=Y(n.fetcher,"Vector request"),a=await he(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return _a(a)}async function Bt(e,t,r={}){let n=Da(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=He(a.path,c.table),l=await Kt(a.path,c.table);for(let _ of c.records)l.set(_.id,_);await gn(a.path,c.table,l);let u=ie(a.path,c.table),p=await Ut(u);return X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await he(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return jt(s)}async function Ye(e,t,r={}){let n=Oa(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=He(a.path,c.table),l=await Kt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let u of c.ids)l.delete(u);if(await gn(a.path,c.table,l),l.size===0)X.delete(d);else{let u=ie(a.path,c.table),p=await Ut(u);X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await he(Sa(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return jt(s)}async function wn(e,t=[],r={},n){if(e.name==="lancedb")return await Ma(e.path,ge(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=Ta(i.upsert_target),a=G(r.timeout_ms,"Vector request"),c=Y(r.fetcher,"Vector request"),d=Be(e);try{await he(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(u){if(!b(u).includes("failed with status 404"))throw u}let l=await he(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return jt(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]="f4a214b6-02f4-5fc4-bfcd-90c0ca940842")}catch{}})();function We(e,t){let r=w(e),n=w(t);return!r||!n?null:{provider:r,model:n}}function En(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 Ht(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 Gt(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function Yt(e,t){return!!(e&&e.vector_dimension!==t)}function Wt(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]="b382ab50-682e-5e53-a32d-277c5ccf8bef")}catch{}})();var Sn="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 Tn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function vn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!Tn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function In(e){let t=bn.join(e,Sn),r=await v(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||!Tn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=En(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 An(e,t,r){let n=vn(t),o=bn.join(e,Sn),i=`${JSON.stringify({version:1,generated_at:k(),...r?{embedding:r}:{},items:Object.entries(n).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
12
- `;await S(o,i)}function Na(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Fa(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 we(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function Pa(e,t,r){if(!r.settings&&!await z(at(e)))return we(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Le(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return we(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return we(t,`search_semantic_refresh_skipped:settings_read_failed:${b(a)}`)}let o=r.apply_runtime_defaults?Ve(n).settings:n,i=kt(o).active;if(!i)return we(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=qt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:we(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function $a(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await me(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await Et(u,{schema:i});d.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${b(p)}`)}}return d.sort((l,u)=>l.id.localeCompare(u.id)),{documents:d,missingIds:Ee(c),skippedIds:Ee(a),warnings:s}}async function Ua(e,t,r){let n=oe(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=xt(e),i=r.map(a=>Ot(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Ft(t,e,i);return{vectors:s.vectors,vector_dimension:Wt(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function za(e,t,r){return await Bt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:Na(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function Va(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:${b(r)}`]}}}async function df(e,t,r={}){let n=Ee(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await Pa(e,n,r);if(!("settings"in o))return o;let i=M(o.settings,q()),s=await $a(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 In(e):{entries:{},embedding:null,warnings:[]},c=Fa(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Gt(a.embedding,c))l={refreshed:[],skipped:s.documents.map(g=>g.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let g=await Ua(o.settings,o.provider,s.documents);if(Yt(a.embedding,g.vector_dimension))l={refreshed:[],skipped:s.documents.map(E=>E.id),warnings:[...g.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=Ht(c,g.vector_dimension);let E=await za(o.vectorStore,s.documents,g.vectors);l={refreshed:E.refreshed,skipped:E.skipped,warnings:[...g.warnings,...E.warnings]}}}catch(g){l={refreshed:[],skipped:s.documents.map(E=>E.id),warnings:[`search_semantic_refresh_failed:${b(g)}`]}}let p=await Va(o.vectorStore,s.missingIds),_=new Set(l.refreshed),h=Object.fromEntries(s.documents.filter(g=>_.has(g.id)).map(g=>[g.id,g.document.metadata.updated_at])),y=[];if(Object.keys(h).length>0||s.missingIds.length>0){let g={...d,...vn(h)};for(let E of s.missingIds)delete g[E];try{await An(e,g,u)}catch(E){y.push(`search_vectorization_status_ledger_write_failed:${b(E)}`)}y.push(...a.warnings)}return{refreshed:Ee([...l.refreshed,...p.refreshed]),skipped:Ee([...s.skippedIds,...l.skipped,...p.skipped]),warnings:[...s.warnings,...l.warnings,...p.warnings,...y]}}import{createRequire as Ba}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]="c4fba032-7cda-53a2-b518-fa13a60a76d5")}catch{}})();var ja=new Set(["1","true","yes","on"]),Qe=["user","automation","test","dogfood"],Ka=new Set(Qe);function Xe(e,t){return ja.has((t[e]??"").trim().toLowerCase())}function be(e=process.env){let t=Xe("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),o=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!Ka.has(r)&&!Xe("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||o||Xe("PM_TELEMETRY_DISABLED",e)||Xe("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12bf6794-9410-5683-bb83-a0da8d2614a7")}catch{}})();var Ha=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,_f=new RegExp(`\\b(${Ha.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var yf=Ba(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]="4e329152-7e9e-5cf2-a4cf-35260a599360")}catch{}})();var wf=new Map([[f.USAGE,"invalid_command_usage"],[f.NOT_FOUND,"item_not_found"],[f.CONFLICT,"lock_conflict"],[f.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]="199c4791-6ca7-50c4-b2cd-aa96c0ab2408")}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]="eb1afbe5-eb0a-56d2-bb94-80fd427325f7")}catch{}})();var Cf=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]="4873876d-67b4-5f79-a984-756b7e539e9b")}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]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}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]="f3edff87-6ea5-5108-a749-eeb380870601")}catch{}})();function Ya(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 Rn from"node:fs/promises";import Je 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]="1ad4a739-f29d-5b50-b1cf-f8590804e32b")}catch{}})();function Wa(e){return"json_markdown"}function Ln(e,t){return Je.relative(e,t).replaceAll("\\","/")}function Xa(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function Qa(e,t,r="item_format:migrate",n=st,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=Wa(t),l=Object.entries(n);for(let[u,p]of l){let _=Je.join(e,p),h=[];try{h=await Rn.readdir(_)}catch{continue}let y=new Map;for(let E of h){let A=Je.join(_,E),L=hr(A);if(!L)continue;let $=Je.extname(E),K=E.slice(0,E.length-$.length).trim();if(K.length===0)continue;let U=y.get(K)??{};U[L]=A,y.set(K,U)}let g=[...y.keys()].sort((E,A)=>E.localeCompare(A));for(let E of g){let A=y.get(E);c+=1;let L=A[d];if(!L)continue;let $=A[t]??L,K=$===A[t]?t:d;try{let U=await Rn.readFile($,"utf8"),nt=_t(U,{format:K,schema:o,onWarning:oi=>a.push(`item_format_migration_parse_warning:${E}:${oi}`)}),ot=ct(e,u,E,t,n),yr=yt(nt,{format:t,schema:o});await v(ot)!==yr&&(await S(ot,yr),a.push(...await Ae({path:ot,scope:"project",op:r})),i.add(E)),await ve(L),s.add(Ln(e,L)),a.push(...await Ae({path:L,scope:"project",op:`${r}:remove`})),i.add(E)}catch(U){a.push(`item_format_migration_skipped:${Ln(e,$)}:${Xa(U)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),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]="d2940263-a7b4-5d29-b1e5-631fe1072a5b")}catch{}})();var Ja=new Set(["completed","superseded"]);function Za(e){return e!==void 0&&Ja.has(e)}function ec(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 jf 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]="91cfc9cf-9ab1-5c9f-803d-f378e9963c4a")}catch{}})();import Zt from"node:crypto";import{mkdirSync as im,rmSync as nc,statSync as sm}from"node:fs";import{mkdir as Xt,readdir as oc,rm as er,stat as Nn}from"node:fs/promises";import{request as ic}from"node:http";import{request as sc}from"node:https";import R 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]="9d949852-abfe-5fbd-88c5-5da0cfbaf7de")}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]="9d073708-29b1-56b5-bcff-b964bfdcb43d")}catch{}})();var ac=R.join("runtime","telemetry","events.jsonl"),cc=R.join("runtime","telemetry","state.json"),dc=R.join("runtime","telemetry","otel-spans.jsonl"),lc=8,Mn=500,uc=1;var fc=100,mc=36e5,pc=3e4,kn=2e4,_c=1e3,yc=25e3;var hc=864e5,Fn=65536;var Pn=15;var $n=[25,50,100,200],gc=3600*1e3,wc=6e4;var Ec="PM_TELEMETRY_HTTP_TIMEOUT_MS",bc=globalThis.fetch;var Im=Promise.resolve(),xn=Promise.resolve();var Am=new Set(Qe);var Cm=Zt.randomUUID();var Un="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",Sc=new RegExp(`\\b(${Un})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),Tc=new RegExp(`(--${Un})(=|\\s+)([^\\s,;]+)`,"giu"),vc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Ic=/bearer\s+[a-z0-9._=-]+/giu,Ac=/\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 Ze(e){return R.join(e,ac)}function tr(e){return R.join(e,dc)}function Cc(e){return R.dirname(Ze(e))}function zn(e){return R.join(e,cc)}function Vn(e){return R.join(e,"runtime","telemetry","flush.lock")}function Rc(e){return R.join(e,"runtime","telemetry","flush.spawn.lock")}async function Lc(e){let t=await v(zn(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 Lc(e),...t},o=Object.fromEntries(Object.entries(n).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await S(zn(e),`${JSON.stringify(o,null,2)}
13
- `)}catch{}}function jn(e){return e.replaceAll(Sc,(r,n,o)=>`${n}${o}[redacted]`).replaceAll(Tc,(r,n,o)=>`${n}${o}[redacted]`)}function Kn(e){return e.replaceAll(vc,(t,r)=>`${r}[redacted_path]`)}function qn(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function Bn(e){if(!e)return!1;let t=e.charCodeAt(0);return qn(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function Hn(e){if(!e)return!1;let t=e.charCodeAt(0);return qn(t)?!0:e==="."||e==="-"}function Mc(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(!Bn(i))return!1;for(let i of n)if(!Hn(i))return!1;return!0}function kc(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&&Bn(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&Hn(e[i]);)i+=1;let s=e.slice(o,i);if(Mc(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function Gn(e){return kc(e).replaceAll(Ic,"bearer [redacted_token]").replaceAll(Ac,"[redacted_ip]")}function xc(e){let t=Gn(e),r=jn(t),n=Kn(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function Dc(e){let t=Gn(e),r=jn(t),n=Kn(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"?Dc(e):xc(e)}function Oc(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function Dn(){let e=process.env[Ec]?.trim();if(!e)return kn;let t=Number(e);return Number.isFinite(t)?Math.min(yc,Math.max(_c,Math.trunc(t))):kn}async function Yn(e,t,r){let n=new URL(e);if(globalThis.fetch!==bc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},Dn())});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:"?sc:n.protocol==="http:"?ic:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=Dn(),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)})}async function Nc(e){let t=await I(e);return!t.telemetry.enabled||be().telemetry_disabled?null:(t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=Zt.randomUUID(),await Me(e,t,"telemetry:install_id")),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days)),captureLevel:Oc(t.telemetry.capture_level)})}function Wn(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 Xn(e){let t=Math.min(pc*2**Math.max(e-1,0),mc);return new Date(Date.now()+t).toISOString()}function Qn(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 Fc(e){return Qn(e.next_attempt_after)}function Jn(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*hc}function Pc(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 rr(e,t){let r=Jn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Fn||Pc(i,r)||i.attempts>=Pn){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function Zn(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
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]=Qr(s[3].trim()),n=a;continue}if(n&&Hr.has(n.toLowerCase())){r[n]=`${r[n]}
9
+ ${i}`;continue}return null}return r}function Oi(e,t){let r=Xr(e).trim();if(!r)throw new m(`${t} cannot be empty`,f.USAGE);let n=Di(r);if(n)return n;let o={},i,s=Li(r);for(let a of s){let c=Mi(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new m(Br(e,t),f.USAGE);let l=Qr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&Hr.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new m(Br(e,t),f.USAGE)}return o}var Ni=/^[A-Za-z]:[\\/]/,Fi=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function Pi(e){let t=e.trim();return Ni.test(t)?!1:Fi.test(t)}function Rl(e,t,r,n){if(!(n||!e.includes(",")))throw new m(`${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.`,f.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 $i(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 m(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,f.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new m(`${t} provides key "${i}" more than once after case normalization.`,f.USAGE);e[s]=e[i],delete e[i]}}}async function zi(e){if(process.stdin.isTTY===!0)throw new m(`${e} value "${P}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,f.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(vt(n))}),process.stdin.on("error",o=>{r(o)})})}var H=Symbol("all-mutation-stdin-fields"),C=new WeakMap;function Jr(e){return C.set(e,H),e}function Ui(e,t){let r=C.get(e);return r===H||C.set(e,new Set([...r??[],...t])),e}function Vi(e,t){let r=C.get(e);return r===void 0||C.set(t,r===H?r:new Set(r)),t}function kl(e,t){let r=C.get(e),n=C.get(t);return r===void 0||n===H?t:r===H?(C.set(t,r),t):(C.set(t,new Set([...n??[],...r])),t)}function ji(e){return C.get(e)!==H}function Pe(e,t){let r=C.get(e);return r!==H&&!r?.has(t)}function Ki(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()===P).length;if(o>1)throw new m(`${r.optionName} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);if(o!==0){if(t!==void 0&&t!==r.optionName)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);t=r.optionName}}}async function Ll(e,t,r){let n=e,o=[...t,...r];Ki(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 Jr(s)}function $e(){let e,t,r=async i=>{if(t&&t!==i)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);return t=i,e||(e=zi(i)),await e};return{resolveValue:async(i,s,a=!0)=>{if(!a)return i;if(i!==void 0)return i.trim()!==P?i:await r(s)},resolveList:async(i,s,a=!0)=>{if(!a)return i;if(!i)return;let c=i.map((u,p)=>u.trim()===P?p:-1).filter(u=>u>=0);if(c.length===0)return i;if(c.length>1)throw new m(`${s} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);let d=await r(s),l=[...i];return l[c[0]]=d,l}}}function qi(e,t){let r=Number(e);if(!Number.isFinite(r))throw new m(`Invalid ${t} value "${e}"`,f.USAGE);return r}function Bi(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new m(`Invalid ${t} value "${e}". Expected a non-negative integer.`,f.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]="854a0596-b0ec-5d2e-85b1-5444d8d7b622")}catch{}})();function It(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Hi(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=It(t.join(`
10
+ `));return r.length>0?r.join(","):""}function Gi(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Hi(e);if(typeof e!="string")return"";let t=It(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]="b0ab458f-0faf-5653-9862-43cbe9cf8f1f")}catch{}})();function Zr(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function At(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?Zr(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Zr(t):"root"}function ze(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Yi(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=kr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Lr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add(At(_.path)),_.from!==void 0&&u.add(At(_.from));let p=[...u].sort((_,g)=>_.localeCompare(g));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:ze(c,n),after:ze(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:[_]})}else{let _=p.map(g=>({field:g,before:ze(c,g),after:ze(l,g)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:_})}}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]="e6571e4b-c436-5af7-be01-c3fce3a9c5d3")}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]="91874535-458b-5a33-a68a-96f44bd2e1f8")}catch{}})();var Wi=new Set(["none","null","undefined"]);function Bl(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function Xi(e){if(typeof e!="string")throw new m("--parent must be a string. Use --unset parent to clear this field.",f.USAGE);let t=e.trim();if(t.length===0)throw new m("--parent must not be empty. Use --parent none to unset.",f.USAGE);if(en(t))throw new m(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,f.USAGE);return t}function en(e){return Wi.has(e.trim().toLowerCase())}function Qi(e,t){if(t==="strict_error")throw new m(`Parent item "${e}" was not found. Create it first or use --parent none.`,f.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function Ji(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 m(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,f.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0306587-b3bb-5f82-bb56-7939d1976870")}catch{}})();var Ct={critical:0,high:1,medium:2,low:3,minimal:4},Zi=Object.keys(Ct),es=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Zi.join(", ")}), case-insensitive`;function Ue(e){return new m(`Invalid priority "${e}". Accepted values: ${es}.`,f.USAGE)}function ts(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(Ct,r))return Ct[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]="bfb46357-04de-55a0-b132-779c153314de")}catch{}})();var rs=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,ns=64;function Jl(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function os(e,t,r){let n=t.trim();if(n.length===0)throw new m(`--${e} must not be empty. Use --${e} none to unset.`,f.USAGE);if(n.length<=ns&&rs.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 m(`Invalid --${e} value "${n}". ${i}`,f.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]="0eff4d63-2691-5130-bc12-4957218393b5")}catch{}})();var tn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},rn="all";function nn(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]===rn}function is(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=tn[r];return n?t[n]:ue(e,t)}function ss(e){let t=new Set(Object.keys(tn));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function as(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of ss(t)){let s=it(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function Rt(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()===rn).length>0){if(i.length===1)return;throw new m(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,f.USAGE)}let a=[];for(let c of i){let d=is(c,t);if(d===void 0){if(n){let l=as(c,t);throw new m(`Invalid ${o} value "${c}". Use open|closed|canceled or a configured status id${l?`. Did you mean "${l}"?`:"."}`,f.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]="eb151177-d326-5ce4-9624-87f6393046e0")}catch{}})();var cs={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 ds(e){if(e!==void 0)return cs[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]="41196e9d-00c2-5473-848d-7563463c42a7")}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]="7778b388-1b28-53e7-a06e-ef6441b0ed68")}catch{}})();function on(e,t){return dt(e,t)}function kt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=Cr(e,o);i!==void 0&&(n[o.metadata_key]=Rr(o,i))}return n}function Lt(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(!on(o,n[n.length-1]))return!1;continue}if(!on(o,n))return!1}return!0}import{spawnSync as an}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]="02a573c3-251d-5f42-abcc-63b5aa263aa1")}catch{}})();var ls="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",us="PM_OLLAMA_MODEL",fs="http://localhost:11434",ms="qwen3-embedding:0.6b",ps=".agents/pm/search/lancedb/",_s=1500,ys=2500,gs=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,hs=/embed|embedding/i,x=w;function ws(){let e=x(process.env[ls]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function sn(e){return e.some(t=>x(t)!==null)}function bs(e){let t=x(e);return!!(t&&t.toLowerCase()!=="ollama")}function Es(e){let t=x(e);return!!(t&&t.toLowerCase()!=="lancedb")}function Ss(e){return bs(e.search?.provider)||Es(e.vector_store?.adapter)||sn([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:sn([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function Ts(){let e=an("ollama",["--version"],{encoding:"utf8",timeout:_s});return e.error?!1:e.status===0}function vs(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=>gs.test(i));return n||(r.find(i=>hs.test(i))??null)}function Is(e){let t=x(e.providers?.ollama?.model);if(t)return t;let r=x(process.env[us]);if(r)return r;let n=an("ollama",["list"],{encoding:"utf8",timeout:ys});if(!n.error&&n.status===0){let o=vs(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function As(e){return{baseUrl:x(e.providers?.ollama?.base_url)===null,model:x(e.providers?.ollama?.model)===null,lancedbPath:x(e.vector_store?.lancedb?.path)===null,embeddingModel:x(e.search?.embedding_model)===null}}function Cs(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Rs(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=fs),t.model&&(o.model=r)}function ks(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=ps}function Ls(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function Ve(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(ws()||Ss(e))return t;let r=As(e);if(!Cs(r)||r.model&&!Ts())return t;let n=structuredClone(e),o=Is(n);return o?(Rs(n,r,o),ks(n,r),Ls(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 ${ms} 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]="22112449-f1ab-5b6b-a9bb-37e5d3c5b83a")}catch{}})();var xs="reindex";import Sn 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]="74cee8e6-1785-50f4-94d8-fc0b29055dc2")}catch{}})();var Ds=3e4;function G(e,t,r=Ds){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 Y(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 Os(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(t)})`}}async function je(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 Os(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]="2c36f008-53c4-5ee7-bc87-6bfb7aeb8f42")}catch{}})();function Iu(e,t){let r=w(e);if(!r)return"unconfigured";let n=w(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Ns(e){let t=le(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function ln(e){let t=e.search?.embedding_model;return w(t)||null}function Fs(e){let t=w(e.providers?.openai?.base_url),r=w(e.providers?.openai?.model);if(!t||!r)return null;let n=ln(e),o=w(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Ps(e){let t=w(e.providers?.ollama?.base_url),r=w(e.providers?.ollama?.model);if(!t||!r)return null;let n=ln(e);return{name:"ollama",base_url:t,model:n??r}}function un(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 $s(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 zs(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 Mt(e){let t=Fs(e),r=Ps(e),n=[t,r].filter(a=>a!==null),o=w(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 dn(e){let t=le(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Ns(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Us(e,t){let r=un(t);return e.name==="openai"?{target:dn(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:dn(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Vs(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 zs(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 fn(e,t,r={}){let n=G(r.timeout_ms,"Embedding request"),o=Y(r.fetcher,"Embedding request"),i=un(t),s=$s(i),a=Us(e,s.uniqueInputs),c=await je({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Vs(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]="16c567d7-0065-5401-a768-0913cec6d5f4")}catch{}})();var Ke=["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 xt(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Ke];let r=new Set(Ke),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:[...Ke]}var js=8e3,Dt=3200,W="...[semantic corpus truncated]",Ks="search_embedding_corpus_max_characters_invalid:using_provider_default";function O(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function qs(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Bs(e){return(e.events??[]).map(t=>O([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 Hs(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 Gs(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 Ru(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??[])Hs(t,r);return Gs(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Ys(e){let t=(e.plan_steps??[]).map(s=>O([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=>O([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>O([a.path,a.note])).join(" "),(s.tests??[]).map(a=>O([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>O([a.path,a.note])).join(" ")])),r=(e.plan_decisions??[]).map(s=>O([s.decision,s.rationale,s.evidence,s.step_id])),n=(e.plan_discoveries??[]).map(s=>O([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>O([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 D(e){return typeof e=="string"&&e.trim().length>0}var Ws={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=>D(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>D(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>D(e.metadata.goal)?e.metadata.goal:void 0,value:e=>D(e.metadata.value)?e.metadata.value:void 0,why_now:e=>D(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>D(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=>D(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>D(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>D(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>D(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=>qs(e.metadata),events:e=>Bs(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Ys(e.metadata)};function mn(e,t={}){let r=t.fields??Ke,n={};for(let o of r){let i=Ws[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Xs(e){return e?.trim().toLowerCase()==="ollama"?Dt:js}function oe(e,t){let r=Xs(e),n=hr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Ks}}function Ot(e,t={}){let r=JSON.stringify(mn(e,{fields:t.fields})),n=oe(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=W.length)return W.slice(0,n);let o=Math.max(0,n-W.length);return`${r.slice(0,o)}${W}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f0edf7da-87cc-5e66-9f9f-c9a25e21808e")}catch{}})();function Qs(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 Js(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 Zs(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:Dt}}function ea(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-W.length);return`${e.slice(0,r)}${W}`.slice(0,t)}function pn(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function ta(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 pn(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 Nt(e,t,r,n,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await fn(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,pn(c)&&t.length>1){let d=Math.ceil(t.length/2),l=t.slice(0,d),u=t.slice(d);return i.push(`search_embedding_batch_split_after_timeout:batch=${r}:size=${t.length}:parts=${l.length}|${u.length}`),[...await Nt(e,l,`${r}.1`,n,o,i),...await Nt(e,u,`${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(ta(e,r,t.length,n,o+1,s))}async function Ft(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=[],i=oe(e.name,t.search.embedding_corpus_max_characters);i.warning&&o.push(i.warning);let s=Zs(e,Qs(t,i.maxCharacters)),a=0,c=r.map(p=>{let _=ea(p,s.maxInputCharacters);return _.length<p.length&&(a+=1),_});a>0&&o.push(`search_embedding_input_truncated:count=${a}:max_characters=${s.maxInputCharacters}`);let d=Js(c,s.batchSize,s.maxBatchInputCharacters),l=[],u=0;for(let p=0;p<d.length;p+=1){let _=d[p];n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"start"}),l.push(...await Nt(e,_,String(p+1),s.timeoutMs,s.maxRetries,o)),u+=_.length,n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"complete"})}return{vectors:l,warnings:o}}import{mkdir as ra,readFile as na,stat as zt,unlink as oa}from"node:fs/promises";import{basename as _n,dirname as Pt,isAbsolute as ia,join as sa,resolve as Ut}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]="887ac66e-679f-5a07-a6a2-8a19a4007198")}catch{}})();var Vt="pm_items",aa=/[^a-zA-Z0-9_-]/g,ca=128,da=".pm-cli-local-vectors",$t=1,X=new Map;function he(e){return(w(e.collection_name)??Vt).replaceAll(aa,"_").slice(0,ca)}function qe(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function gn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function la(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=w(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 jt(e){let t=w(e.result?.status);if(t)return{status:t};let r=w(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 je({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function ua(e){let t=w(e.vector_store?.qdrant?.url);if(!t)return null;let r=w(e.vector_store?.collection_name),n=w(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Vt?{collection_name:r}:{},...n?{api_key:n}:{}}}function fa(e){let t=Ut(e),r=Pt(t);return _n(t)==="pm"&&_n(r)===".agents"?Pt(r):t}function ma(e,t){return!t||ia(e)?e:Ut(fa(t),e)}function pa(e,t){let r=w(e.vector_store?.lancedb?.path);if(!r)return null;let n=w(e.vector_store?.collection_name);return{name:"lancedb",path:ma(r,t),...n&&n!==Vt?{collection_name:n}:{}}}function _a(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=w(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=qe(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 ya(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=w(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 ga(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function ha(e){return e.replace(/\/points\?wait=true$/,"")}function Be(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function He(e,t){return ie(e,t)}function ie(e,t){return sa(Ut(e),da,`${t}.json`)}function wa(e,t,r){let n=w(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=qe(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 ba(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!==$t)throw new Error(`LanceDB local snapshot at '${e}' must include version=${$t}`);let i=w(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=wa(s[c],c,e);a.set(d.id,d)}return a}async function Ea(e){try{let t=await zt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!J(t))throw t;return null}}function Sa(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 Ta(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Kt(e,t){let r=He(e,t),n=ie(e,t),o=await Ea(n),i=X.get(r);if(!o){let a=Sa(r,i);if(a)return a}if(Ta(i,o))return i.records;let s=new Map;try{let a=await na(n,"utf8");s=ba(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 va(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 hn(e){try{await oa(e)}catch(t){if(!J(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function wn(e,t,r){let n=ie(e,t);if(r.size===0){await hn(n);return}let o=Pt(n);try{await ra(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:$t,table:t,records:va(r)})}
11
+ `;try{await v(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Ia(e,t){let r=He(e,t),n=ie(e,t);await hn(n),X.delete(r)}function yn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Aa(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=yn(e),o=yn(t);return n===0||o===0?0:r/(n*o)}function qt(e,t){let r=ua(e),n=pa(e,t),o=[r,n].filter(c=>c!==null),i=w(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=he(e);if(e.name==="qdrant"){let o=le(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 Ca(e,t,r){let n=Ge(e),o=qe(t),i=gn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:Be(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:he(e),vector:o,limit:i}}}function Ra(e,t){let r=Ge(e),n=_a(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Be(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:he(e),records:n}}}function ka(e,t){let r=Ge(e),n=ya(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Be(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:he(e),ids:n}}}async function zu(e,t,r,n={}){let o=Ca(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await Kt(c.path,d.table);if(l.size===0)return[];let u=qe(d.vector),p=gn(d.limit),_=[],g=0;for(let y of l.values()){if(y.vector.length!==u.length){g++;continue}_.push({id:y.id,score:Aa(u,y.vector),...y.payload?{payload:y.payload}:{}})}return g>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${g} records skipped (expected ${u.length} dimensions)`),_.sort((y,h)=>y.score!==h.score?h.score-y.score:y.id.localeCompare(h.id)),_.slice(0,p)}let i=G(n.timeout_ms,"Vector request"),s=Y(n.fetcher,"Vector request"),a=await ge(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return la(a)}async function Bt(e,t,r={}){let n=Ra(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=He(a.path,c.table),l=await Kt(a.path,c.table);for(let _ of c.records)l.set(_.id,_);await wn(a.path,c.table,l);let u=ie(a.path,c.table),p=await zt(u);return X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await ge(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return jt(s)}async function Ye(e,t,r={}){let n=ka(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=He(a.path,c.table),l=await Kt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let u of c.ids)l.delete(u);if(await wn(a.path,c.table,l),l.size===0)X.delete(d);else{let u=ie(a.path,c.table),p=await zt(u);X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await ge(ga(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return jt(s)}async function bn(e,t=[],r={},n){if(e.name==="lancedb")return await Ia(e.path,he(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=ha(i.upsert_target),a=G(r.timeout_ms,"Vector request"),c=Y(r.fetcher,"Vector request"),d=Be(e);try{await ge(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(u){if(!E(u).includes("failed with status 404"))throw u}let l=await ge(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return jt(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]="f4a214b6-02f4-5fc4-bfcd-90c0ca940842")}catch{}})();function We(e,t){let r=w(e),n=w(t);return!r||!n?null:{provider:r,model:n}}function En(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 Ht(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 Gt(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function Yt(e,t){return!!(e&&e.vector_dimension!==t)}function Wt(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]="b382ab50-682e-5e53-a32d-277c5ccf8bef")}catch{}})();var Tn="search/vectorization-status.json";function be(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function vn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function In(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!vn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function An(e){let t=Sn.join(e,Tn),r=await S(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||!vn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=En(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 Cn(e,t,r){let n=In(t),o=Sn.join(e,Tn),i=`${JSON.stringify({version:1,generated_at:M(),...r?{embedding:r}:{},items:Object.entries(n).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
12
+ `;await v(o,i)}function La(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Ma(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 we(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function xa(e,t,r){if(!r.settings&&!await U(at(e)))return we(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await ke(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return we(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return we(t,`search_semantic_refresh_skipped:settings_read_failed:${E(a)}`)}let o=r.apply_runtime_defaults?Ve(n).settings:n,i=Mt(o).active;if(!i)return we(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=qt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:we(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function Da(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await me(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await bt(u,{schema:i});d.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${E(p)}`)}}return d.sort((l,u)=>l.id.localeCompare(u.id)),{documents:d,missingIds:be(c),skippedIds:be(a),warnings:s}}async function Oa(e,t,r){let n=oe(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=xt(e),i=r.map(a=>Ot(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Ft(t,e,i);return{vectors:s.vectors,vector_dimension:Wt(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function Na(e,t,r){return await Bt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:La(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function Fa(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 af(e,t,r={}){let n=be(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await xa(e,n,r);if(!("settings"in o))return o;let i=L(o.settings,q()),s=await Da(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 An(e):{entries:{},embedding:null,warnings:[]},c=Ma(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Gt(a.embedding,c))l={refreshed:[],skipped:s.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await Oa(o.settings,o.provider,s.documents);if(Yt(a.embedding,h.vector_dimension))l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=Ht(c,h.vector_dimension);let b=await Na(o.vectorStore,s.documents,h.vectors);l={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${E(h)}`]}}let p=await Fa(o.vectorStore,s.missingIds),_=new Set(l.refreshed),g=Object.fromEntries(s.documents.filter(h=>_.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),y=[];if(Object.keys(g).length>0||s.missingIds.length>0){let h={...d,...In(g)};for(let b of s.missingIds)delete h[b];try{await Cn(e,h,u)}catch(b){y.push(`search_vectorization_status_ledger_write_failed:${E(b)}`)}y.push(...a.warnings)}return{refreshed:be([...l.refreshed,...p.refreshed]),skipped:be([...s.skippedIds,...l.skipped,...p.skipped]),warnings:[...s.warnings,...l.warnings,...p.warnings,...y]}}import{createRequire as Ua}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]="c4fba032-7cda-53a2-b518-fa13a60a76d5")}catch{}})();var Pa=new Set(["1","true","yes","on"]),Qe=["user","automation","test","dogfood"],$a=new Set(Qe);function Xe(e,t){return Pa.has((t[e]??"").trim().toLowerCase())}function Ee(e=process.env){let t=Xe("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),o=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!$a.has(r)&&!Xe("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||o||Xe("PM_TELEMETRY_DISABLED",e)||Xe("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed:o}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12bf6794-9410-5683-bb83-a0da8d2614a7")}catch{}})();var Va=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,mf=new RegExp(`\\b(${Va.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var pf=Ua(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]="4e329152-7e9e-5cf2-a4cf-35260a599360")}catch{}})();var gf=new Map([[f.USAGE,"invalid_command_usage"],[f.NOT_FOUND,"item_not_found"],[f.CONFLICT,"lock_conflict"],[f.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]="199c4791-6ca7-50c4-b2cd-aa96c0ab2408")}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]="eb1afbe5-eb0a-56d2-bb94-80fd427325f7")}catch{}})();var If=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]="4873876d-67b4-5f79-a984-756b7e539e9b")}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]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}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]="f3edff87-6ea5-5108-a749-eeb380870601")}catch{}})();function Ka(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 kn from"node:fs/promises";import Je 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]="1ad4a739-f29d-5b50-b1cf-f8590804e32b")}catch{}})();function qa(e){return"json_markdown"}function Ln(e,t){return Je.relative(e,t).replaceAll("\\","/")}function Ba(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function Ha(e,t,r="item_format:migrate",n=st,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=qa(t),l=Object.entries(n);for(let[u,p]of l){let _=Je.join(e,p),g=[];try{g=await kn.readdir(_)}catch{continue}let y=new Map;for(let b of g){let A=Je.join(_,b),k=gr(A);if(!k)continue;let $=Je.extname(b),K=b.slice(0,b.length-$.length).trim();if(K.length===0)continue;let z=y.get(K)??{};z[k]=A,y.set(K,z)}let h=[...y.keys()].sort((b,A)=>b.localeCompare(A));for(let b of h){let A=y.get(b);c+=1;let k=A[d];if(!k)continue;let $=A[t]??k,K=$===A[t]?t:d;try{let z=await kn.readFile($,"utf8"),nt=_t(z,{format:K,schema:o,onWarning:ii=>a.push(`item_format_migration_parse_warning:${b}:${ii}`)}),ot=ct(e,u,b,t,n),yr=yt(nt,{format:t,schema:o});await S(ot)!==yr&&(await v(ot,yr),a.push(...await Ae({path:ot,scope:"project",op:r})),i.add(b)),await ve(k),s.add(Ln(e,k)),a.push(...await Ae({path:k,scope:"project",op:`${r}:remove`})),i.add(b)}catch(z){a.push(`item_format_migration_skipped:${Ln(e,$)}:${Ba(z)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),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]="d2940263-a7b4-5d29-b1e5-631fe1072a5b")}catch{}})();var Ga=new Set(["completed","superseded"]);function Ya(e){return e!==void 0&&Ga.has(e)}function Wa(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 Uf 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]="91cfc9cf-9ab1-5c9f-803d-f378e9963c4a")}catch{}})();import Zt from"node:crypto";import{mkdirSync as nm,rmSync as Ja,statSync as om}from"node:fs";import{mkdir as Xt,readdir as Za,rm as er,stat as Fn}from"node:fs/promises";import{request as ec}from"node:http";import{request as tc}from"node:https";import R 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]="9d949852-abfe-5fbd-88c5-5da0cfbaf7de")}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]="9d073708-29b1-56b5-bcff-b964bfdcb43d")}catch{}})();var rc=R.join("runtime","telemetry","events.jsonl"),nc=R.join("runtime","telemetry","state.json"),oc=R.join("runtime","telemetry","otel-spans.jsonl"),ic=8,Mn=500,sc=1;var ac=100,cc=36e5,dc=3e4,xn=2e4,lc=1e3,uc=25e3;var fc=864e5,Pn=65536;var $n=15;var zn=[25,50,100,200],mc=3600*1e3,pc=6e4;var _c="PM_TELEMETRY_HTTP_TIMEOUT_MS",yc=globalThis.fetch;var Tm=Promise.resolve(),Dn=Promise.resolve();var vm=new Set(Qe);var Im=Zt.randomUUID();var Un="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",gc=new RegExp(`\\b(${Un})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),hc=new RegExp(`(--${Un})(=|\\s+)([^\\s,;]+)`,"giu"),wc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,bc=/bearer\s+[a-z0-9._=-]+/giu,Ec=/\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 Ze(e){return R.join(e,rc)}function tr(e){return R.join(e,oc)}function Sc(e){return R.dirname(Ze(e))}function Vn(e){return R.join(e,nc)}function jn(e){return R.join(e,"runtime","telemetry","flush.lock")}function Tc(e){return R.join(e,"runtime","telemetry","flush.spawn.lock")}async function vc(e){let t=await S(Vn(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 vc(e),...t},o=Object.fromEntries(Object.entries(n).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await v(Vn(e),`${JSON.stringify(o,null,2)}
13
+ `)}catch{}}function Kn(e){return e.replaceAll(gc,(r,n,o)=>`${n}${o}[redacted]`).replaceAll(hc,(r,n,o)=>`${n}${o}[redacted]`)}function qn(e){return e.replaceAll(wc,(t,r)=>`${r}[redacted_path]`)}function Bn(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function Hn(e){if(!e)return!1;let t=e.charCodeAt(0);return Bn(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function Gn(e){if(!e)return!1;let t=e.charCodeAt(0);return Bn(t)?!0:e==="."||e==="-"}function Ic(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(!Hn(i))return!1;for(let i of n)if(!Gn(i))return!1;return!0}function Ac(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&&Hn(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&Gn(e[i]);)i+=1;let s=e.slice(o,i);if(Ic(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function Yn(e){return Ac(e).replaceAll(bc,"bearer [redacted_token]").replaceAll(Ec,"[redacted_ip]")}function Cc(e){let t=Yn(e),r=Kn(t),n=qn(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function Rc(e){let t=Yn(e),r=Kn(t),n=qn(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"?Rc(e):Cc(e)}function kc(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function On(){let e=process.env[_c]?.trim();if(!e)return xn;let t=Number(e);return Number.isFinite(t)?Math.min(uc,Math.max(lc,Math.trunc(t))):xn}async function Wn(e,t,r){let n=new URL(e);if(globalThis.fetch!==yc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},On())});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:"?tc:n.protocol==="http:"?ec:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=On(),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)})}async function Lc(e){let t=await I(e);return!t.telemetry.enabled||Ee().telemetry_disabled?null:(t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=Zt.randomUUID(),await Le(e,t,"telemetry:install_id")),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days)),captureLevel:kc(t.telemetry.capture_level)})}function Xn(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 Qn(e){let t=Math.min(dc*2**Math.max(e-1,0),cc);return new Date(Date.now()+t).toISOString()}function Jn(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 Mc(e){return Jn(e.next_attempt_after)}function Zn(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*fc}function xc(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 rr(e,t){let r=Zn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Pn||xc(i,r)||i.attempts>=$n){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function eo(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
15
15
  `),n=r.length>0?`${r}
16
- `:"";for(let o=0;;o+=1)try{await S(Ze(e),n);return}catch(i){let s=$n[o];if(s===void 0||!eo(i))throw i;await to(s)}}function eo(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function to(e){return new Promise(t=>{setTimeout(t,e)})}function $c(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Zt.createHash("sha256").update(t).digest("hex").slice(0,32)}function ro(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=$c(o)),t.push(o))}catch{}}return t}function Uc(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 no(e,t){let r=Jn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Fn||Uc(i,r)||i.attempts>=Pn){o+=1;continue}n.push(i)}if(n.length>Mn){let i=n.length-Mn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function zc(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
16
+ `:"";for(let o=0;;o+=1)try{await v(Ze(e),n);return}catch(i){let s=zn[o];if(s===void 0||!to(i))throw i;await ro(s)}}function to(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function ro(e){return new Promise(t=>{setTimeout(t,e)})}function Dc(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Zt.createHash("sha256").update(t).digest("hex").slice(0,32)}function no(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=Dc(o)),t.push(o))}catch{}}return t}function Oc(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 oo(e,t){let r=Zn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Pn||Oc(i,r)||i.attempts>=$n){o+=1;continue}n.push(i)}if(n.length>Mn){let i=n.length-Mn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function Nc(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
18
18
  `),n=r.length>0?`${r}
19
- `:"";for(let o=0;;o+=1)try{await S(tr(e),n);return}catch(i){let s=$n[o];if(s===void 0||!eo(i))throw i;await to(s)}}async function On(e,t,r,n){return et(async()=>{let o=await v(tr(e)),i=o===null?[]:ro(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}=no(s,t);return await zc(e,a),a.length},e)}async function Vc(e,t){let r=await v(tr(e));if(r===null||r.trim().length===0){await N(e,{pending_otel_spans:0});return}let n=ro(r),{entries:o,prunedCount:i}=no(n,t),s=o.filter(h=>Qn(h.next_attempt_after)).slice(0,lc);if(s.length===0){let h=i>0?await On(e,t,new Set,new Map):o.length;await N(e,{pending_otel_spans:h});return}let a=k(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async h=>{try{let y=await Yn(h.endpoint,{"content-type":"application/json"},JSON.stringify(h.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(h.id),l+=1}catch(y){u=y instanceof Error?Jt(y.message,"redacted"):"local_otel_export_failed";let g=h.attempts+1;d.set(h.id,{attempts:g,next_attempt_after:Xn(g)})}}));let p=await On(e,t,c,d),_={pending_otel_spans:p,last_otel_attempt_at:a};l>0&&(_.last_otel_success_at=a),u!==void 0?(_.last_otel_failure_at=a,_.last_otel_failure_error=u):p===0&&(_.last_otel_failure_at=void 0,_.last_otel_failure_error=void 0),await N(e,_)}async function jc(e,t,r){try{await Bc(e,t,r)}catch{}try{await Vc(e,r)}catch{}}async function Kc(e,t=gc){try{let r=Cc(e),n=await oc(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=R.join(r,i.name);(await Nn(s)).mtimeMs<o&&await er(s,{force:!0})}))}catch{}}async function et(e,t=Ie(process.cwd()),r=5e3){let n=xn.catch(()=>{}).then(()=>Er(async()=>{let o=await Re(t,"telemetry-queue",60,"telemetry",!1,!1,r);try{return Mr(t),await e()}finally{await o()}}));return xn=n.catch(()=>{}),n}async function nr(e){let t=await v(Ze(e));return t===null||t.trim().length===0?[]:Wn(t)}async function Qt(e,t,r){return et(async()=>{let n=await nr(e),{entries:o}=rr(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await Zn(e,i),i},e)}async function qc(e,t,r,n){return et(async()=>{let o=await nr(e),{entries:i}=rr(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:Xn(c)}});return await Zn(e,s),s},e)}async function Bc(e,t,r){await Kc(e);let n=t.trim();if(n.length===0)return;let o=await v(Ze(e));if(o===null||o.trim().length===0){await N(e,{endpoint:n,queue_entries:0});return}let i=Wn(o);if(i.length===0){await N(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=rr(i,r);if(s.length===0){let _=await Qt(e,new Set,r);await N(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>Fc(_)).slice(0,fc);if(c.length===0){let _=a>0?await Qt(e,new Set,r):s;await N(e,{endpoint:n,queue_entries:_.length});return}let d=new Set(c.map(_=>_.event.event_id)),l=k(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let _=await Yn(n,u,JSON.stringify({schema_version:uc,events:c.map(h=>h.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let h=await qc(e,d,l,r),y=_ instanceof Error?Jt(_.message,"redacted"):"telemetry_flush_failed";await N(e,{endpoint:n,queue_entries:h.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let _=await Qt(e,d,r);await N(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(_){let h=_ instanceof Error?Jt(_.message,"redacted"):"telemetry_flush_failed",y=await nr(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:h})}}async function Hc(e){let t=Vn(e);await Xt(R.dirname(t),{recursive:!0});try{return await Xt(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await Nn(t);return Date.now()-r.mtimeMs<wc?!1:(await er(t,{recursive:!0,force:!0}),await Xt(t),!0)}catch{return!1}}function Gc(e){try{nc(e,{recursive:!0,force:!0})}catch{}}function Yc(e){Gc(Rc(e))}async function Wc(e,t,r){let n=await Hc(e);if(Yc(e),!!n)try{await jc(e,t,r)}finally{try{await er(Vn(e),{recursive:!0,force:!0})}catch{}}}async function Rm(e=Ie(process.cwd())){if(!be().telemetry_disabled)try{if(!(await I(e)).telemetry.enabled)return;let r=await et(()=>Nc(e),e);if(!r)return;await Wc(e,r.endpoint,r.retentionDays)}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]="d27383c3-03c8-51ff-98c5-700cc6c2c114")}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]="fdc16f69-f63f-5e17-9139-35d54db7bab5")}catch{}})();function tt(e,t="--limit"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0)throw new m(`${t} must be a non-negative integer`,f.USAGE);return n}function oo(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new m(`${t} filter must be 0..4`,f.USAGE);return n}function $h(e,t,r="--type"){if(e===void 0)return;let n=ce(e,t);if(!n)throw new m(`${r} filter must be one of ${t.types.join("|")}`,f.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]="e524f0ad-faad-5d89-b8f5-1283979919ad")}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]="b03f0596-8c1f-59ec-a20e-8919cf8bbb98")}catch{}})();function or(e,t){if(e===void 0)return;let r=[],n="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){n+=c,s+=1;continue}n+=a;continue}if(a===","){r.push(n),n="";continue}n+=a}r.push(n);let o=r.map(s=>s.trim());if(o.some(s=>s.length===0))throw new m(`${t.label} requires at least one non-empty value`,f.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function Se(e,t){let r=or(e,t);return r===void 0?void 0:new Set(r)}function io(e,t,r="--type"){let n=or(e,{label:r});if(n===void 0)return;let o=n.map(i=>{let s=ce(i,t);if(!s)throw new m(`${r} filter token "${i}" must be one of ${t.types.join("|")}`,f.USAGE);return s});return new Set(o)}function so(e,t="--priority"){let r=or(e,{label:t});if(r!==void 0)return new Set(r.map(n=>oo(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="81a10252-4fa3-5c14-878d-7d78717419a4")}catch{}})();function ao(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function fo(e){return{isTerminal(t){return e.terminal_statuses.has(ao(t,e))},classify(t){let r=ao(t,e);return e.terminal_canceled_statuses.has(r)?"canceled":e.terminal_statuses.has(r)?"closed":e.blocked_statuses.has(r)?"blocked":e.draft_statuses.has(r)?"draft":r===e.open_status?"open":e.active_statuses.has(r)?"in_progress":"other"}}}function ir(e){return T(e.acceptance_criteria)===void 0}function sr(e){return!Number.isFinite(e.estimated_minutes)}function mo(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function Qc(e){return T(e.reviewer)===void 0}function Jc(e){return T(e.risk)===void 0}function Zc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function ed(e){return T(e.sprint)===void 0}function td(e){return T(e.release)===void 0}function ar(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function rd(e,t,r){return[[t.acMissing,ir(e)],[t.estimatesMissing,sr(e)],[t.resolutionMissing,mo(e,r)],[t.reviewerMissing,Qc(e)],[t.riskMissing,Jc(e)],[t.confidenceMissing,Zc(e)],[t.sprintMissing,ed(e)],[t.releaseMissing,td(e)]].every(([o,i])=>o!==!0||i)}function nd(e,t){return ir(e)||sr(e)||mo(e,t)}function po(e,t,r){return ar(t)?!(!rd(e,t,r)||t.metadataMissing&&!nd(e,r)):!0}var cr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function od(e,t){switch(t){case"acceptance_criteria":return!ir(e);case"estimated_minutes":return!sr(e);case"resolution":return T(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return T(e.parent)!==void 0}}function id(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function sd(e,t){return t===0?100:Math.round(e/t*1e3)/10}function co(){let e={};for(let t of cr)e[t]={present:0,applicable:0,percent:100};return e}function lo(e,t,r){for(let n of cr){if(!id(t,n,r))continue;let o=e[n];o.applicable+=1,od(t,n)&&(o.present+=1)}}function uo(e){for(let t of cr){let r=e[t];r.percent=sd(r.present,r.applicable)}}function Zh(e,t){let r=co(),n={};for(let o of e){lo(r,o,t);let i=n[o.type]??(n[o.type]=co());lo(i,o,t)}uo(r);for(let o of Object.values(n))uo(o);return{overall:r,by_type:n}}var ad={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function cd(e){return ad[e]}function dd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function ld(e,t,r){switch(t){case"assignee":return[T(e.assignee)??null];case"parent":return[T(e.parent)??null];case"type":return[T(e.type)??null];case"status":return[T(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let n=r.tagPrefix?.trim(),i=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!n||s.startsWith(n)));return i.length>0?i:[null]}}}function eg(e,t,r,n={}){let o=new Map,i=0;for(let a of e){i+=1;let c=r.classify(a.status);for(let d of ld(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??cd(t),key:d,buckets:dd(),total:0},o.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...o.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items: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]="2e200f74-0e6c-58ac-ab8c-da49071465ff")}catch{}})();var se=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Q(e){return Array.isArray(e)&&e.length>0}function ud(e){return typeof e=="string"&&e.trim().length>0}function fd(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let r=t.command;return typeof r=="string"&&r.trim().length>0}):!1}function yo(e,t){switch(t){case"notes":return Q(e.notes);case"learnings":return Q(e.learnings);case"files":return Q(e.files);case"docs":return Q(e.docs);case"tests":return Q(e.tests);case"comments":return Q(e.comments);case"deps":return Q(e.dependencies);case"body":return ud(e.body);case"linked_command":return fd(e.tests)}}function ho(e){return se.some(t=>e[t]!==void 0)}function go(e,t){for(let r of se){let n=t[r];if(n===void 0)continue;let o=yo(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function wo(e){return se.some(t=>t!=="body"&&e[t]!==void 0)}function Eo(e){return e.body!==void 0}function _o(e,t){return t===0?100:Math.round(e/t*1e3)/10}function md(){let e={};for(let t of se)e[t]={present:0,total:0,percent:100};return e}function rg(e){let t=md(),r=e.length;for(let s of e)for(let a of se)yo(s,a)&&(t[a].present+=1);for(let s of se)t[s].total=r,t[s].percent=_o(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:_o(o,r)};return{total_items:r,fields:t,body_populated:n,empty_body: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]="9957767d-cc97-58ad-a46e-3f88a18a3c8c")}catch{}})();var Ao=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),bo=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],lr=e=>{let t=bo.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new m(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,f.USAGE);return Object.fromEntries(bo.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},So=["priority","deadline","updated_at","created_at","title","parent"],To=["asc","desc"],Co=new Set(kr);function pd(e,t,r){let n=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,o=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,i={status:t?"unchecked":n+o>0?"partial":"complete",unreadable_item_count:n,unreadable_directory_count:o};if(r&&i.status==="partial")throw new m(`List source is incomplete: ${n} item document(s) and ${o} item directory/directories could not be read.`,f.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return i}function _d(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var yd=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],hd=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function Ro(e,t){for(let r of yd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Lo(e,t){for(let r of hd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function gd(e,t,r){for(let n of r){let o=t[n.optionKey];o!==void 0&&(e[n.summaryKey]=n.normalize?n.normalize(o):o)}}function Mo(e){let t={};return Ro(t,e),t}function ko(e){let t={};return Lo(t,e),t}var wd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],Ed=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],bd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Sd="-7d";function xo(e){let{filtersStatus:t,options:r,treeEnabled:n,treeDepth:o,sortField:i,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),r.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),gd(c,r,wd),Oo(c,r),r.filterAcMissing===!0&&(c.filter_ac_missing=!0),r.filterEstimatesMissing===!0&&(c.filter_estimates_missing=!0),r.filterResolutionMissing===!0&&(c.filter_resolution_missing=!0),r.filterMetadataMissing===!0&&(c.filter_metadata_missing=!0),Lo(c,r),Ro(c,r),r.limit!==void 0&&(c.limit=r.limit),r.offset!==void 0&&(c.offset=r.offset),r.includeBody===!0&&(c.include_body=!0),r.fields!==void 0&&(c.fields=r.fields),n&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),i!==void 0&&(c.sort=i,c.order=s),_d(a)&&(c.runtime_filters=a),c}function ur(e,t,r){let n=B(e.status,r),o=B(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=te(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Td(e,t){return[...e].sort((r,n)=>ur(r,n,t))}function vo(e,t){if(e!==void 0)return Ce(e,new Date,t)}function Te(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return Ce(r,new Date,t)}function Do(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(n=>n).length>1)throw new m("Choose only one updated_at window: --today, --recent, or --updated-after.",f.USAGE);if(e.today===!0){let n=new Date;return n.setHours(0,0,0,0),n.toISOString()}return e.recent===!0?Te(Sd,"recent"):Te(e.updatedAfter,"updated-after")}function Oo(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function No(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);let r=t.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(r.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);return new Set(r)}function fr(e){if(e===void 0)return;let t=String(e).trim(),r=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(r)||r<0)throw new m("Offset filter must be a non-negative integer",f.USAGE);return r}function Fo(e){if(e===void 0)return;let t=e.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new m("List --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function Po(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=Fo(e.fields);if(Number(r)+Number(n)+Number(o)+ +(i!==void 0)>1)throw new m("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...mt]}:r?{mode:"compact",fields:[...ft]}:i?{mode:"fields",fields:[...new Set(i.map(a=>j(a)))]}:{mode:"full",fields:[]}}function j(e){return e.startsWith("item.")?e.slice(5):e}function vd(e,t,r){if(e.mode!=="fields")return;let n=pt(t),o=new Set(n.map(s=>j(s))),i=e.fields.filter(s=>!o.has(j(s)));if(i.length>0)throw new m(`Unknown list --fields value(s): ${i.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:n,suggested_retry:`pm ${r} --fields id,title,status --limit 10`,suggested_retry_args:[r,"--fields","id,title,status","--limit","10"]}})}var Id=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function $o(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Id.get(t);if(r)return r;if(!So.includes(t))throw new m(`Sort field must be one of ${So.join("|")} (aliases: updated->updated_at, created->created_at)`,f.USAGE);return t}function Uo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!To.includes(t))throw new m(`Sort order must be one of ${To.join("|")}`,f.USAGE);return t}function Ad(e){return tt(e,"--tree-depth")}function zo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new m("Assignee filter must be one of assigned|unassigned",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new m(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function Io(e,t){return Rt(e,t,{strict:!0})}function Vo(e){return Se(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Cd(e,t,r){let n=Vo(t);if(n===void 0)return;let o=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),i=[...n].filter(s=>!o.has(s));i.length>0&&r.push(`unknown_tags:${i.join(",")}`)}function Rd(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new m('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',f.USAGE);if(e!==void 0&&t==="unassigned")throw new m("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE)}function Ld(e,t,r,n){let o=Se(t.assignee,{label:"--assignee"}),i=zo(t.assigneeFilter);Rd(o,i);let s=Ao(t),a=lr(t);return{idsFilter:No(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:io(t.type,r),tagFilters:Vo(t.tag),priorityFilter:so(t.priority),deadlineBefore:vo(t.deadlineBefore,"deadline-before"),deadlineAfter:vo(t.deadlineAfter,"deadline-after"),updatedAfter:Do(t),updatedBefore:Te(t.updatedBefore,"updated-before"),createdAfter:Te(t.createdAfter,"created-after"),createdBefore:Te(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Se(t.sprint,{label:"--sprint"}),releaseFilter:Se(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:ar(s),lifecycleClassifier:fo(n),contentFieldFilters:a,contentFiltersActive:ho(a)}}function Md(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&B(e.status,r)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(n=>(e.tags??[]).some(o=>o.trim().toLowerCase()===n))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function kd(e,t){return Ir(e,t)}function xd(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Dd(e,t,r){let n=e.parent?.trim().toLowerCase(),o=[...new Set([...r?.get(e.id.trim().toLowerCase())??[],...n?[n]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!o.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function Od(e,t,r,n,o){return!(!Md(e,t,r)||!kd(e,t)||!xd(e,t)||!Dd(e,t,o)||t.missingMetadataActive&&!po(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!go(e,t.contentFieldFilters)||!Mt(e,n))}function jo(e,t,r,n,o,i,s){let a=Ld(t,r,n,o);return e.filter(c=>Od(c,a,o,i,s))}function ae(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function dr(e,t,r,n){let o=e,i=typeof o.title=="string"?o.title:"",s=n??ae(typeof o.parent=="string"?o.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:r,tree_title:`${" ".repeat(t)}${i}`}}function Nd(e,t){let r=new Map,n=new Map;for(let o of e){let i=o.id.trim().toLowerCase();r.set(i,o);let s=t?t.parents_by_child.get(i)??[]:[ae(o.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=n.get(a)??[];c.push(o),n.set(a,c)}}return{byId:r,childrenByParent:n}}function Fd(e,t,r,n,o){return t?[...n.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[ae(i.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!r.has(a)))}function Ko(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=Nd(e,n),a=Fd(e,t,i,s,n),c=[],d=new Set,l=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:_,parentId:h}=u.pop(),y=p.id.trim().toLowerCase();if(d.has(y))continue;d.add(y);let g=s.get(y)??[];if(c.push(dr(p,_,g.length,h)),!(r!==void 0&&_>=r))for(let E of[...g].reverse())u.push({node:E,depth:_+1,parentId:l.get(y)})}if(t===void 0&&r===void 0)for(let p of e){let _=p.id.trim().toLowerCase();d.has(_)||(d.add(_),c.push(dr(p,0,s.get(_)?.length??0)))}return c}function qo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Bo(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function Ho(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return Bo(e.deadline??null,t.deadline??null);case"updated_at":return te(e.updated_at,t.updated_at);case"created_at":return te(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return qo(e.parent??null,t.parent??null);default:return 0}}function Go(e,t,r,n){return t?[...e].sort((o,i)=>{let s=Ho(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=ur(o,i,n);return r==="desc"?-a:a}):Td(e,n)}function Yo(e,t,r=!1){let n=j(t.trim());if(n.length===0)return null;let o=e;return r&&n==="title"&&typeof o.tree_title=="string"?o.tree_title:Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:null}function mr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=Yo(n,i,r);return o})}function Wo(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function Xo(e,t){if(e.noTruncate!==!0)return tt(e.limit)??(t>=1e4?20:void 0)}function Pd(e,t,r){return t.after===void 0?fr(t.offset)??0:vr(e,t.after,r,n=>n.id)}function Qo(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function $d(e,t){let r=F(process.cwd(),t.path);await xe(r);let n=await I(r),o=ee(n.schema),i=lt(n.schema),s=e.projectionCommand??"list",a=Po(e,s);return vd(a,Wo(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Lt(e,i,"list"),typeRegistry:M(n,q()),projection:a}}async function Ud(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Co.has(j(c))),i=lr(e),s=wo(i),a=Eo(i);return e.includeBody||n||a?await xr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await bt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await ne(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function zd(e){let t=$o(e.sort),r=Uo(e.order)??"asc",n=e.tree===!0;if(!n&&e.treeDepth!==void 0)throw new m("List --tree-depth requires --tree",f.USAGE);if(!t&&e.order!==void 0)throw new m("List --order requires --sort",f.USAGE);return{sortField:t,sortOrder:r,treeEnabled:n,treeDepth:n?Ad(e.treeDepth):void 0,parentRoot:n?ae(e.parent):void 0}}function Vd(e,t,r){let n=Io(t.status,r),o;t.lifecycleBucket==="in_progress"?o=[r.in_progress_status]:t.lifecycleBucket==="open"&&(o=[...r.active_statuses].filter(d=>d!==r.in_progress_status).sort((d,l)=>d.localeCompare(l)));let i=n??o??Io(e,r),s=rn(t.status),a=n||s?{...t,excludeTerminal:!1}:t,c="all";return s?c="all":n!==void 0?c=n.length===1?n[0]:n:t.lifecycleBucket!==void 0?c=t.lifecycleBucket:i!==void 0?c=i.length===1?i[0]:i:a.excludeTerminal===!0&&(c=null),{resolvedStatus:i,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:c}}function jd(e,t,r,n,o){if(t.after!==void 0&&t.offset!==void 0)throw new m("List --after cannot be combined with --offset.",f.USAGE);let i=Xo(t,e.length),s=Pd(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=mr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ut(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Qo(i,l,u)}}function Jo(e,t,r){return Tr("list",{status:e,options:Sr(t,wr),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function Kd(e){let{options:t,runtime:r,statusSelection:n,ordering:o}=e,i=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[r.projection.mode==="full",r.projection.fields.some(h=>{let y=j(h);return y==="body"||Co.has(y)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,br(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([h,y])=>y!==void 0&&!i.has(h))].includes(!0))return null;let c=await fe(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!c)return null;let d=tt(t.limit),l=fr(t.offset)??0,u=await gt({pmRoot:r.pmRoot,expectedSourceCursor:c.source_cursor,query:{statuses:n.resolvedStatus,excludeStatuses:n.resolvedStatus===void 0&&n.effectiveOptions.excludeTerminal===!0?[...r.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...r.statusRegistry.terminal_statuses],limit:d,offset:l}});if(!u)return null;let p=u.items.length>0&&l+u.items.length<u.total,_=p?ut(Jo(n.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:mr(u.items,r.projection,!1),totalMatched:u.total,pageExtras:Qo(d,p,_)}}function qd(e){let{filtersStatus:t,options:r,noTruncate:n,treeEnabled:o,treeDepth:i,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),r.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=r;for(let u of Ed){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of bd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,ko(r),Mo(r)),Oo(d,r),n&&(d.no_truncate=!0),r.strictRead===!0&&(d.strict_read=!0),o&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function xg(e,t,r){let n=await $d(t,r),o=[],i=zd(t),s=Vd(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await Kd({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let y=await Ud(t,n,o),E=i.treeEnabled||ae(t.parent)!==void 0?Nr(Or(y,Dr())):void 0;Cd(y,t.tag,o);let A=jo(y,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,E?.parents_by_child),L=t.dependencyBlocked===!0?(()=>{let U=Fr(y,n.statusRegistry);return A.filter(nt=>U.has(nt.id.trim().toLowerCase()))})():A,$=Go(L,i.sortField,i.sortOrder,n.statusRegistry),K=i.treeEnabled?Ko($,i.parentRoot,i.treeDepth,E,y):$;d=jd(K,t,n.projection,i.treeEnabled,Jo(s.filtersStatus,t,i))}let l=k(),u=[...new Set(o)].sort((y,g)=>y.localeCompare(g)),p=pd(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let y=xo({filtersStatus:s.filtersStatus,options:t,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:y,projection:{mode:"compact",fields:_},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:qd({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters}),projection:{mode:n.projection.mode,fields:_},sorting:{sort:i.sortField??"default",order:i.sortField?i.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var Dg={applyFilters:jo,buildCompactListFilterSummary:xo,buildContentFilterEcho:Mo,buildGovernanceMissingFilterEcho:ko,resolveContentFieldFilters:lr,resolveMissingMetadataFilters:Ao,compareBySortField:Ho,compareDefaultSort:ur,compareNullableString:qo,compareNullableTimestamp:Bo,normalizeProjectionField:j,parseAssigneeFilter:zo,parseFieldSelectors:Fo,parseIdsFilter:No,parseOffset:fr,parseProjectionConfig:Po,resolveListUpdatedAfter:Do,resolveListPageLimit:Xo,parseSortField:$o,parseSortOrder:Uo,orderItemsAsTree:Ko,projectListItems:mr,readListFieldValue:Yo,runtimeMetadataKeysForProjection:Wo,sortItems:Go,trimNonEmpty:ae,withTreeMetadata:dr};(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]="4e54ed7b-3bab-51a2-912b-1284eaf8187a")}catch{}})();var rt=1e6;function pr(e,t=rt,r=.8,n=!1){let o=new Set,i=(l,u)=>{if(o.add(`${l}:${u}`),o.size>t)throw new m(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,f.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(n||r===0){for(let l=0;l<e.length;l+=1)for(let u=0;u<l;u+=1)i(u,l);return o}let s=new Map;for(let{prepared:l}of e)for(let u of l.tokens)s.set(u,(s.get(u)??0)+1);let a=new Map,c=new Map,d=new Map;for(let[l,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((y,g)=>s.get(y)-s.get(g)||y.localeCompare(g)),_=p.length-Math.ceil(r*p.length-1e-12)+1,h=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:c,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,_),lengthFilter:!0}];for(let y of h)Bd(e,l,y,r,i)}return o}function Bd(e,t,r,n,o){let i=e[t].prepared.tokens.length;for(let s of r.keys){let a=r.index.get(s)??[];for(let c of a){let d=e[c].prepared.tokens.length;r.lengthFilter&&Math.min(d,i)/Math.max(d,i)+1e-12<n||o(c,t)}a.push(t),r.index.set(s,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]="8d07624c-8663-5aba-8018-1b2c47997bef")}catch{}})();var Hd=3,Zo=20,Gd=.8,Yd=100,ei=1e3;function Qg(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 Wd(e,t){let r=e.items[0],n=F(t.cwd??process.cwd(),t.pmRoot),o=ee((await I(n)).schema);return B(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 _r(e){let t=e.limit??Hd,r=e.threshold??Gd;if(!Number.isSafeInteger(t)||t<0||t>Zo)throw new m(`Similarity limit must be an integer from 0 to ${Zo}.`,f.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new m("Similarity threshold must be a number from 0 to 1.",f.USAGE);return{limit:t,threshold:r}}function ti(e){let t=e.limit??Yd;if(!Number.isSafeInteger(t)||t<0||t>ei)throw new m(`Duplicate cluster limit must be an integer from 0 to ${ei}.`,f.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new m("Duplicate cluster --since must be a valid ISO timestamp.",f.USAGE);return{limit:t,since:r}}async function Xd(e,t){let r=F(e.cwd??process.cwd(),e.pmRoot),n=await I(r),o=M(n),i=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new m("Duplicate cluster statuses must include at least one lifecycle status or all.",f.USAGE);let s=ee(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=ue(u,s);if(!p)throw new m(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,f.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new m('The "all" status cannot be combined with other statuses.',f.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await ne(r,n.item_format,o.type_to_folder,void 0,n.schema)).filter(u=>(!l||l.has(u.status))&&(!t||new Date(u.created_at).getTime()>=t.getTime())),statuses:d}}var Jg={buildDuplicateClusters:ni,collectDuplicateCandidatePairs:pr,createDuplicateUnionFind:ri};function ri(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 Qd(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,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 ni(e,t,r,n){let o=new Map;for(let a of e.keys()){let c=r.findRoot(a),d=o.get(c)??[];d.push(a),o.set(c,d)}let i=new Map(e.map(({item:a},c)=>[a.id,r.findRoot(c)])),s=new Map;for(let a of t){let c=i.get(a.left_id),d=s.get(c)??[];d.push(a),s.set(c,d)}return[...o.values()].filter(a=>a.length>1).map(a=>{let c=(s.get(r.findRoot(a[0]))??[]).sort((d,l)=>l.score-d.score||d.left_id.localeCompare(l.left_id)||d.right_id.localeCompare(l.right_id));return{id:e[a[0]].item.id,items:a.map(d=>{let l=e[d].item;return{id:l.id,title:l.title,status:l.status,type:l.type}}),matches:c,max_score:c[0]?.score??0}}).sort((a,c)=>c.max_score-a.max_score||a.id.localeCompare(c.id)).slice(0,n)}function Jd(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,...Oe(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 Zd(e,t={}){let r=e.title.trim();if(r.length===0)throw new m("Similarity candidate title must not be empty.",f.USAGE);let{limit:n,threshold:o}=_r(t),i=F(t.cwd??process.cwd(),t.pmRoot),s=await I(i),a=M(s),c=await fe(i,Object.values(a.type_to_folder)),d=ye(r),l=c&&d.length>0?await wt({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await ne(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=Jd(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function el(e,t={}){let{threshold:r}=_r({...t,limit:void 0}),{limit:n}=ti(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new m("Duplicate analysis requires unique non-empty item ids.",f.USAGE);o.add(l.id)}let i=[...e].sort((l,u)=>l.id.localeCompare(u.id)).map(l=>({item:l,prepared:_e(l.title)})),s=pr(i,rt,r,t.exhaustive===!0),a=ri(i.length),c=Qd(i,s,r,a),d=ni(i,c,a,n);return{clusters:d,count:d.length,threshold:r,cost:{item_count:i.length,algorithm:t.exhaustive===!0||r===0?"exhaustive":"prefix_exact",possible_pairs:i.length*(i.length-1)/2,pair_limit:rt,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function Zg(e={}){_r({...e,limit:void 0});let{since:t}=ti(e),{items:r,statuses:n}=await Xd(e,t);return{...el(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function ew(e,t){if(t.mode==="off")return;let r=await Zd(e,t);if(r.count===0)return;let n=await Wd(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 m(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,f.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]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function mw(e){let t=F(process.cwd(),e);await xe(t);let r=await I(t),n=M(r,q());return{pmRoot:t,settings:r,typeRegistry:n}}async function pw(e,t,r,n){de(e,ke(t));let o=await me(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:de(e,o.id),located:o};let i=re(t,r.id_prefix),s=ke(t),a=i===s?[i]:[i,s];for(let c of a){let d=de(e,c);if(await z(d))return{id:c,historyPath:d,located:null}}throw new m(`Item ${t} not found`,f.NOT_FOUND)}(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]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function yw(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{mw as a,pw as b,Ti as c,vi as d,Ai as e,Ci as f,Il as g,Ri as h,Li as i,Ll as j,Hr as k,Mi as l,ki as m,xi as n,Di as o,Ui as p,ji as q,Ml as r,Ki as s,Qr as t,Bi as u,Hi as v,kl as w,Gi as x,Pe as y,xl as z,$e as A,Wi as B,Xi as C,It as D,Ji as E,At as F,Zi as G,Gl as H,ts as I,Zr as J,rs as K,ns as L,ss as M,eu as N,ds as O,Rt as P,ps as Q,Pr as R,Lt as S,Mt as T,Ve as U,Ps as V,Cu as W,kt as X,un as Y,xt as Z,Ws as _,Xs as $,Mu as aa,fn as ba,oe as ca,Ot as da,Ft as ea,qt as fa,Vu as ga,Bt as ha,Ye as ia,wn as ja,We as ka,Ht as la,Gt as ma,Yt as na,Wt as oa,In as pa,An as qa,df as ra,Qe as sa,be as ta,li as ua,Ur as va,fi as wa,mi as xa,pi as ya,al as za,dl as Aa,pe as Ba,De as Ca,ye as Da,_e as Ea,Oe as Fa,Ne as Ga,zr as Ha,wi as Ia,Ya as Ja,Qa as Ka,Za as La,ec as Ma,uc as Na,Pn as Oa,et as Pa,Rm as Qa,tt as Ra,oo as Sa,$h as Ta,yw as Ua,or as Va,Se as Wa,io as Xa,so as Ya,fo as Za,ar as _a,po as $a,Zh as ab,eg as bb,ho as cb,go as db,rg as eb,Ao as fb,lr as gb,So as hb,To as ib,gd as jb,Mo as kb,ko as lb,xg as mb,Dg as nb,Qg as ob,Jg as pb,Zd as qb,el as rb,Zg as sb,ew as tb};
20
- //# sourceMappingURL=chunk-GKSAMNBG.js.map
19
+ `:"";for(let o=0;;o+=1)try{await v(tr(e),n);return}catch(i){let s=zn[o];if(s===void 0||!to(i))throw i;await ro(s)}}async function Nn(e,t,r,n){return et(async()=>{let o=await S(tr(e)),i=o===null?[]:no(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}=oo(s,t);return await Nc(e,a),a.length},e)}async function Fc(e,t){let r=await S(tr(e));if(r===null||r.trim().length===0){await N(e,{pending_otel_spans:0});return}let n=no(r),{entries:o,prunedCount:i}=oo(n,t),s=o.filter(g=>Jn(g.next_attempt_after)).slice(0,ic);if(s.length===0){let g=i>0?await Nn(e,t,new Set,new Map):o.length;await N(e,{pending_otel_spans:g});return}let a=M(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async g=>{try{let y=await Wn(g.endpoint,{"content-type":"application/json"},JSON.stringify(g.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(g.id),l+=1}catch(y){u=y instanceof Error?Jt(y.message,"redacted"):"local_otel_export_failed";let h=g.attempts+1;d.set(g.id,{attempts:h,next_attempt_after:Qn(h)})}}));let p=await Nn(e,t,c,d),_={pending_otel_spans:p,last_otel_attempt_at:a};l>0&&(_.last_otel_success_at=a),u!==void 0?(_.last_otel_failure_at=a,_.last_otel_failure_error=u):p===0&&(_.last_otel_failure_at=void 0,_.last_otel_failure_error=void 0),await N(e,_)}async function Pc(e,t,r){try{await Uc(e,t,r)}catch{}try{await Fc(e,r)}catch{}}async function $c(e,t=mc){try{let r=Sc(e),n=await Za(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=R.join(r,i.name);(await Fn(s)).mtimeMs<o&&await er(s,{force:!0})}))}catch{}}async function et(e,t=Ie(process.cwd()),r=5e3){let n=Dn.catch(()=>{}).then(()=>Er(async()=>{let o=await Re(t,"telemetry-queue",60,"telemetry",!1,!1,r);try{return Mr(t),await e()}finally{await o()}}));return Dn=n.catch(()=>{}),n}async function nr(e){let t=await S(Ze(e));return t===null||t.trim().length===0?[]:Xn(t)}async function Qt(e,t,r){return et(async()=>{let n=await nr(e),{entries:o}=rr(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await eo(e,i),i},e)}async function zc(e,t,r,n){return et(async()=>{let o=await nr(e),{entries:i}=rr(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:Qn(c)}});return await eo(e,s),s},e)}async function Uc(e,t,r){await $c(e);let n=t.trim();if(n.length===0)return;let o=await S(Ze(e));if(o===null||o.trim().length===0){await N(e,{endpoint:n,queue_entries:0});return}let i=Xn(o);if(i.length===0){await N(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=rr(i,r);if(s.length===0){let _=await Qt(e,new Set,r);await N(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>Mc(_)).slice(0,ac);if(c.length===0){let _=a>0?await Qt(e,new Set,r):s;await N(e,{endpoint:n,queue_entries:_.length});return}let d=new Set(c.map(_=>_.event.event_id)),l=M(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let _=await Wn(n,u,JSON.stringify({schema_version:sc,events:c.map(g=>g.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let g=await zc(e,d,l,r),y=_ instanceof Error?Jt(_.message,"redacted"):"telemetry_flush_failed";await N(e,{endpoint:n,queue_entries:g.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let _=await Qt(e,d,r);await N(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(_){let g=_ instanceof Error?Jt(_.message,"redacted"):"telemetry_flush_failed",y=await nr(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:g})}}async function Vc(e){let t=jn(e);await Xt(R.dirname(t),{recursive:!0});try{return await Xt(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await Fn(t);return Date.now()-r.mtimeMs<pc?!1:(await er(t,{recursive:!0,force:!0}),await Xt(t),!0)}catch{return!1}}function jc(e){try{Ja(e,{recursive:!0,force:!0})}catch{}}function Kc(e){jc(Tc(e))}async function qc(e,t,r){let n=await Vc(e);if(Kc(e),!!n)try{await Pc(e,t,r)}finally{try{await er(jn(e),{recursive:!0,force:!0})}catch{}}}async function Am(e=Ie(process.cwd())){if(!Ee().telemetry_disabled)try{if(!(await I(e)).telemetry.enabled)return;let r=await et(()=>Lc(e),e);if(!r)return;await qc(e,r.endpoint,r.retentionDays)}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]="d27383c3-03c8-51ff-98c5-700cc6c2c114")}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]="fdc16f69-f63f-5e17-9139-35d54db7bab5")}catch{}})();function tt(e,t="--limit"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0)throw new m(`${t} must be a non-negative integer`,f.USAGE);return n}function io(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new m(`${t} filter must be 0..4`,f.USAGE);return n}function Fg(e,t,r="--type"){if(e===void 0)return;let n=ce(e,t);if(!n)throw new m(`${r} filter must be one of ${t.types.join("|")}`,f.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]="e524f0ad-faad-5d89-b8f5-1283979919ad")}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]="b03f0596-8c1f-59ec-a20e-8919cf8bbb98")}catch{}})();function or(e,t){if(e===void 0)return;let r=[],n="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){n+=c,s+=1;continue}n+=a;continue}if(a===","){r.push(n),n="";continue}n+=a}r.push(n);let o=r.map(s=>s.trim());if(o.some(s=>s.length===0))throw new m(`${t.label} requires at least one non-empty value`,f.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function Se(e,t){let r=or(e,t);return r===void 0?void 0:new Set(r)}function so(e,t,r="--type"){let n=or(e,{label:r});if(n===void 0)return;let o=n.map(i=>{let s=ce(i,t);if(!s)throw new m(`${r} filter token "${i}" must be one of ${t.types.join("|")}`,f.USAGE);return s});return new Set(o)}function ao(e,t="--priority"){let r=or(e,{label:t});if(r!==void 0)return new Set(r.map(n=>io(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="81a10252-4fa3-5c14-878d-7d78717419a4")}catch{}})();function co(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function mo(e){return{isTerminal(t){return e.terminal_statuses.has(co(t,e))},classify(t){let r=co(t,e);return e.terminal_canceled_statuses.has(r)?"canceled":e.terminal_statuses.has(r)?"closed":e.blocked_statuses.has(r)?"blocked":e.draft_statuses.has(r)?"draft":r===e.open_status?"open":e.active_statuses.has(r)?"in_progress":"other"}}}function ir(e){return T(e.acceptance_criteria)===void 0}function sr(e){return!Number.isFinite(e.estimated_minutes)}function po(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function Hc(e){return T(e.reviewer)===void 0}function Gc(e){return T(e.risk)===void 0}function Yc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function Wc(e){return T(e.sprint)===void 0}function Xc(e){return T(e.release)===void 0}function ar(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Qc(e,t,r){return[[t.acMissing,ir(e)],[t.estimatesMissing,sr(e)],[t.resolutionMissing,po(e,r)],[t.reviewerMissing,Hc(e)],[t.riskMissing,Gc(e)],[t.confidenceMissing,Yc(e)],[t.sprintMissing,Wc(e)],[t.releaseMissing,Xc(e)]].every(([o,i])=>o!==!0||i)}function Jc(e,t){return ir(e)||sr(e)||po(e,t)}function _o(e,t,r){return ar(t)?!(!Qc(e,t,r)||t.metadataMissing&&!Jc(e,r)):!0}var cr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Zc(e,t){switch(t){case"acceptance_criteria":return!ir(e);case"estimated_minutes":return!sr(e);case"resolution":return T(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return T(e.parent)!==void 0}}function ed(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function td(e,t){return t===0?100:Math.round(e/t*1e3)/10}function lo(){let e={};for(let t of cr)e[t]={present:0,applicable:0,percent:100};return e}function uo(e,t,r){for(let n of cr){if(!ed(t,n,r))continue;let o=e[n];o.applicable+=1,Zc(t,n)&&(o.present+=1)}}function fo(e){for(let t of cr){let r=e[t];r.percent=td(r.present,r.applicable)}}function Qg(e,t){let r=lo(),n={};for(let o of e){uo(r,o,t);let i=n[o.type]??(n[o.type]=lo());uo(i,o,t)}fo(r);for(let o of Object.values(n))fo(o);return{overall:r,by_type:n}}var rd={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function nd(e){return rd[e]}function od(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function id(e,t,r){switch(t){case"assignee":return[T(e.assignee)??null];case"parent":return[T(e.parent)??null];case"type":return[T(e.type)??null];case"status":return[T(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let n=r.tagPrefix?.trim(),i=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!n||s.startsWith(n)));return i.length>0?i:[null]}}}function Jg(e,t,r,n={}){let o=new Map,i=0;for(let a of e){i+=1;let c=r.classify(a.status);for(let d of id(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??nd(t),key:d,buckets:od(),total:0},o.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...o.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items: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]="2e200f74-0e6c-58ac-ab8c-da49071465ff")}catch{}})();var se=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Q(e){return Array.isArray(e)&&e.length>0}function sd(e){return typeof e=="string"&&e.trim().length>0}function ad(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let r=t.command;return typeof r=="string"&&r.trim().length>0}):!1}function go(e,t){switch(t){case"notes":return Q(e.notes);case"learnings":return Q(e.learnings);case"files":return Q(e.files);case"docs":return Q(e.docs);case"tests":return Q(e.tests);case"comments":return Q(e.comments);case"deps":return Q(e.dependencies);case"body":return sd(e.body);case"linked_command":return ad(e.tests)}}function ho(e){return se.some(t=>e[t]!==void 0)}function wo(e,t){for(let r of se){let n=t[r];if(n===void 0)continue;let o=go(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function bo(e){return se.some(t=>t!=="body"&&e[t]!==void 0)}function Eo(e){return e.body!==void 0}function yo(e,t){return t===0?100:Math.round(e/t*1e3)/10}function cd(){let e={};for(let t of se)e[t]={present:0,total:0,percent:100};return e}function eh(e){let t=cd(),r=e.length;for(let s of e)for(let a of se)go(s,a)&&(t[a].present+=1);for(let s of se)t[s].total=r,t[s].percent=yo(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:yo(o,r)};return{total_items:r,fields:t,body_populated:n,empty_body: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]="9957767d-cc97-58ad-a46e-3f88a18a3c8c")}catch{}})();var Co=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),So=[{field:"notes",presentKey:"hasNotes",absentKey:"noNotes",presentFlag:"--has-notes",absentFlag:"--no-notes"},{field:"learnings",presentKey:"hasLearnings",absentKey:"noLearnings",presentFlag:"--has-learnings",absentFlag:"--no-learnings"},{field:"files",presentKey:"hasFiles",absentKey:"noFiles",presentFlag:"--has-files",absentFlag:"--no-files"},{field:"docs",presentKey:"hasDocs",absentKey:"noDocs",presentFlag:"--has-docs",absentFlag:"--no-docs"},{field:"tests",presentKey:"hasTests",absentKey:"noTests",presentFlag:"--has-tests",absentFlag:"--no-tests"},{field:"comments",presentKey:"hasComments",absentKey:"noComments",presentFlag:"--has-comments",absentFlag:"--no-comments"},{field:"deps",presentKey:"hasDeps",absentKey:"noDeps",presentFlag:"--has-deps",absentFlag:"--no-deps"},{field:"body",presentKey:"hasBody",absentKey:"emptyBody",presentFlag:"--has-body",absentFlag:"--empty-body"},{field:"linked_command",presentKey:"hasLinkedCommand",absentKey:"noLinkedCommand",presentFlag:"--has-linked-command",absentFlag:"--no-linked-command"}],lr=e=>{let t=So.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new m(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,f.USAGE);return Object.fromEntries(So.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},To=["priority","deadline","updated_at","created_at","title","parent"],vo=["asc","desc"],Ro=new Set(xr);function dd(e,t,r){let n=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,o=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,i={status:t?"unchecked":n+o>0?"partial":"complete",unreadable_item_count:n,unreadable_directory_count:o};if(r&&i.status==="partial")throw new m(`List source is incomplete: ${n} item document(s) and ${o} item directory/directories could not be read.`,f.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return i}function ld(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var ud=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],fd=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function ko(e,t){for(let r of ud)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Lo(e,t){for(let r of fd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function md(e,t,r){for(let n of r){let o=t[n.optionKey];o!==void 0&&(e[n.summaryKey]=n.normalize?n.normalize(o):o)}}function Mo(e){let t={};return ko(t,e),t}function xo(e){let t={};return Lo(t,e),t}var pd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],_d=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],yd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],gd="-7d";function Do(e){let{filtersStatus:t,options:r,treeEnabled:n,treeDepth:o,sortField:i,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),r.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),md(c,r,pd),No(c,r),r.filterAcMissing===!0&&(c.filter_ac_missing=!0),r.filterEstimatesMissing===!0&&(c.filter_estimates_missing=!0),r.filterResolutionMissing===!0&&(c.filter_resolution_missing=!0),r.filterMetadataMissing===!0&&(c.filter_metadata_missing=!0),Lo(c,r),ko(c,r),r.limit!==void 0&&(c.limit=r.limit),r.offset!==void 0&&(c.offset=r.offset),r.includeBody===!0&&(c.include_body=!0),r.fields!==void 0&&(c.fields=r.fields),n&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),i!==void 0&&(c.sort=i,c.order=s),ld(a)&&(c.runtime_filters=a),c}function ur(e,t,r){let n=B(e.status,r),o=B(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=te(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function hd(e,t){return[...e].sort((r,n)=>ur(r,n,t))}function Io(e,t){if(e!==void 0)return Ce(e,new Date,t)}function Te(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return Ce(r,new Date,t)}function Oo(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(n=>n).length>1)throw new m("Choose only one updated_at window: --today, --recent, or --updated-after.",f.USAGE);if(e.today===!0){let n=new Date;return n.setHours(0,0,0,0),n.toISOString()}return e.recent===!0?Te(gd,"recent"):Te(e.updatedAfter,"updated-after")}function No(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Fo(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);let r=t.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(r.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);return new Set(r)}function fr(e){if(e===void 0)return;let t=String(e).trim(),r=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(r)||r<0)throw new m("Offset filter must be a non-negative integer",f.USAGE);return r}function Po(e){if(e===void 0)return;let t=e.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new m("List --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function $o(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=Po(e.fields);if(Number(r)+Number(n)+Number(o)+ +(i!==void 0)>1)throw new m("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...mt]}:r?{mode:"compact",fields:[...ft]}:i?{mode:"fields",fields:[...new Set(i.map(a=>j(a)))]}:{mode:"full",fields:[]}}function j(e){return e.startsWith("item.")?e.slice(5):e}function wd(e,t,r){if(e.mode!=="fields")return;let n=pt(t),o=new Set(n.map(s=>j(s))),i=e.fields.filter(s=>!o.has(j(s)));if(i.length>0)throw new m(`Unknown list --fields value(s): ${i.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:n,suggested_retry:`pm ${r} --fields id,title,status --limit 10`,suggested_retry_args:[r,"--fields","id,title,status","--limit","10"]}})}var bd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function zo(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=bd.get(t);if(r)return r;if(!To.includes(t))throw new m(`Sort field must be one of ${To.join("|")} (aliases: updated->updated_at, created->created_at)`,f.USAGE);return t}function Uo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!vo.includes(t))throw new m(`Sort order must be one of ${vo.join("|")}`,f.USAGE);return t}function Ed(e){return tt(e,"--tree-depth")}function Vo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new m("Assignee filter must be one of assigned|unassigned",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new m(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function Ao(e,t){return Rt(e,t,{strict:!0})}function jo(e){return Se(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Sd(e,t,r){let n=jo(t);if(n===void 0)return;let o=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),i=[...n].filter(s=>!o.has(s));i.length>0&&r.push(`unknown_tags:${i.join(",")}`)}function Td(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new m('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',f.USAGE);if(e!==void 0&&t==="unassigned")throw new m("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE)}function vd(e,t,r,n){let o=Se(t.assignee,{label:"--assignee"}),i=Vo(t.assigneeFilter);Td(o,i);let s=Co(t),a=lr(t);return{idsFilter:Fo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:so(t.type,r),tagFilters:jo(t.tag),priorityFilter:ao(t.priority),deadlineBefore:Io(t.deadlineBefore,"deadline-before"),deadlineAfter:Io(t.deadlineAfter,"deadline-after"),updatedAfter:Oo(t),updatedBefore:Te(t.updatedBefore,"updated-before"),createdAfter:Te(t.createdAfter,"created-after"),createdBefore:Te(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Se(t.sprint,{label:"--sprint"}),releaseFilter:Se(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:ar(s),lifecycleClassifier:mo(n),contentFieldFilters:a,contentFiltersActive:ho(a)}}function Id(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&B(e.status,r)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(n=>(e.tags??[]).some(o=>o.trim().toLowerCase()===n))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Ad(e,t){return Ar(e,t)}function Cd(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function Rd(e,t,r){let n=e.parent?.trim().toLowerCase(),o=[...new Set([...r?.get(e.id.trim().toLowerCase())??[],...n?[n]:[]])];return t.parentFilter!==void 0&&!t.treeEnabled&&!o.includes(t.parentFilter.trim().toLowerCase())||t.sprintFilter!==void 0&&(e.sprint===void 0||!t.sprintFilter.has(e.sprint))?!1:t.releaseFilter===void 0||e.release!==void 0&&t.releaseFilter.has(e.release)}function kd(e,t,r,n,o){return!(!Id(e,t,r)||!Ad(e,t)||!Cd(e,t)||!Rd(e,t,o)||t.missingMetadataActive&&!_o(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!wo(e,t.contentFieldFilters)||!Lt(e,n))}function Ko(e,t,r,n,o,i,s){let a=vd(t,r,n,o);return e.filter(c=>kd(c,a,o,i,s))}function ae(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function dr(e,t,r,n){let o=e,i=typeof o.title=="string"?o.title:"",s=n??ae(typeof o.parent=="string"?o.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:r,tree_title:`${" ".repeat(t)}${i}`}}function Ld(e,t){let r=new Map,n=new Map;for(let o of e){let i=o.id.trim().toLowerCase();r.set(i,o);let s=t?t.parents_by_child.get(i)??[]:[ae(o.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=n.get(a)??[];c.push(o),n.set(a,c)}}return{byId:r,childrenByParent:n}}function Md(e,t,r,n,o){return t?[...n.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[ae(i.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!r.has(a)))}function qo(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=Ld(e,n),a=Md(e,t,i,s,n),c=[],d=new Set,l=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:_,parentId:g}=u.pop(),y=p.id.trim().toLowerCase();if(d.has(y))continue;d.add(y);let h=s.get(y)??[];if(c.push(dr(p,_,h.length,g)),!(r!==void 0&&_>=r))for(let b of[...h].reverse())u.push({node:b,depth:_+1,parentId:l.get(y)})}if(t===void 0&&r===void 0)for(let p of e){let _=p.id.trim().toLowerCase();d.has(_)||(d.add(_),c.push(dr(p,0,s.get(_)?.length??0)))}return c}function Bo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Ho(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function Go(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return Ho(e.deadline??null,t.deadline??null);case"updated_at":return te(e.updated_at,t.updated_at);case"created_at":return te(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return Bo(e.parent??null,t.parent??null);default:return 0}}function Yo(e,t,r,n){return t?[...e].sort((o,i)=>{let s=Go(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=ur(o,i,n);return r==="desc"?-a:a}):hd(e,n)}function Wo(e,t,r=!1){let n=j(t.trim());if(n.length===0)return null;let o=e;return r&&n==="title"&&typeof o.tree_title=="string"?o.tree_title:Object.prototype.hasOwnProperty.call(o,n)?o[n]??null:null}function mr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=Wo(n,i,r);return o})}function Xo(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function Qo(e,t){if(e.noTruncate!==!0)return tt(e.limit)??(t>=1e4?20:void 0)}function xd(e,t,r){return t.after===void 0?fr(t.offset)??0:Ir(e,t.after,r,n=>n.id)}function Jo(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function Dd(e,t){let r=F(process.cwd(),t.path);await xe(r);let n=await I(r),o=ee(n.schema),i=lt(n.schema),s=e.projectionCommand??"list",a=$o(e,s);return wd(a,Xo(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:kt(e,i,"list"),typeRegistry:L(n,q()),projection:a}}async function Od(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Ro.has(j(c))),i=lr(e),s=bo(i),a=Eo(i);return e.includeBody||n||a?await Dr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await Et(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await ne(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function Nd(e){let t=zo(e.sort),r=Uo(e.order)??"asc",n=e.tree===!0;if(!n&&e.treeDepth!==void 0)throw new m("List --tree-depth requires --tree",f.USAGE);if(!t&&e.order!==void 0)throw new m("List --order requires --sort",f.USAGE);return{sortField:t,sortOrder:r,treeEnabled:n,treeDepth:n?Ed(e.treeDepth):void 0,parentRoot:n?ae(e.parent):void 0}}function Fd(e,t,r){let n=Ao(t.status,r),o;t.lifecycleBucket==="in_progress"?o=[r.in_progress_status]:t.lifecycleBucket==="open"&&(o=[...r.active_statuses].filter(d=>d!==r.in_progress_status).sort((d,l)=>d.localeCompare(l)));let i=n??o??Ao(e,r),s=nn(t.status),a=n||s?{...t,excludeTerminal:!1}:t,c="all";return s?c="all":n!==void 0?c=n.length===1?n[0]:n:t.lifecycleBucket!==void 0?c=t.lifecycleBucket:i!==void 0?c=i.length===1?i[0]:i:a.excludeTerminal===!0&&(c=null),{resolvedStatus:i,explicitAllStatuses:s,effectiveOptions:a,filtersStatus:c}}function Pd(e,t,r,n,o){if(t.after!==void 0&&t.offset!==void 0)throw new m("List --after cannot be combined with --offset.",f.USAGE);let i=Qo(t,e.length),s=xd(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=mr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ut(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Jo(i,l,u)}}function Zo(e,t,r){return vr("list",{status:e,options:Tr(t,wr),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function $d(e){let{options:t,runtime:r,statusSelection:n,ordering:o}=e,i=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[r.projection.mode==="full",r.projection.fields.some(g=>{let y=j(g);return y==="body"||Ro.has(y)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,Sr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([g,y])=>y!==void 0&&!i.has(g))].includes(!0))return null;let c=await fe(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!c)return null;let d=tt(t.limit),l=fr(t.offset)??0,u=await ht({pmRoot:r.pmRoot,expectedSourceCursor:c.source_cursor,query:{statuses:n.resolvedStatus,excludeStatuses:n.resolvedStatus===void 0&&n.effectiveOptions.excludeTerminal===!0?[...r.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...r.statusRegistry.terminal_statuses],limit:d,offset:l}});if(!u)return null;let p=u.items.length>0&&l+u.items.length<u.total,_=p?ut(Zo(n.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:mr(u.items,r.projection,!1),totalMatched:u.total,pageExtras:Jo(d,p,_)}}function zd(e){let{filtersStatus:t,options:r,noTruncate:n,treeEnabled:o,treeDepth:i,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),r.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=r;for(let u of _d){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of yd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,xo(r),Mo(r)),No(d,r),n&&(d.no_truncate=!0),r.strictRead===!0&&(d.strict_read=!0),o&&(d.tree=!0,i!==void 0&&(d.tree_depth=i)),s!==void 0&&(d.sort=s,d.order=a),d.runtime_filters=c,d}async function Lh(e,t,r){let n=await Dd(t,r),o=[],i=Nd(t),s=Fd(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await $d({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let y=await Od(t,n,o),b=i.treeEnabled||ae(t.parent)!==void 0?Fr(Nr(y,Or())):void 0;Sd(y,t.tag,o);let A=Ko(y,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,b?.parents_by_child),k=t.dependencyBlocked===!0?(()=>{let z=Pr(y,n.statusRegistry);return A.filter(nt=>z.has(nt.id.trim().toLowerCase()))})():A,$=Yo(k,i.sortField,i.sortOrder,n.statusRegistry),K=i.treeEnabled?qo($,i.parentRoot,i.treeDepth,b,y):$;d=Pd(K,t,n.projection,i.treeEnabled,Zo(s.filtersStatus,t,i))}let l=M(),u=[...new Set(o)].sort((y,h)=>y.localeCompare(h)),p=dd(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let y=Do({filtersStatus:s.filtersStatus,options:t,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:y,projection:{mode:"compact",fields:_},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:zd({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters}),projection:{mode:n.projection.mode,fields:_},sorting:{sort:i.sortField??"default",order:i.sortField?i.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var Mh={applyFilters:Ko,buildCompactListFilterSummary:Do,buildContentFilterEcho:Mo,buildGovernanceMissingFilterEcho:xo,resolveContentFieldFilters:lr,resolveMissingMetadataFilters:Co,compareBySortField:Go,compareDefaultSort:ur,compareNullableString:Bo,compareNullableTimestamp:Ho,normalizeProjectionField:j,parseAssigneeFilter:Vo,parseFieldSelectors:Po,parseIdsFilter:Fo,parseOffset:fr,parseProjectionConfig:$o,resolveListUpdatedAfter:Oo,resolveListPageLimit:Qo,parseSortField:zo,parseSortOrder:Uo,orderItemsAsTree:qo,projectListItems:mr,readListFieldValue:Wo,runtimeMetadataKeysForProjection:Xo,sortItems:Yo,trimNonEmpty:ae,withTreeMetadata:dr};(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]="4e54ed7b-3bab-51a2-912b-1284eaf8187a")}catch{}})();var rt=1e6;function pr(e,t=rt,r=.8,n=!1){let o=new Set,i=(l,u)=>{if(o.add(`${l}:${u}`),o.size>t)throw new m(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,f.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(n||r===0){for(let l=0;l<e.length;l+=1)for(let u=0;u<l;u+=1)i(u,l);return o}let s=new Map;for(let{prepared:l}of e)for(let u of l.tokens)s.set(u,(s.get(u)??0)+1);let a=new Map,c=new Map,d=new Map;for(let[l,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((y,h)=>s.get(y)-s.get(h)||y.localeCompare(h)),_=p.length-Math.ceil(r*p.length-1e-12)+1,g=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:c,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,_),lengthFilter:!0}];for(let y of g)Ud(e,l,y,r,i)}return o}function Ud(e,t,r,n,o){let i=e[t].prepared.tokens.length;for(let s of r.keys){let a=r.index.get(s)??[];for(let c of a){let d=e[c].prepared.tokens.length;r.lengthFilter&&Math.min(d,i)/Math.max(d,i)+1e-12<n||o(c,t)}a.push(t),r.index.set(s,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]="8d07624c-8663-5aba-8018-1b2c47997bef")}catch{}})();var Vd=3,ei=20,jd=.8,Kd=100,ti=1e3;function Wh(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 qd(e,t){let r=e.items[0],n=F(t.cwd??process.cwd(),t.pmRoot),o=ee((await I(n)).schema);return B(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 _r(e){let t=e.limit??Vd,r=e.threshold??jd;if(!Number.isSafeInteger(t)||t<0||t>ei)throw new m(`Similarity limit must be an integer from 0 to ${ei}.`,f.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new m("Similarity threshold must be a number from 0 to 1.",f.USAGE);return{limit:t,threshold:r}}function ri(e){let t=e.limit??Kd;if(!Number.isSafeInteger(t)||t<0||t>ti)throw new m(`Duplicate cluster limit must be an integer from 0 to ${ti}.`,f.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new m("Duplicate cluster --since must be a valid ISO timestamp.",f.USAGE);return{limit:t,since:r}}async function Bd(e,t){let r=F(e.cwd??process.cwd(),e.pmRoot),n=await I(r),o=L(n),i=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new m("Duplicate cluster statuses must include at least one lifecycle status or all.",f.USAGE);let s=ee(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=ue(u,s);if(!p)throw new m(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,f.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new m('The "all" status cannot be combined with other statuses.',f.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await ne(r,n.item_format,o.type_to_folder,void 0,n.schema)).filter(u=>(!l||l.has(u.status))&&(!t||new Date(u.created_at).getTime()>=t.getTime())),statuses:d}}var Xh={buildDuplicateClusters:oi,collectDuplicateCandidatePairs:pr,createDuplicateUnionFind:ni};function ni(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 Hd(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,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 oi(e,t,r,n){let o=new Map;for(let a of e.keys()){let c=r.findRoot(a),d=o.get(c)??[];d.push(a),o.set(c,d)}let i=new Map(e.map(({item:a},c)=>[a.id,r.findRoot(c)])),s=new Map;for(let a of t){let c=i.get(a.left_id),d=s.get(c)??[];d.push(a),s.set(c,d)}return[...o.values()].filter(a=>a.length>1).map(a=>{let c=(s.get(r.findRoot(a[0]))??[]).sort((d,l)=>l.score-d.score||d.left_id.localeCompare(l.left_id)||d.right_id.localeCompare(l.right_id));return{id:e[a[0]].item.id,items:a.map(d=>{let l=e[d].item;return{id:l.id,title:l.title,status:l.status,type:l.type}}),matches:c,max_score:c[0]?.score??0}}).sort((a,c)=>c.max_score-a.max_score||a.id.localeCompare(c.id)).slice(0,n)}function Gd(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,...Oe(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 Yd(e,t={}){let r=e.title.trim();if(r.length===0)throw new m("Similarity candidate title must not be empty.",f.USAGE);let{limit:n,threshold:o}=_r(t),i=F(t.cwd??process.cwd(),t.pmRoot),s=await I(i),a=L(s),c=await fe(i,Object.values(a.type_to_folder)),d=ye(r),l=c&&d.length>0?await wt({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await ne(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=Gd(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function Wd(e,t={}){let{threshold:r}=_r({...t,limit:void 0}),{limit:n}=ri(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new m("Duplicate analysis requires unique non-empty item ids.",f.USAGE);o.add(l.id)}let i=[...e].sort((l,u)=>l.id.localeCompare(u.id)).map(l=>({item:l,prepared:_e(l.title)})),s=pr(i,rt,r,t.exhaustive===!0),a=ni(i.length),c=Hd(i,s,r,a),d=oi(i,c,a,n);return{clusters:d,count:d.length,threshold:r,cost:{item_count:i.length,algorithm:t.exhaustive===!0||r===0?"exhaustive":"prefix_exact",possible_pairs:i.length*(i.length-1)/2,pair_limit:rt,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function Qh(e={}){_r({...e,limit:void 0});let{since:t}=ri(e),{items:r,statuses:n}=await Bd(e,t);return{...Wd(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function Jh(e,t){if(t.mode==="off")return;let r=await Yd(e,t);if(r.count===0)return;let n=await qd(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 m(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,f.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]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function uw(e){let t=F(process.cwd(),e);await xe(t);let r=await I(t),n=L(r,q());return{pmRoot:t,settings:r,typeRegistry:n}}async function fw(e,t,r,n){de(e,Me(t));let o=await me(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:de(e,o.id),located:o};let i=re(t,r.id_prefix),s=Me(t),a=i===s?[i]:[i,s];for(let c of a){let d=de(e,c);if(await U(d))return{id:c,historyPath:d,located:null}}throw new m(`Item ${t} not found`,f.NOT_FOUND)}(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]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function pw(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{uw as a,fw as b,gi as c,wi as d,Ei as e,Si as f,Tl as g,Ti as h,vi as i,Cl as j,Gr as k,Ii as l,Ai as m,Ci as n,Ri as o,Oi as p,Pi as q,Rl as r,$i as s,Jr as t,Ui as u,Vi as v,kl as w,ji as x,Pe as y,Ll as z,$e as A,qi as B,Bi as C,It as D,Gi as E,At as F,Yi as G,Bl as H,Xi as I,en as J,Qi as K,Ji as L,ts as M,Jl as N,os as O,Rt as P,ds as Q,$r as R,kt as S,Lt as T,Ve as U,xs as V,Iu as W,Mt as X,fn as Y,xt as Z,qs as _,Bs as $,Ru as aa,mn as ba,oe as ca,Ot as da,Ft as ea,qt as fa,zu as ga,Bt as ha,Ye as ia,bn as ja,We as ka,Ht as la,Gt as ma,Yt as na,Wt as oa,An as pa,Cn as qa,af as ra,Qe as sa,Ee as ta,si as ua,Vr as va,ai as wa,ci as xa,di as ya,ol as za,sl as Aa,pe as Ba,De as Ca,ye as Da,_e as Ea,Oe as Fa,Ne as Ga,jr as Ha,pi as Ia,Ka as Ja,Ha as Ka,Ya as La,Wa as Ma,sc as Na,$n as Oa,et as Pa,Am as Qa,tt as Ra,io as Sa,Fg as Ta,pw as Ua,or as Va,Se as Wa,so as Xa,ao as Ya,mo as Za,ar as _a,_o as $a,Qg as ab,Jg as bb,ho as cb,wo as db,eh as eb,Co as fb,lr as gb,To as hb,vo as ib,md as jb,Mo as kb,xo as lb,Lh as mb,Mh as nb,Wh as ob,Xh as pb,Yd as qb,Wd as rb,Qh as sb,Jh as tb};
20
+ //# sourceMappingURL=chunk-OOZHQFBF.js.map