@unbrained/pm-cli 2026.9.11 → 2026.9.13

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 (165) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +42 -0
  3. package/dist/cli/command-namespaces.js +1 -1
  4. package/dist/cli/commander-usage.js +2 -2
  5. package/dist/cli/error-guidance.d.ts +10 -0
  6. package/dist/cli/error-guidance.js +1 -1
  7. package/dist/cli/main.js +2 -2
  8. package/dist/cli/option-values.d.ts +3 -0
  9. package/dist/cli/option-values.js +2 -0
  10. package/dist/cli/register-mutation.d.ts +5 -0
  11. package/dist/cli/register-mutation.js +2 -16
  12. package/dist/cli/schema/registration.d.ts +4 -0
  13. package/dist/cli/schema/registration.js +16 -0
  14. package/dist/cli-bundle/bundle-manifest.json +160 -152
  15. package/dist/cli-bundle/chunks/{chunk-TDKWJQD7.js → chunk-3DWX3CKN.js} +2 -2
  16. package/dist/cli-bundle/chunks/chunk-6KHYW3FH.js +235 -0
  17. package/dist/cli-bundle/chunks/chunk-AKTBOX6U.js +2 -0
  18. package/dist/cli-bundle/chunks/chunk-GBK5MV6N.js +29 -0
  19. package/dist/cli-bundle/chunks/{chunk-JMQKJ7CJ.js → chunk-GQQR6JAL.js} +2 -2
  20. package/dist/cli-bundle/chunks/{chunk-QER6OSOP.js → chunk-KM4XVZR7.js} +53 -53
  21. package/dist/cli-bundle/chunks/{chunk-VFKBNGF6.js → chunk-LA44JECQ.js} +2 -2
  22. package/dist/cli-bundle/chunks/{chunk-DAWH7TGV.js → chunk-XEZOGC3P.js} +2 -2
  23. package/dist/cli-bundle/chunks/{chunk-TFVKBJJ4.js → chunk-XM7RWQLM.js} +103 -103
  24. package/dist/cli-bundle/chunks/{chunk-RJQSCK74.js → chunk-YDSV4QIQ.js} +6 -6
  25. package/dist/cli-bundle/chunks/chunk-YQTJACN5.js +20 -0
  26. package/dist/cli-bundle/chunks/{chunk-BN5QVWNY.js → chunk-ZZI7IHMM.js} +2 -2
  27. package/dist/cli-bundle/chunks/{register-list-query-U6MY437C.js → register-list-query-WMJTBWNW.js} +2 -2
  28. package/dist/cli-bundle/chunks/register-mutation-EXGOXP3D.js +20 -0
  29. package/dist/cli-bundle/chunks/{register-operations-EHWIZW3X.js → register-operations-2H4CDRGU.js} +2 -2
  30. package/dist/cli-bundle/chunks/{register-setup-BZYL3HBL.js → register-setup-NYBWGPOS.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-TWE3GPQM.js → chunk-7JR6M2JR.js} +17 -17
  32. package/dist/cli-bundle/focused-chunks/{chunk-GKUF7TM5.js → chunk-B6JAANOH.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-UJCQXUD2.js → chunk-DSJYL4VP.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-VS6MR2HT.js → chunk-F66QJWI4.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-MOT32PR2.js → chunk-FBCLVOBE.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-HM6JS6Q3.js → chunk-FPNI4U2B.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/chunk-HFAW3FJQ.js +2 -0
  38. package/dist/cli-bundle/focused-chunks/chunk-KP3N6PVZ.js +164 -0
  39. package/dist/cli-bundle/focused-chunks/chunk-LQ67C7ZO.js +2 -0
  40. package/dist/cli-bundle/focused-chunks/{chunk-TGMSSI3Z.js → chunk-OENAWWP4.js} +2 -2
  41. package/dist/cli-bundle/focused-chunks/{chunk-7WISPJRZ.js → chunk-SDQCJF4H.js} +53 -53
  42. package/dist/cli-bundle/focused-chunks/chunk-TUHRUFID.js +2 -0
  43. package/dist/cli-bundle/focused-chunks/{chunk-6JF66HAG.js → chunk-V7PSTKHD.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-FJDEFA64.js → chunk-XCCM7P7V.js} +2 -2
  45. package/dist/cli-bundle/focused-chunks/chunk-YUXBHIUV.js +20 -0
  46. package/dist/cli-bundle/focused-chunks/{chunk-BEQAW7OT.js → chunk-ZAMG7HBB.js} +4 -4
  47. package/dist/cli-bundle/focused-chunks/chunk-ZF5PXK6A.js +2 -0
  48. package/dist/cli-bundle/main.js +20 -20
  49. package/dist/cli-bundle/sdk-authoring.js +1 -1
  50. package/dist/cli-bundle/sdk-contracts.js +2 -2
  51. package/dist/cli-bundle/sdk-core.js +34 -34
  52. package/dist/cli-bundle/sdk-governance.js +1 -1
  53. package/dist/cli-bundle/sdk-graph.js +1 -1
  54. package/dist/cli-bundle/sdk-merge.js +42 -42
  55. package/dist/cli-bundle/sdk-query.js +1 -1
  56. package/dist/cli-bundle/sdk-runtime.js +1 -1
  57. package/dist/cli-bundle/sdk-testing.js +1 -1
  58. package/dist/cli-bundle/sdk.js +8 -8
  59. package/dist/core/history/history.js +1 -1
  60. package/dist/core/history/operation-contract.d.ts +30 -0
  61. package/dist/core/history/operation-contract.js +2 -0
  62. package/dist/core/history/tombstone.d.ts +3 -0
  63. package/dist/core/history/tombstone.js +2 -0
  64. package/dist/core/item/id.d.ts +8 -7
  65. package/dist/core/item/id.js +1 -1
  66. package/dist/core/output/mutation-projection.d.ts +1 -0
  67. package/dist/core/output/mutation-projection.js +1 -1
  68. package/dist/core/sentry/instrument.js +1 -1
  69. package/dist/core/shared/command-line.d.ts +10 -0
  70. package/dist/core/shared/command-line.js +2 -0
  71. package/dist/core/shared/errors.d.ts +13 -0
  72. package/dist/core/shared/errors.js +1 -1
  73. package/dist/core/store/item-store.d.ts +5 -1
  74. package/dist/core/store/item-store.js +1 -1
  75. package/dist/core/telemetry/consent.d.ts +1 -1
  76. package/dist/core/telemetry/consent.js +2 -2
  77. package/dist/core/telemetry/policy.d.ts +10 -0
  78. package/dist/core/telemetry/policy.js +2 -0
  79. package/dist/core/telemetry/runtime.d.ts +11 -9
  80. package/dist/core/telemetry/runtime.js +3 -3
  81. package/dist/sdk/agent/command-suggestions.js +1 -1
  82. package/dist/sdk/agent/item-addressing.js +1 -1
  83. package/dist/sdk/agent-capability-contracts.js +1 -1
  84. package/dist/sdk/cli-bootstrap.js +1 -1
  85. package/dist/sdk/cli-contracts/command-aliases.js +1 -1
  86. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  87. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  88. package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
  89. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +3 -0
  90. package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
  91. package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
  92. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  93. package/dist/sdk/command-line.d.ts +1 -6
  94. package/dist/sdk/command-line.js +1 -1
  95. package/dist/sdk/comments.js +1 -1
  96. package/dist/sdk/completion.js +1 -1
  97. package/dist/sdk/contracts.d.ts +1 -0
  98. package/dist/sdk/contracts.js +1 -1
  99. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  100. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  101. package/dist/sdk/governance/health.js +1 -1
  102. package/dist/sdk/governance/storage-integrity.js +1 -1
  103. package/dist/sdk/governance/workflow-completeness.js +1 -1
  104. package/dist/sdk/governance/workflow-policy.js +2 -2
  105. package/dist/sdk/index.d.ts +1 -0
  106. package/dist/sdk/index.js +1 -1
  107. package/dist/sdk/learnings.js +1 -1
  108. package/dist/sdk/lifecycle/claim.d.ts +2 -0
  109. package/dist/sdk/lifecycle/claim.js +1 -1
  110. package/dist/sdk/lifecycle/mcp-actions.d.ts +4 -0
  111. package/dist/sdk/lifecycle/mcp-actions.js +1 -1
  112. package/dist/sdk/lifecycle/task-composition.d.ts +2 -0
  113. package/dist/sdk/lifecycle/task-composition.js +1 -1
  114. package/dist/sdk/merge/reconcile.js +1 -1
  115. package/dist/sdk/merge/three-way.js +2 -2
  116. package/dist/sdk/notes.js +1 -1
  117. package/dist/sdk/public-surface.json +1 -1
  118. package/dist/sdk/query/projection-contracts.d.ts +1 -1
  119. package/dist/sdk/query/projection-contracts.js +1 -1
  120. package/dist/sdk/runtime.js +1 -1
  121. package/dist/sdk/telemetry.d.ts +5 -0
  122. package/dist/sdk/telemetry.js +1 -1
  123. package/docs/AGENT_UX_CONTRACTS.md +8 -0
  124. package/docs/ARCHITECTURE.md +7 -0
  125. package/docs/CLI_GRAMMAR.md +31 -0
  126. package/docs/COMMAND_NAMESPACES.md +7 -4
  127. package/docs/CONFIGURATION.md +13 -2
  128. package/docs/HISTORY_OPERATIONS.md +46 -0
  129. package/docs/HISTORY_RECOVERY.md +27 -2
  130. package/docs/LIFECYCLE_COMMANDS.md +19 -2
  131. package/docs/MERGE_SAFETY.md +64 -3
  132. package/docs/WORKFLOW_POLICIES.md +47 -3
  133. package/docs/generated/AGENT_CAPABILITY_ROUTING.md +4 -4
  134. package/docs/generated/AGENT_COMMAND_SURFACE.md +10 -0
  135. package/docs/generated/FLAG_LEXICON_BUDGETS.md +11 -1
  136. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +8 -5
  137. package/marketplace.json +2 -2
  138. package/package.json +1 -1
  139. package/packages/pm-beads/package.json +1 -1
  140. package/packages/pm-calendar/package.json +1 -1
  141. package/packages/pm-command-kit/package.json +1 -1
  142. package/packages/pm-digital-twin/package.json +1 -1
  143. package/packages/pm-governance-audit/README.md +22 -0
  144. package/packages/pm-governance-audit/package.json +1 -1
  145. package/packages/pm-guide-shell/extensions/guide-shell/index.ts +13 -26
  146. package/packages/pm-guide-shell/package.json +1 -1
  147. package/packages/pm-kanban/package.json +1 -1
  148. package/packages/pm-lifecycle-hooks/package.json +1 -1
  149. package/packages/pm-linked-test-adapters/package.json +1 -1
  150. package/packages/pm-search-advanced/package.json +1 -1
  151. package/packages/pm-templates/package.json +1 -1
  152. package/packages/pm-todos/package.json +1 -1
  153. package/packages/pm-vcs/package.json +1 -1
  154. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  155. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  156. package/dist/cli-bundle/chunks/chunk-FBY6PEIR.js +0 -20
  157. package/dist/cli-bundle/chunks/chunk-IRUNFLLG.js +0 -2
  158. package/dist/cli-bundle/chunks/chunk-RJZFAXBW.js +0 -235
  159. package/dist/cli-bundle/chunks/chunk-SGAKQIGQ.js +0 -29
  160. package/dist/cli-bundle/chunks/register-mutation-HAPHD4S7.js +0 -20
  161. package/dist/cli-bundle/focused-chunks/chunk-3JVTLBCW.js +0 -20
  162. package/dist/cli-bundle/focused-chunks/chunk-DZ3ATEFS.js +0 -2
  163. package/dist/cli-bundle/focused-chunks/chunk-M74YW332.js +0 -164
  164. package/dist/cli-bundle/focused-chunks/chunk-ONDKO4EL.js +0 -2
  165. package/dist/cli-bundle/focused-chunks/chunk-YOPNRWSX.js +0 -2
@@ -0,0 +1,20 @@
1
+ import{a as ut,b as ft,d as mt}from"./chunk-LQ67C7ZO.js";import{t as gr}from"./chunk-ZF5PXK6A.js";import{$ as yt,Ba as Cr,I as vr,J as Ir,Jb as kr,Kb as Mr,Nb as xr,Qa as Ae,Ra as v,S as ue,Sa as Ce,U as B,Ua as Le,Va as re,X as pt,Y as _t,jb as ht,kc as Dr,lb as gt,nb as Lr,pb as fe,tb as Re,ua as Ar,ub as me,vb as wt,xb as Et,yb as ne,zb as Rr}from"./chunk-KP3N6PVZ.js";import{m as ee,o as dt}from"./chunk-OENAWWP4.js";import{$ as f,Aa as k,Ba as ce,Ga as F,Ia as it,Ic as q,Ja as st,Ka as at,La as yr,Lc as ve,Ma as de,Oc as wr,Pa as w,Qa as S,Ra as le,Rd as M,Sa as Z,Ta as b,V as ot,Va as hr,Vd as te,Wd as Tr,Xd as Ie,aa as m,ad as Er,bd as br,cd as lt,gd as Sr,i as nt,ja as z,la as J,ma as I,na as T,pa as Te,qb as ct}from"./chunk-7JR6M2JR.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 Or(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 ti=/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/,ri=/\bnpm_[A-Za-z0-9]{36}\b/,ni=/\bxox[baprs]-(?=[A-Za-z0-9-]{20,80}\b)(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{20,80}\b/,oi=/-----BEGIN (?:[A-Z0-9]+ )?PRIVATE KEY-----/,ii=/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/,Nr=/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,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"}],St=new Map(si.map(e=>[e.action,e]));function ai(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 bt(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)=>bt(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>bt(o,`${t}.${n}`,r)))}function Fr(e){let t=[];for(let r of bt(e)){ti.test(r.value)&&t.push({rule:"github_token",path:r.path}),ri.test(r.value)&&t.push({rule:"npm_token",path:r.path}),ni.test(r.value)&&t.push({rule:"slack_token",path:r.path}),oi.test(r.value)&&t.push({rule:"private_key",path:r.path}),ii.test(r.value)&&t.push({rule:"aws_access_key",path:r.path}),Nr.lastIndex=0;for(let n of r.value.matchAll(Nr)){let o=n[1];if(ai(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 ci(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=Fr(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 di(e){return St.has(e.trim().toLowerCase())}function li(){return[...St.keys()].sort((e,t)=>e.localeCompare(t))}function ol(e){return St.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 ui(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function sl(e){return ui(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 fi=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function ke(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ye(e){return[...new Set(ke(e).match(/[\p{L}\p{N}]+/gu)??[])]}function _e(e){let t=ke(e);return{normalized:t,tokens:ye(t),issueCodes:[...new Set(t.match(fi)?.map(r=>r.toLowerCase())??[])]}}function Me(e,t){return xe(_e(e),_e(t))}function xe(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 mi 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 De(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function pi(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 Pr(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=De(t.in_progress_status),i=[];for(let s of e){if(De(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=pi(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 _i(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>De(String(o.status))===De(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await yt(mi.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)})),Pr(t,{...r,last_history_activity:o=>n.get(o.id)})}import{mkdir as yi,readFile as hi}from"node:fs/promises";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]="9d3152f0-afc9-5be8-9303-b02ea2666631")}catch{}})();function gi(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 wi(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function Ur(e,t){return $r.join(e,"checkpoints",t)}function zr(e,t,r){return $r.join(Ur(e,t),`${r}.json`)}async function Ei(e,t,r,n){let o=Ur(e,t);await yi(o,{recursive:!0});let i=zr(e,t,r);return await T(i,`${JSON.stringify(n,null,2)}
2
+ `),i}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 Si(e,t,r,n){let o=gi(r),i=zr(e,t,o);if(!await z(i))throw new m(`Checkpoint ${o} not found`,f.NOT_FOUND);let s=await hi(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=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 Ti(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 Sl(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function vi(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 Ii(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="-",jr=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 Al(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 Kr(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 qr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of Kr(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function Br(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function Ai(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function Ci(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 Li(e,t){let r=Br(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 qr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Ri(e,t){let r=Array.from(new Set(Br(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(qr(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 Tt(e){return e.replace(/\r\n/g,`
4
+ `)}function Hr(e){let t=Tt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
5
+ `);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
6
+ `)}function Mi(e){let t=[],r="",n=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="\\"&&e[o+1]===","){r+=",",o+=1;continue}if(i==="\\"&&e[o+1]!==void 0){r+=`${i}${e[o+1]}`,o+=1;continue}if(i==='"'){n=!n,r+=i;continue}if(i===","&&!n){t.push(r),r="";continue}r+=i}return r.trim()&&t.push(r),t}function Gr(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let r=JSON.parse(t);if(typeof r=="string")return r}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function xi(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 Di(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 Vr(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Di(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 Oi(e){let t=Hr(e).trim();if(t.length===0||!t.includes(`
7
+ `)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=Tt(t).split(`
8
+ `).map(i=>i.trim()).filter(i=>i.length>0);for(let i of o){let s=i.match(/^(?:[-*+]\s+)?([a-zA-Z0-9_.-]+)\s*(=|:)\s*(.*)$/);if(s){let a=s[1].trim();r[a]=Gr(s[3].trim()),n=a;continue}if(n&&jr.has(n.toLowerCase())){r[n]=`${r[n]}
9
+ ${i}`;continue}return null}return r}function Ni(e,t){let r=Hr(e).trim();if(!r)throw new m(`${t} cannot be empty`,f.USAGE);let n=Oi(r);if(n)return n;let o={},i,s=Mi(r);for(let a of s){let c=xi(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new m(Vr(e,t),f.USAGE);let l=Gr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&jr.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new m(Vr(e,t),f.USAGE)}return o}var Fi=/^[A-Za-z]:[\\/]/,Pi=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function $i(e){let t=e.trim();return Fi.test(t)?!1:Pi.test(t)}function Cl(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 Ui(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(Tt(n))}),process.stdin.on("error",o=>{r(o)})})}var H=Symbol("all-mutation-stdin-fields"),C=new WeakMap;function Yr(e){return C.set(e,H),e}function Vi(e,t){let r=C.get(e);return r===H||C.set(e,new Set([...r??[],...t])),e}function ji(e,t){let r=C.get(e);return r===void 0||C.set(t,r===H?r:new Set(r)),t}function Ll(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 Ki(e){return C.get(e)!==H}function Oe(e,t){let r=C.get(e);return r!==H&&!r?.has(t)}function qi(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 Rl(e,t,r){let n=e,o=[...t,...r];qi(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:Oe(e,a)})));let i=Ne(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,Oe(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,Oe(e,a));return Yr(s)}function Ne(){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 Bi(e,t){let r=Number(e);if(!Number.isFinite(r))throw new m(`Invalid ${t} value "${e}"`,f.USAGE);return r}function Hi(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 vt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Gi(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=vt(t.join(`
10
+ `));return r.length>0?r.join(","):""}function Yi(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Gi(e);if(typeof e!="string")return"";let t=vt(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 Wr(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function It(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?Wr(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Wr(t):"root"}function Fe(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Wi(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=Ar(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Cr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add(It(_.path)),_.from!==void 0&&u.add(It(_.from));let p=[...u].sort((_,h)=>_.localeCompare(h));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Fe(c,n),after:Fe(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[_]})}else{let _=p.map(h=>({field:h,before:Fe(c,h),after:Fe(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 Xi=new Set(["none","null","undefined"]);function ql(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 Qi(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(Xr(t))throw new m(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,f.USAGE);return t}function Xr(e){return Xi.has(e.trim().toLowerCase())}function Ji(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 Zi(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 At={critical:0,high:1,medium:2,low:3,minimal:4},es=Object.keys(At),ts=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${es.join(", ")}), case-insensitive`;function Pe(e){return new m(`Invalid priority "${e}". Accepted values: ${ts}.`,f.USAGE)}function rs(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Pe(String(e))}if(typeof e!="string")throw Pe(String(e));let t=e.trim();if(t.length===0)throw Pe(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(At,r))return At[r];if(/^[0-4]$/.test(t))return Number(t);throw Pe(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 ns=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,os=64;function Ql(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 is(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<=os&&ns.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 Qr={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Jr="all";function Zr(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]===Jr}function ss(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Qr[r];return n?t[n]:ue(e,t)}function as(e){let t=new Set(Object.keys(Qr));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function cs(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of as(t)){let s=nt(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function Ct(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()===Jr).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=ss(c,t);if(d===void 0){if(n){let l=cs(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 ds={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 ls(e){if(e!==void 0)return ds[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 en(e,t){return ct(e,t)}function Lt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=vr(e,o);i!==void 0&&(n[o.metadata_key]=Ir(o,i))}return n}function Rt(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(!en(o,n[n.length-1]))return!1;continue}if(!en(o,n))return!1}return!0}import{spawnSync as rn}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 us="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",fs="PM_OLLAMA_MODEL",ms="http://localhost:11434",ps="qwen3-embedding:0.6b",_s=".agents/pm/search/lancedb/",ys=1500,hs=2500,gs=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,ws=/embed|embedding/i,x=w;function Es(){let e=x(process.env[us]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function tn(e){return e.some(t=>x(t)!==null)}function bs(e){let t=x(e);return!!(t&&t.toLowerCase()!=="ollama")}function Ss(e){let t=x(e);return!!(t&&t.toLowerCase()!=="lancedb")}function Ts(e){return bs(e.search?.provider)||Ss(e.vector_store?.adapter)||tn([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:tn([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function vs(){let e=rn("ollama",["--version"],{encoding:"utf8",timeout:ys});return e.error?!1:e.status===0}function Is(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=>ws.test(i))??null)}function As(e){let t=x(e.providers?.ollama?.model);if(t)return t;let r=x(process.env[fs]);if(r)return r;let n=rn("ollama",["list"],{encoding:"utf8",timeout:hs});if(!n.error&&n.status===0){let o=Is(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function Cs(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 Ls(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=ms),t.model&&(o.model=r)}function ks(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=_s}function Ms(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function $e(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(Es()||Ts(e))return t;let r=Cs(e);if(!Ls(r)||r.model&&!vs())return t;let n=structuredClone(e),o=As(n);return o?(Rs(n,r,o),ks(n,r),Ms(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 ${ps} 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 Os="reindex";import gn 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 Ns=3e4;function G(e,t,r=Ns){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 Fs(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${b(t)})`}}async function Ue(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 Fs(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 vu(e,t){let r=w(e);if(!r)return"unconfigured";let n=w(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Ps(e){let t=le(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function sn(e){let t=e.search?.embedding_model;return w(t)||null}function $s(e){let t=w(e.providers?.openai?.base_url),r=w(e.providers?.openai?.model);if(!t||!r)return null;let n=sn(e),o=w(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Us(e){let t=w(e.providers?.ollama?.base_url),r=w(e.providers?.ollama?.model);if(!t||!r)return null;let n=sn(e);return{name:"ollama",base_url:t,model:n??r}}function an(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 zs(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 Vs(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=$s(e),r=Us(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 on(e){let t=le(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Ps(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function js(e,t){let r=an(t);return e.name==="openai"?{target:on(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:on(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Ks(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 Vs(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 cn(e,t,r={}){let n=G(r.timeout_ms,"Embedding request"),o=Y(r.fetcher,"Embedding request"),i=an(t),s=zs(i),a=js(e,s.uniqueInputs),c=await Ue({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Ks(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 ze=["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 Mt(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...ze];let r=new Set(ze),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:[...ze]}var qs=8e3,xt=3200,W="...[semantic corpus truncated]",Bs="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 Hs(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Gs(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 Ys(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 Ws(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 Cu(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??[])Ys(t,r);return Ws(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Xs(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 Qs={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=>Hs(e.metadata),events:e=>Gs(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Xs(e.metadata)};function dn(e,t={}){let r=t.fields??ze,n={};for(let o of r){let i=Qs[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Js(e){return e?.trim().toLowerCase()==="ollama"?xt:qs}function oe(e,t){let r=Js(e),n=hr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Bs}}function Dt(e,t={}){let r=JSON.stringify(dn(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 Zs(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 ea(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 ta(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:xt}}function ra(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 ln(e){let t=b(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function na(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 ln(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 Ot(e,t,r,n,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await cn(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,ln(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 Ot(e,l,`${r}.1`,n,o,i),...await Ot(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(na(e,r,t.length,n,o+1,s))}async function Nt(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=ta(e,Zs(t,i.maxCharacters)),a=0,c=r.map(p=>{let _=ra(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=ea(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 Ot(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 oa,readFile as ia,stat as $t,unlink as sa}from"node:fs/promises";import{basename as un,dirname as Ft,isAbsolute as aa,join as ca,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 zt="pm_items",da=/[^a-zA-Z0-9_-]/g,la=128,ua=".pm-cli-local-vectors",Pt=1,X=new Map;function ge(e){return(w(e.collection_name)??zt).replaceAll(da,"_").slice(0,la)}function Ve(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function mn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function fa(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 Vt(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 Ue({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function ma(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!==zt?{collection_name:r}:{},...n?{api_key:n}:{}}}function pa(e){let t=Ut(e),r=Ft(t);return un(t)==="pm"&&un(r)===".agents"?Ft(r):t}function _a(e,t){return!t||aa(e)?e:Ut(pa(t),e)}function ya(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:_a(r,t),...n&&n!==zt?{collection_name:n}:{}}}function ha(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=Ve(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 ga(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 wa(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ea(e){return e.replace(/\/points\?wait=true$/,"")}function je(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Ke(e,t){return ie(e,t)}function ie(e,t){return ca(Ut(e),ua,`${t}.json`)}function ba(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=Ve(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 Sa(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!==Pt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${Pt}`);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=ba(s[c],c,e);a.set(d.id,d)}return a}async function Ta(e){try{let t=await $t(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!J(t))throw t;return null}}function va(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 Ia(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function jt(e,t){let r=Ke(e,t),n=ie(e,t),o=await Ta(n),i=X.get(r);if(!o){let a=va(r,i);if(a)return a}if(Ia(i,o))return i.records;let s=new Map;try{let a=await ia(n,"utf8");s=Sa(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 Aa(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 pn(e){try{await sa(e)}catch(t){if(!J(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${b(t)}`)}}async function _n(e,t,r){let n=ie(e,t);if(r.size===0){await pn(n);return}let o=Ft(n);try{await oa(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${b(s)}`)}let i=`${JSON.stringify({version:Pt,table:t,records:Aa(r)})}
11
+ `;try{await T(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${b(s)}`)}}async function Ca(e,t){let r=Ke(e,t),n=ie(e,t);await pn(n),X.delete(r)}function fn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function La(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=fn(e),o=fn(t);return n===0||o===0?0:r/(n*o)}function Kt(e,t){let r=ma(e),n=ya(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 qe(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 Ra(e,t,r){let n=qe(e),o=Ve(t),i=mn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:je(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ge(e),vector:o,limit:i}}}function ka(e,t){let r=qe(e),n=ha(t);return e.name==="qdrant"?{target:r,method:"POST",headers:je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),records:n}}}function Ma(e,t){let r=qe(e),n=ga(t);return e.name==="qdrant"?{target:r,method:"POST",headers:je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),ids:n}}}async function $u(e,t,r,n={}){let o=Ra(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await jt(c.path,d.table);if(l.size===0)return[];let u=Ve(d.vector),p=mn(d.limit),_=[],h=0;for(let y of l.values()){if(y.vector.length!==u.length){h++;continue}_.push({id:y.id,score:La(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 fa(a)}async function qt(e,t,r={}){let n=ka(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Ke(a.path,c.table),l=await jt(a.path,c.table);for(let _ of c.records)l.set(_.id,_);await _n(a.path,c.table,l);let u=ie(a.path,c.table),p=await $t(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 Vt(s)}async function Be(e,t,r={}){let n=Ma(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Ke(a.path,c.table),l=await jt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let u of c.ids)l.delete(u);if(await _n(a.path,c.table,l),l.size===0)X.delete(d);else{let u=ie(a.path,c.table),p=await $t(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(wa(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return Vt(s)}async function yn(e,t=[],r={},n){if(e.name==="lancedb")return await Ca(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=qe(e),s=Ea(i.upsert_target),a=G(r.timeout_ms,"Vector request"),c=Y(r.fetcher,"Vector request"),d=je(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 Vt(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await Be(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 He(e,t){let r=w(e),n=w(t);return!r||!n?null:{provider:r,model:n}}function hn(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=He(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 Bt(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 Ht(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function Gt(e,t){return!!(e&&e.vector_dimension!==t)}function Yt(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 wn="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 En(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function bn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!En(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function Sn(e){let t=gn.join(e,wn),r=await I(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||!En(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=hn(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 Tn(e,t,r){let n=bn(t),o=gn.join(e,wn),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 T(o,i)}function xa(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Da(e){let t=He(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 Oa(e,t,r){if(!r.settings&&!await z(st(e)))return we(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Ae(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?$e(n).settings:n,i=kt(o).active;if(!i)return we(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Kt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:we(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function Na(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 wt(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 Fa(e,t,r){let n=oe(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Mt(e),i=r.map(a=>Dt(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Nt(t,e,i);return{vectors:s.vectors,vector_dimension:Yt(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function Pa(e,t,r){return await qt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:xa(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function $a(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await Be(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${b(r)}`]}}}async function sf(e,t,r={}){let n=Ee(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await Oa(e,n,r);if(!("settings"in o))return o;let i=k(o.settings,q()),s=await Na(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 Sn(e):{entries:{},embedding:null,warnings:[]},c=Da(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Ht(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 Fa(o.settings,o.provider,s.documents);if(Gt(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=Bt(c,g.vector_dimension);let E=await Pa(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 $a(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,...bn(h)};for(let E of s.missingIds)delete g[E];try{await Tn(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 ja}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]="f22e54f3-7ade-5af3-8344-9c133b4da8b5")}catch{}})();var Ua=new Set(["1","true","yes","on"]),Ye=["user","automation","test","dogfood"],za=new Set(Ye);function Ge(e,t){return Ua.has((t[e]??"").trim().toLowerCase())}function We(e=process.env){let t=Ge("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")&&!za.has(r)&&!Ge("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||o||Ge("PM_TELEMETRY_DISABLED",e)||Ge("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 Ka=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,ff=new RegExp(`\\b(${Ka.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var mf=ja(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 yf=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 vf=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 Ba(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 In from"node:fs/promises";import Xe 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 Ha(e){return"json_markdown"}function An(e,t){return Xe.relative(e,t).replaceAll("\\","/")}function Ga(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function Ya(e,t,r="item_format:migrate",n=ot,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=Ha(t),l=Object.entries(n);for(let[u,p]of l){let _=Xe.join(e,p),h=[];try{h=await In.readdir(_)}catch{continue}let y=new Map;for(let E of h){let A=Xe.join(_,E),R=yr(A);if(!R)continue;let $=Xe.extname(E),K=E.slice(0,E.length-$.length).trim();if(K.length===0)continue;let U=y.get(K)??{};U[R]=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 R=A[d];if(!R)continue;let $=A[t]??R,K=$===A[t]?t:d;try{let U=await In.readFile($,"utf8"),tt=pt(U,{format:K,schema:o,onWarning:ei=>a.push(`item_format_migration_parse_warning:${E}:${ei}`)}),rt=at(e,u,E,t,n),_r=_t(tt,{format:t,schema:o});await I(rt)!==_r&&(await T(rt,_r),a.push(...await ve({path:rt,scope:"project",op:r})),i.add(E)),await Te(R),s.add(An(e,R)),a.push(...await ve({path:R,scope:"project",op:`${r}:remove`})),i.add(E)}catch(U){a.push(`item_format_migration_skipped:${An(e,$)}:${Ga(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 Wa=new Set(["completed","superseded"]);function Xa(e){return e!==void 0&&Wa.has(e)}function Qa(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 Qt from"node:crypto";import{mkdirSync as Xf,rmSync as ec,statSync as Qf}from"node:fs";import{mkdir as Wt,readdir as tc,rm as Jt,stat as xn}from"node:fs/promises";import{request as rc}from"node:http";import{request as nc}from"node:https";import L 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]="84b967fb-8de8-5e2f-b482-2328ef284acd")}catch{}})();var oc=L.join("runtime","telemetry","events.jsonl"),ic=L.join("runtime","telemetry","state.json"),sc=L.join("runtime","telemetry","otel-spans.jsonl"),ac=8,Cn=500,cc=1;var dc=100,lc=36e5,uc=3e4,Ln=2e4,fc=1e3,mc=25e3,pc=864e5,Dn=65536;var On=15;var Nn=[25,50,100,200],_c=3600*1e3,yc=6e4;var hc="PM_TELEMETRY_HTTP_TIMEOUT_MS",gc=globalThis.fetch,fm=Promise.resolve(),Rn=Promise.resolve();var mm=new Set(Ye);var pm=Qt.randomUUID();var Fn="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",wc=new RegExp(`\\b(${Fn})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),Ec=new RegExp(`(--${Fn})(=|\\s+)([^\\s,;]+)`,"giu"),bc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Sc=/bearer\s+[a-z0-9._=-]+/giu,Tc=/\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 Je(e){return L.join(e,oc)}function Zt(e){return L.join(e,sc)}function vc(e){return L.dirname(Je(e))}function Pn(e){return L.join(e,ic)}function $n(e){return L.join(e,"runtime","telemetry","flush.lock")}function Ic(e){return L.join(e,"runtime","telemetry","flush.spawn.lock")}async function Ac(e){let t=await I(Pn(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 Ac(e),...t},o=Object.fromEntries(Object.entries(n).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await T(Pn(e),`${JSON.stringify(o,null,2)}
13
+ `)}catch{}}function Un(e){return e.replaceAll(wc,(r,n,o)=>`${n}${o}[redacted]`).replaceAll(Ec,(r,n,o)=>`${n}${o}[redacted]`)}function zn(e){return e.replaceAll(bc,(t,r)=>`${r}[redacted_path]`)}function Vn(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function jn(e){if(!e)return!1;let t=e.charCodeAt(0);return Vn(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function Kn(e){if(!e)return!1;let t=e.charCodeAt(0);return Vn(t)?!0:e==="."||e==="-"}function Cc(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(!jn(i))return!1;for(let i of n)if(!Kn(i))return!1;return!0}function Lc(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&&jn(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&Kn(e[i]);)i+=1;let s=e.slice(o,i);if(Cc(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function qn(e){return Lc(e).replaceAll(Sc,"bearer [redacted_token]").replaceAll(Tc,"[redacted_ip]")}function Rc(e){let t=qn(e),r=Un(t),n=zn(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function kc(e){let t=qn(e),r=Un(t),n=zn(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function Xt(e,t="redacted"){return t==="max"?kc(e):Rc(e)}function kn(){let e=process.env[hc]?.trim();if(!e)return Ln;let t=Number(e);return Number.isFinite(t)?Math.min(mc,Math.max(fc,Math.trunc(t))):Ln}async function Bn(e,t,r){let n=new URL(e);if(globalThis.fetch!==gc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},kn())});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:"?nc:n.protocol==="http:"?rc:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=kn(),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 Mc(e){let t=await v(e),r=!1;return t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=Qt.randomUUID(),r=!0),r&&await Ce(e,t,"telemetry:install_id"),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days))}}function Hn(e){let t=[];for(let r of e.split(`
14
+ `)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&o.event&&typeof o.event=="object"&&typeof o.attempts=="number"&&(o.client_schema_version===void 0||typeof o.client_schema_version=="number"&&Number.isFinite(o.client_schema_version))&&t.push(o)}catch{}}return t}function Gn(e){let t=Math.min(uc*2**Math.max(e-1,0),lc);return new Date(Date.now()+t).toISOString()}function Yn(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 xc(e){return Yn(e.next_attempt_after)}function Wn(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*pc}function Dc(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 er(e,t){let r=Wn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Dn||Dc(i,r)||i.attempts>=On){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function Qe(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
15
+ `),n=r.length>0?`${r}
16
+ `:"";for(let o=0;;o+=1)try{await T(Je(e),n);return}catch(i){let s=Nn[o];if(s===void 0||!Xn(i))throw i;await Qn(s)}}function Xn(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Qn(e){return new Promise(t=>{setTimeout(t,e)})}function Oc(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Qt.createHash("sha256").update(t).digest("hex").slice(0,32)}function Jn(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=Oc(o)),t.push(o))}catch{}}return t}function Nc(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 Zn(e,t){let r=Wn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Dn||Nc(i,r)||i.attempts>=On){o+=1;continue}n.push(i)}if(n.length>Cn){let i=n.length-Cn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function Fc(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
18
+ `),n=r.length>0?`${r}
19
+ `:"";for(let o=0;;o+=1)try{await T(Zt(e),n);return}catch(i){let s=Nn[o];if(s===void 0||!Xn(i))throw i;await Qn(s)}}async function Mn(e,t,r,n){return tr(async()=>{let o=await I(Zt(e)),i=o===null?[]:Jn(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}=Zn(s,t);return await Fc(e,a),a.length})}async function Pc(e,t){let r=await I(Zt(e));if(r===null||r.trim().length===0){await N(e,{pending_otel_spans:0});return}let n=Jn(r),{entries:o,prunedCount:i}=Zn(n,t),s=o.filter(h=>Yn(h.next_attempt_after)).slice(0,ac);if(s.length===0){let h=i>0?await Mn(e,t,new Set,new Map):o.length;await N(e,{pending_otel_spans:h});return}let a=M(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async h=>{try{let y=await Bn(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?Xt(y.message,"redacted"):"local_otel_export_failed";let g=h.attempts+1;d.set(h.id,{attempts:g,next_attempt_after:Gn(g)})}}));let p=await Mn(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 $c(e,t,r){try{await jc(e,t,r)}catch{}try{await Pc(e,r)}catch{}}async function Uc(e,t=_c){try{let r=vc(e),n=await tc(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=L.join(r,i.name);(await xn(s)).mtimeMs<o&&await Jt(s,{force:!0})}))}catch{}}async function tr(e){let t=Rn.catch(()=>{}).then(e);return Rn=t.catch(()=>{}),t}async function rr(e){let t=await I(Je(e));return t===null||t.trim().length===0?[]:Hn(t)}async function zc(e,t,r){return tr(async()=>{let n=await rr(e),{entries:o}=er(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await Qe(e,i),i})}async function Vc(e,t,r,n){return tr(async()=>{let o=await rr(e),{entries:i}=er(o,n),s=i.map(a=>{if(!t.has(a.event.event_id))return a;let c=a.attempts+1;return{...a,attempts:c,last_attempt_at:r,next_attempt_after:Gn(c)}});return await Qe(e,s),s})}async function jc(e,t,r){await Uc(e);let n=t.trim();if(n.length===0)return;let o=await I(Je(e));if(o===null||o.trim().length===0){await N(e,{endpoint:n,queue_entries:0});return}let i=Hn(o);if(i.length===0){await N(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=er(i,r);if(s.length===0){await Qe(e,[]),await N(e,{endpoint:n,queue_entries:0});return}let c=s.filter(_=>xc(_)).slice(0,dc);if(c.length===0){a>0&&await Qe(e,s),await N(e,{endpoint:n,queue_entries:s.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 Bn(n,u,JSON.stringify({schema_version:cc,events:c.map(h=>h.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let h=await Vc(e,d,l,r),y=_ instanceof Error?Xt(_.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 zc(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?Xt(_.message,"redacted"):"telemetry_flush_failed",y=await rr(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 Kc(e){let t=$n(e);await Wt(L.dirname(t),{recursive:!0});try{return await Wt(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await xn(t);return Date.now()-r.mtimeMs<yc?!1:(await Jt(t,{recursive:!0,force:!0}),await Wt(t),!0)}catch{return!1}}function qc(e){try{ec(e,{recursive:!0,force:!0})}catch{}}function Bc(e){qc(Ic(e))}async function Hc(e,t,r){let n=await Kc(e);if(Bc(e),!!n)try{await $c(e,t,r)}finally{try{await Jt($n(e),{recursive:!0,force:!0})}catch{}}}async function _m(e=it(process.cwd())){if(!We().telemetry_disabled)try{if(!(await v(e)).telemetry.enabled)return;let{endpoint:r,retentionDays:n}=await Mc(e);await Hc(e,r,n)}catch{}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="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 Ze(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 eo(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 Ih(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 nr(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 be(e,t){let r=nr(e,t);return r===void 0?void 0:new Set(r)}function to(e,t,r="--type"){let n=nr(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 ro(e,t="--priority"){let r=nr(e,{label:t});if(r!==void 0)return new Set(r.map(n=>eo(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 no(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function ao(e){return{isTerminal(t){return e.terminal_statuses.has(no(t,e))},classify(t){let r=no(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 or(e){return S(e.acceptance_criteria)===void 0}function ir(e){return!Number.isFinite(e.estimated_minutes)}function co(e,t){return t.isTerminal(e.status)?S(e.resolution)===void 0:!1}function Yc(e){return S(e.reviewer)===void 0}function Wc(e){return S(e.risk)===void 0}function Xc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):S(e.confidence)===void 0}function Qc(e){return S(e.sprint)===void 0}function Jc(e){return S(e.release)===void 0}function sr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Zc(e,t,r){return[[t.acMissing,or(e)],[t.estimatesMissing,ir(e)],[t.resolutionMissing,co(e,r)],[t.reviewerMissing,Yc(e)],[t.riskMissing,Wc(e)],[t.confidenceMissing,Xc(e)],[t.sprintMissing,Qc(e)],[t.releaseMissing,Jc(e)]].every(([o,i])=>o!==!0||i)}function ed(e,t){return or(e)||ir(e)||co(e,t)}function lo(e,t,r){return sr(t)?!(!Zc(e,t,r)||t.metadataMissing&&!ed(e,r)):!0}var ar=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function td(e,t){switch(t){case"acceptance_criteria":return!or(e);case"estimated_minutes":return!ir(e);case"resolution":return S(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return S(e.parent)!==void 0}}function rd(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function nd(e,t){return t===0?100:Math.round(e/t*1e3)/10}function oo(){let e={};for(let t of ar)e[t]={present:0,applicable:0,percent:100};return e}function io(e,t,r){for(let n of ar){if(!rd(t,n,r))continue;let o=e[n];o.applicable+=1,td(t,n)&&(o.present+=1)}}function so(e){for(let t of ar){let r=e[t];r.percent=nd(r.present,r.applicable)}}function zh(e,t){let r=oo(),n={};for(let o of e){io(r,o,t);let i=n[o.type]??(n[o.type]=oo());io(i,o,t)}so(r);for(let o of Object.values(n))so(o);return{overall:r,by_type:n}}var od={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function id(e){return od[e]}function sd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function ad(e,t,r){switch(t){case"assignee":return[S(e.assignee)??null];case"parent":return[S(e.parent)??null];case"type":return[S(e.type)??null];case"status":return[S(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 Vh(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 ad(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??id(t),key:d,buckets:sd(),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 cd(e){return typeof e=="string"&&e.trim().length>0}function dd(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 fo(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 cd(e.body);case"linked_command":return dd(e.tests)}}function mo(e){return se.some(t=>e[t]!==void 0)}function po(e,t){for(let r of se){let n=t[r];if(n===void 0)continue;let o=fo(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function _o(e){return se.some(t=>t!=="body"&&e[t]!==void 0)}function yo(e){return e.body!==void 0}function uo(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ld(){let e={};for(let t of se)e[t]={present:0,total:0,percent:100};return e}function Kh(e){let t=ld(),r=e.length;for(let s of e)for(let a of se)fo(s,a)&&(t[a].present+=1);for(let s of se)t[s].total=r,t[s].percent=uo(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:uo(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 So=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}),ho=[{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"}],dr=e=>{let t=ho.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(ho.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},go=["priority","deadline","updated_at","created_at","title","parent"],wo=["asc","desc"],To=new Set(Lr);function ud(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 fd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var md=[{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"}],pd=[{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 vo(e,t){for(let r of md)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Io(e,t){for(let r of pd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function _d(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 Ao(e){let t={};return vo(t,e),t}function Co(e){let t={};return Io(t,e),t}var yd=[{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"}],hd=[{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"}],gd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],wd="-7d";function Lo(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"),_d(c,r,yd),ko(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),Io(c,r),vo(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),fd(a)&&(c.runtime_filters=a),c}function lr(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 Ed(e,t){return[...e].sort((r,n)=>lr(r,n,t))}function Eo(e,t){if(e!==void 0)return Ie(e,new Date,t)}function Se(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return Ie(r,new Date,t)}function Ro(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(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?Se(wd,"recent"):Se(e.updatedAfter,"updated-after")}function ko(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Mo(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 ur(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 xo(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 Do(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=xo(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:[...ft]}:r?{mode:"compact",fields:[...ut]}: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 bd(e,t,r){if(e.mode!=="fields")return;let n=mt(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 Sd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function Oo(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Sd.get(t);if(r)return r;if(!go.includes(t))throw new m(`Sort field must be one of ${go.join("|")} (aliases: updated->updated_at, created->created_at)`,f.USAGE);return t}function No(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!wo.includes(t))throw new m(`Sort order must be one of ${wo.join("|")}`,f.USAGE);return t}function Td(e){return Ze(e,"--tree-depth")}function Fo(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 bo(e,t){return Ct(e,t,{strict:!0})}function Po(e){return be(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function vd(e,t,r){let n=Po(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 Id(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 Ad(e,t,r,n){let o=be(t.assignee,{label:"--assignee"}),i=Fo(t.assigneeFilter);Id(o,i);let s=So(t),a=dr(t);return{idsFilter:Mo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:to(t.type,r),tagFilters:Po(t.tag),priorityFilter:ro(t.priority),deadlineBefore:Eo(t.deadlineBefore,"deadline-before"),deadlineAfter:Eo(t.deadlineAfter,"deadline-after"),updatedAfter:Ro(t),updatedBefore:Se(t.updatedBefore,"updated-before"),createdAfter:Se(t.createdAfter,"created-after"),createdBefore:Se(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:be(t.sprint,{label:"--sprint"}),releaseFilter:be(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:sr(s),lifecycleClassifier:ao(n),contentFieldFilters:a,contentFiltersActive:mo(a)}}function Cd(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 Ld(e,t){return Tr(e,t)}function Rd(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 kd(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 Md(e,t,r,n,o){return!(!Cd(e,t,r)||!Ld(e,t)||!Rd(e,t)||!kd(e,t,o)||t.missingMetadataActive&&!lo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!po(e,t.contentFieldFilters)||!Rt(e,n))}function $o(e,t,r,n,o,i,s){let a=Ad(t,r,n,o);return e.filter(c=>Md(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 cr(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 xd(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 Dd(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 Uo(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=xd(e,n),a=Dd(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(cr(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(cr(p,0,s.get(_)?.length??0)))}return c}function zo(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function Vo(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function jo(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return Vo(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 zo(e.parent??null,t.parent??null);default:return 0}}function Ko(e,t,r,n){return t?[...e].sort((o,i)=>{let s=jo(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=lr(o,i,n);return r==="desc"?-a:a}):Ed(e,n)}function qo(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 fr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=qo(n,i,r);return o})}function Bo(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function Ho(e,t){if(e.noTruncate!==!0)return Ze(e.limit)??(t>=1e4?20:void 0)}function Od(e,t,r){return t.after===void 0?ur(t.offset)??0:Sr(e,t.after,r,n=>n.id)}function Go(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function Nd(e,t){let r=F(process.cwd(),t.path);await Re(r);let n=await v(r),o=ee(n.schema),i=dt(n.schema),s=e.projectionCommand??"list",a=Do(e,s);return bd(a,Bo(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Lt(e,i,"list"),typeRegistry:k(n,q()),projection:a}}async function Fd(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>To.has(j(c))),i=dr(e),s=_o(i),a=yo(i);return e.includeBody||n||a?await Rr(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 Pd(e){let t=Oo(e.sort),r=No(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?Td(e.treeDepth):void 0,parentRoot:n?ae(e.parent):void 0}}function $d(e,t,r){let n=bo(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??bo(e,r),s=Zr(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 Ud(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=Ho(t,e.length),s=Od(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=fr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?lt(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Go(i,l,u)}}function Yo(e,t,r){return br("list",{status:e,options:Er(t,gr),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function zd(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"||To.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,wr(),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=Ze(t.limit),l=ur(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?lt(Yo(n.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:fr(u.items,r.projection,!1),totalMatched:u.total,pageExtras:Go(d,p,_)}}function Vd(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 hd){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of gd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Co(r),Ao(r)),ko(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 wg(e,t,r){let n=await Nd(t,r),o=[],i=Pd(t),s=$d(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await zd({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let y=await Fd(t,n,o),E=i.treeEnabled||ae(t.parent)!==void 0?xr(Mr(y,kr())):void 0;vd(y,t.tag,o);let A=$o(y,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,E?.parents_by_child),R=t.dependencyBlocked===!0?(()=>{let U=Dr(y,n.statusRegistry);return A.filter(tt=>U.has(tt.id.trim().toLowerCase()))})():A,$=Ko(R,i.sortField,i.sortOrder,n.statusRegistry),K=i.treeEnabled?Uo($,i.parentRoot,i.treeDepth,E,y):$;d=Ud(K,t,n.projection,i.treeEnabled,Yo(s.filtersStatus,t,i))}let l=M(),u=[...new Set(o)].sort((y,g)=>y.localeCompare(g)),p=ud(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let y=Lo({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:Vd({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 Eg={applyFilters:$o,buildCompactListFilterSummary:Lo,buildContentFilterEcho:Ao,buildGovernanceMissingFilterEcho:Co,resolveContentFieldFilters:dr,resolveMissingMetadataFilters:So,compareBySortField:jo,compareDefaultSort:lr,compareNullableString:zo,compareNullableTimestamp:Vo,normalizeProjectionField:j,parseAssigneeFilter:Fo,parseFieldSelectors:xo,parseIdsFilter:Mo,parseOffset:ur,parseProjectionConfig:Do,resolveListUpdatedAfter:Ro,resolveListPageLimit:Ho,parseSortField:Oo,parseSortOrder:No,orderItemsAsTree:Uo,projectListItems:fr,readListFieldValue:qo,runtimeMetadataKeysForProjection:Bo,sortItems:Ko,trimNonEmpty:ae,withTreeMetadata:cr};(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 et=1e6;function mr(e,t=et,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)jd(e,l,y,r,i)}return o}function jd(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 Kd=3,Wo=20,qd=.8,Bd=100,Xo=1e3;function $g(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 Hd(e,t){let r=e.items[0],n=F(t.cwd??process.cwd(),t.pmRoot),o=ee((await v(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 pr(e){let t=e.limit??Kd,r=e.threshold??qd;if(!Number.isSafeInteger(t)||t<0||t>Wo)throw new m(`Similarity limit must be an integer from 0 to ${Wo}.`,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 Qo(e){let t=e.limit??Bd;if(!Number.isSafeInteger(t)||t<0||t>Xo)throw new m(`Duplicate cluster limit must be an integer from 0 to ${Xo}.`,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 Gd(e,t){let r=F(e.cwd??process.cwd(),e.pmRoot),n=await v(r),o=k(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 Ug={buildDuplicateClusters:Zo,collectDuplicateCandidatePairs:mr,createDuplicateUnionFind:Jo};function Jo(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 Yd(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=xe(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 Zo(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 Wd(e,t,r,n,o){return t.filter(i=>!r.has(i.id)).map(i=>({id:i.id,title:i.title,status:i.status,type:i.type,...Me(e,i.title)})).filter(i=>i.score>=n).sort((i,s)=>s.score-i.score||i.id.localeCompare(s.id)).slice(0,o)}async function Xd(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}=pr(t),i=F(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=k(s),c=await fe(i,Object.values(a.type_to_folder)),d=ye(r),l=c&&d.length>0?await gt({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=Wd(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function Qd(e,t={}){let{threshold:r}=pr({...t,limit:void 0}),{limit:n}=Qo(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=mr(i,et,r,t.exhaustive===!0),a=Jo(i.length),c=Yd(i,s,r,a),d=Zo(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:et,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function zg(e={}){pr({...e,limit:void 0});let{since:t}=Qo(e),{items:r,statuses:n}=await Gd(e,t);return{...Qd(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function Vg(e,t){if(t.mode==="off")return;let r=await Xd(e,t);if(r.count===0)return;let n=await Hd(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 ew(e){let t=F(process.cwd(),e);await Re(t);let r=await v(t),n=k(r,q());return{pmRoot:t,settings:r,typeRegistry:n}}async function tw(e,t,r,n){de(e,Le(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=Le(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 nw(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{ew as a,tw as b,wi as c,Ei as d,Si as e,Ti as f,Sl as g,vi as h,Ii as i,Al as j,Kr as k,Ai as l,Ci as m,Li as n,Ri as o,Ni as p,$i as q,Cl as r,Ui as s,Yr as t,Vi as u,ji as v,Ll as w,Ki as x,Oe as y,Rl as z,Ne as A,Bi as B,Hi as C,vt as D,Yi as E,It as F,Wi as G,ql as H,Qi as I,Xr as J,Ji as K,Zi as L,rs as M,Ql as N,is as O,Ct as P,ls as Q,Or as R,Lt as S,Rt as T,$e as U,Os as V,vu as W,kt as X,cn as Y,Mt as Z,Hs as _,Gs as $,Cu as aa,dn as ba,oe as ca,Dt as da,Nt as ea,Kt as fa,$u as ga,qt as ha,Be as ia,yn as ja,He as ka,Bt as la,Ht as ma,Gt as na,Yt as oa,Sn as pa,Tn as qa,sf as ra,Ye as sa,We as ta,si as ua,Fr as va,ci as wa,di as xa,li as ya,ol as za,sl as Aa,pe as Ba,ke as Ca,ye as Da,_e as Ea,Me as Fa,xe as Ga,Pr as Ha,_i as Ia,Ba as Ja,Ya as Ka,Xa as La,Qa as Ma,cc as Na,On as Oa,_m as Pa,Ze as Qa,eo as Ra,Ih as Sa,nw as Ta,nr as Ua,be as Va,to as Wa,ro as Xa,ao as Ya,sr as Za,lo as _a,zh as $a,Vh as ab,mo as bb,po as cb,Kh as db,So as eb,dr as fb,go as gb,wo as hb,_d as ib,Ao as jb,Co as kb,wg as lb,Eg as mb,$g as nb,Ug as ob,Xd as pb,Qd as qb,zg as rb,Vg as sb};
20
+ //# sourceMappingURL=chunk-YUXBHIUV.js.map