@unbrained/pm-cli 2026.10.15 → 2026.10.17

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 (161) hide show
  1. package/.agents/skills/pm-developer/references/COMMAND_PLAYBOOK.md +1 -1
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/AGENTS.md +1 -0
  4. package/CHANGELOG.md +20 -0
  5. package/dist/cli/extension-command-options.d.ts +3 -1
  6. package/dist/cli/extension-command-options.js +1 -1
  7. package/dist/cli/help-content.js +2 -2
  8. package/dist/cli/register-mutation.js +2 -2
  9. package/dist/cli/register-operations.js +1 -1
  10. package/dist/cli/register-structured-mutation.d.ts +0 -5
  11. package/dist/cli/register-structured-mutation.js +1 -1
  12. package/dist/cli/runtime/invocation-options.js +1 -1
  13. package/dist/cli-bundle/bundle-manifest.json +1 -1
  14. package/dist/cli-bundle/chunks/{chunk-7VHINXZP.js → chunk-3QKI3XNX.js} +2 -2
  15. package/dist/cli-bundle/chunks/chunk-4PNPDT2N.js +236 -0
  16. package/dist/cli-bundle/chunks/{chunk-WBBW3WQX.js → chunk-6ZDKKOKM.js} +28 -28
  17. package/dist/cli-bundle/chunks/{chunk-LNKLQYBG.js → chunk-B5QVGCZX.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-52EZH2QQ.js → chunk-EA2CG7UM.js} +2 -2
  19. package/dist/cli-bundle/chunks/chunk-HY7FQ7QX.js +2 -0
  20. package/dist/cli-bundle/chunks/{chunk-NC3QVGDD.js → chunk-J4LPQCET.js} +2 -2
  21. package/dist/cli-bundle/chunks/{chunk-JGKTOBVB.js → chunk-JS3B2M4D.js} +4 -4
  22. package/dist/cli-bundle/chunks/chunk-O4YBC3OM.js +30 -0
  23. package/dist/cli-bundle/chunks/{chunk-N56CAQBU.js → chunk-OZCSXX4D.js} +52 -52
  24. package/dist/cli-bundle/chunks/chunk-VMCSTFSO.js +2 -0
  25. package/dist/cli-bundle/chunks/chunk-W3KZ22DW.js +2 -0
  26. package/dist/cli-bundle/chunks/{chunk-RJ5N44WY.js → chunk-X2ONXFBP.js} +2 -2
  27. package/dist/cli-bundle/chunks/{chunk-7OEGNA4X.js → chunk-X53HM753.js} +2 -2
  28. package/dist/cli-bundle/chunks/{register-list-query-FKKFQ66D.js → register-list-query-RU3QZSAQ.js} +2 -2
  29. package/dist/cli-bundle/chunks/register-mutation-EQYMT32A.js +20 -0
  30. package/dist/cli-bundle/chunks/{register-operations-GEQ2H7PS.js → register-operations-VXBGE4XI.js} +2 -2
  31. package/dist/cli-bundle/chunks/{register-setup-PSJTQBBO.js → register-setup-UUDEGFRO.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-TYLG5VEB.js → chunk-2IOHHNRT.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/{chunk-PDYE7QDX.js → chunk-5JEFDEL3.js} +30 -30
  34. package/dist/cli-bundle/focused-chunks/{chunk-3RNUMVK4.js → chunk-AH6NX6GM.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-N6FUKTZS.js → chunk-E33QA7PK.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-4KQFMOM7.js → chunk-FTUZ3JF2.js} +5 -5
  37. package/dist/cli-bundle/focused-chunks/{chunk-5OO54BIV.js → chunk-JXR6UKFM.js} +3 -3
  38. package/dist/cli-bundle/focused-chunks/chunk-LDKX4KYJ.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/{chunk-H3P77KVU.js → chunk-MBQF6HT6.js} +2 -2
  40. package/dist/cli-bundle/focused-chunks/{chunk-5TBAVZDR.js → chunk-NZO7GOXD.js} +14 -14
  41. package/dist/cli-bundle/focused-chunks/{chunk-52I2SNKJ.js → chunk-PYC7BF6Z.js} +2 -2
  42. package/dist/cli-bundle/focused-chunks/{chunk-THYQR3ON.js → chunk-QOSVJDOO.js} +59 -59
  43. package/dist/cli-bundle/focused-chunks/{chunk-FQKPOZKS.js → chunk-RBLSY6ML.js} +2 -2
  44. package/dist/cli-bundle/focused-chunks/{chunk-Q4VNCTR2.js → chunk-RHTH5ILM.js} +2 -2
  45. package/dist/cli-bundle/focused-chunks/{chunk-5KRACGBK.js → chunk-SIGIGZCG.js} +3 -3
  46. package/dist/cli-bundle/focused-chunks/chunk-TRFVAWF2.js +26 -0
  47. package/dist/cli-bundle/focused-chunks/{chunk-KIIFVULU.js → chunk-UNTQE37U.js} +2 -2
  48. package/dist/cli-bundle/main.js +27 -27
  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 +23 -23
  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 +54 -54
  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 +7 -7
  59. package/dist/core/extensions/extension-types.d.ts +15 -0
  60. package/dist/core/extensions/extension-types.js +1 -1
  61. package/dist/core/extensions/flag-value-types.d.ts +16 -0
  62. package/dist/core/extensions/flag-value-types.js +1 -1
  63. package/dist/core/extensions/registration-contracts.js +1 -1
  64. package/dist/core/item/item-format.js +3 -3
  65. package/dist/core/output/mutation-projection.d.ts +0 -21
  66. package/dist/core/output/mutation-projection.js +1 -1
  67. package/dist/core/schema/type-workflows.d.ts +1 -1
  68. package/dist/core/schema/type-workflows.js +1 -1
  69. package/dist/core/shared/text-normalization.d.ts +2 -0
  70. package/dist/core/shared/text-normalization.js +1 -1
  71. package/dist/core/store/item-mutation-precondition.d.ts +11 -0
  72. package/dist/core/store/item-mutation-precondition.js +2 -0
  73. package/dist/core/store/item-store.js +1 -1
  74. package/dist/mcp/server.js +1 -1
  75. package/dist/mcp/tool-definitions.js +1 -1
  76. package/dist/sdk/cli-contracts/agent-output-contracts.js +1 -1
  77. package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
  78. package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
  79. package/dist/sdk/cli-contracts/registration-helpers.d.ts +1 -1
  80. package/dist/sdk/cli-contracts/registration-helpers.js +1 -1
  81. package/dist/sdk/cli-contracts/tool-schema.d.ts +2 -2
  82. package/dist/sdk/cli-contracts/tool-schema.js +1 -1
  83. package/dist/sdk/context-intent-contracts.js +1 -1
  84. package/dist/sdk/core.d.ts +2 -1
  85. package/dist/sdk/core.js +1 -1
  86. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  87. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  88. package/dist/sdk/guide-topics.js +1 -1
  89. package/dist/sdk/index.d.ts +2 -1
  90. package/dist/sdk/index.js +1 -1
  91. package/dist/sdk/item-transaction.d.ts +72 -9
  92. package/dist/sdk/item-transaction.js +1 -1
  93. package/dist/sdk/lifecycle/claim.d.ts +15 -1
  94. package/dist/sdk/lifecycle/claim.js +1 -1
  95. package/dist/sdk/lifecycle/close.d.ts +2 -8
  96. package/dist/sdk/lifecycle/close.js +1 -1
  97. package/dist/sdk/lifecycle/core-item-fields.d.ts +6 -0
  98. package/dist/sdk/lifecycle/core-item-fields.js +2 -0
  99. package/dist/sdk/lifecycle/mcp-actions.js +1 -1
  100. package/dist/sdk/lifecycle/mutation-option-validation.d.ts +2 -0
  101. package/dist/sdk/lifecycle/mutation-option-validation.js +2 -0
  102. package/dist/sdk/lifecycle/release-handoff.d.ts +12 -0
  103. package/dist/sdk/lifecycle/release-handoff.js +2 -0
  104. package/dist/sdk/lifecycle/structured-mutation-plan.d.ts +33 -0
  105. package/dist/sdk/lifecycle/structured-mutation-plan.js +2 -0
  106. package/dist/sdk/lifecycle/task-composition.d.ts +2 -2
  107. package/dist/sdk/lifecycle/task-composition.js +1 -1
  108. package/dist/sdk/lifecycle/update.d.ts +3 -11
  109. package/dist/sdk/lifecycle/update.js +1 -1
  110. package/dist/sdk/lifecycle/workflow-transition.d.ts +13 -0
  111. package/dist/sdk/lifecycle/workflow-transition.js +2 -0
  112. package/dist/sdk/lifecycle-policy.d.ts +12 -2
  113. package/dist/sdk/lifecycle-policy.js +1 -1
  114. package/dist/sdk/public-surface.json +1 -1
  115. package/dist/sdk/read-output-budget.js +1 -1
  116. package/dist/sdk/runtime-input.js +1 -1
  117. package/dist/sdk/runtime-primitives.d.ts +1 -1
  118. package/dist/sdk/runtime-primitives.js +1 -1
  119. package/dist/sdk/runtime.d.ts +8 -8
  120. package/dist/sdk/runtime.js +1 -1
  121. package/dist/sdk/structured-mutations.d.ts +52 -1
  122. package/dist/sdk/structured-mutations.js +1 -1
  123. package/dist/sdk/workspace-transaction.js +2 -2
  124. package/docs/AGENT_GUIDE.md +33 -4
  125. package/docs/CLOSE_EVIDENCE_RECOVERY.md +16 -7
  126. package/docs/COMMANDS.md +85 -10
  127. package/docs/ECOSYSTEM_PLANNING_REVIEW.md +5 -1
  128. package/docs/EXTENSIONS.md +1 -1
  129. package/docs/SDK.md +114 -2
  130. package/docs/TESTING.md +15 -0
  131. package/docs/generated/FLAG_LEXICON_BUDGETS.md +1 -1
  132. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +16 -3
  133. package/marketplace.json +1 -1
  134. package/package.json +2 -1
  135. package/packages/pm-beads/package.json +1 -1
  136. package/packages/pm-calendar/package.json +1 -1
  137. package/packages/pm-command-kit/package.json +1 -1
  138. package/packages/pm-digital-twin/package.json +1 -1
  139. package/packages/pm-governance-audit/package.json +1 -1
  140. package/packages/pm-guide-shell/package.json +1 -1
  141. package/packages/pm-kanban/package.json +1 -1
  142. package/packages/pm-lifecycle-hooks/package.json +1 -1
  143. package/packages/pm-linked-test-adapters/package.json +1 -1
  144. package/packages/pm-search-advanced/package.json +1 -1
  145. package/packages/pm-templates/package.json +1 -1
  146. package/packages/pm-todos/package.json +1 -1
  147. package/packages/pm-vcs/package.json +1 -1
  148. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  149. package/plugins/pm-claude/package.json +1 -1
  150. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  151. package/plugins/pm-codex/package.json +1 -1
  152. package/plugins/pm-codex/plugin.json +1 -1
  153. package/runtime-dependencies.json +1 -1
  154. package/dist/cli-bundle/chunks/chunk-EMEEHV2Y.js +0 -2
  155. package/dist/cli-bundle/chunks/chunk-JSUJWIHQ.js +0 -30
  156. package/dist/cli-bundle/chunks/chunk-VIMQCFCK.js +0 -2
  157. package/dist/cli-bundle/chunks/chunk-X2H6UR26.js +0 -236
  158. package/dist/cli-bundle/chunks/register-mutation-EWMMVZJB.js +0 -20
  159. package/dist/cli-bundle/focused-chunks/chunk-HTA3TNC3.js +0 -26
  160. package/dist/cli-bundle/focused-chunks/chunk-JKBH7YGX.js +0 -2
  161. package/docs/ecosystem-review-2026-09-28.json +0 -1
@@ -1,20 +1,20 @@
1
- import{a as bt,b as wt,d as Et}from"./chunk-KIIFVULU.js";import{t as kr}from"./chunk-H3P77KVU.js";import{$ as St,Ab as ge,Ba as It,Ea as Kr,Eb as ie,Fa as At,Fb as he,Gb as kt,H as Ur,Ib as Lt,J as zr,Jb as se,K as Vr,Kb as Jr,Sa as Hr,Ta as Ct,U as _e,Ua as Br,W as K,Wb as Zr,Ya as Fe,Za as v,_ as Ne,_a as Pe,ac as en,bc as tn,ca as ye,db as $e,eb as oe,ec as rn,gb as Gr,hb as Yr,jb as Wr,kb as Xr,qa as Tt,ra as jr,sa as vt,ub as Rt,wb as xt,xa as qr,yb as Qr}from"./chunk-PDYE7QDX.js";import{f as Lr,n as re,p as gt}from"./chunk-3RNUMVK4.js";import{$ as m,Ba as Le,Fa as b,Ga as T,Gc as Mr,Ha as ue,Ia as te,Ja as E,La as Cr,Pc as P,Qd as Nr,Rd as Fr,Sc as Me,Sd as ht,V as ft,Vc as Dr,Wa as A,Wd as Pr,Xa as me,_d as M,aa as f,ab as x,cb as fe,ce as ne,db as pt,de as $r,eb as _t,ee as De,fb as Rr,gb as pe,gd as Or,he as Oe,i as mt,kb as yt,nb as xr,ta as z,va as ee,wa as S,za as I}from"./chunk-HTA3TNC3.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]="b84fee06-5bbd-57f9-9643-f283d6c87afa")}catch{}})();function nn(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new f(`${t} must be a non-negative number`,m.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]="9b58b44d-819c-5115-b011-f9dfa8e2ab41")}catch{}})();var Ci=3e4,be=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function H(e,t,r=Ci){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 B(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 Ri(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(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: ${E(o)}`)}if(!n.ok){let o=await Ri(n),i=o.length>0?`: ${o}`:"";throw new be(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`,n.status)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${E(o)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8e3bb919-c8f9-50b5-8e41-b6719d17bd21")}catch{}})();function Rl(e,t){let r=b(e);if(!r)return"unconfigured";let n=b(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function xi(e){let t=ue(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 b(t)||null}function ki(e){let t=b(e.providers?.openai?.base_url),r=b(e.providers?.openai?.model);if(!t||!r)return null;let n=sn(e),o=b(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Li(e){let t=b(e.providers?.ollama?.base_url),r=b(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 Mi(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 Di(e){let t=e.map((r,n)=>({embedding:r.embedding,index:r.index,position:n}));if(t.some(r=>r.index!==void 0)){for(let r of t)if(!Number.isInteger(r.index))throw new TypeError(`OpenAI embedding response entry at position ${r.position} is missing a valid integer index`);return[...t].sort((r,n)=>{let o=r.index-n.index;return o!==0?o:r.position-n.position})}return t}function Mt(e){let t=ki(e),r=Li(e),n=[t,r].filter(s=>s!==null),o=b(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?n.find(s=>s.name===i):void 0)??n[0]??null,available:n}}function on(e){let t=ue(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:xi(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Oi(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 Ni(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 Di(o).map((i,s)=>{let a=i.embedding;if(!te(a))throw new Error(`OpenAI embedding response entry at index ${s} is missing a numeric embedding vector`);return[...a]})}let r=t.embedding;if(te(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!te(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=H(r.timeout_ms,"Embedding request"),o=B(r.fetcher,"Embedding request"),i=an(t),s=Mi(i),a=Oi(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=Ni(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]="5c86afdf-6d8d-5851-82c1-ae5bcc9f0196")}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 Dt(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 Fi=8e3,Pi=3200,G="...[semantic corpus truncated]",$i="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 Ui(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function zi(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 Vi(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 ji(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 Ll(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??[])Vi(t,r);return ji(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function qi(e){let t=(e.plan_steps??[]).map(i=>O([i.order,i.id,i.title,i.body,i.status,i.owner,i.evidence,i.blocked_reason,i.superseded_by,(i.linked_items??[]).map(s=>O([s.kind,s.id,s.note])).join(" "),(i.files??[]).map(s=>O([s.path,s.note])).join(" "),(i.tests??[]).map(s=>O([s.command,s.path,s.note])).join(" "),(i.docs??[]).map(s=>O([s.path,s.note])).join(" ")])),r=(e.plan_decisions??[]).map(i=>O([i.decision,i.rationale,i.evidence,i.step_id])),n=(e.plan_discoveries??[]).map(i=>O([i.text,i.step_id])),o=(e.plan_validation??[]).map(i=>O([i.text,i.command,i.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...o].some(i=>i!==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 Ki={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=>Ui(e.metadata),events:e=>zi(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>qi(e.metadata)};function dn(e,t={}){let r=t.fields??ze,n={};for(let o of r){let i=Ki[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Hi(e){return e?.trim().toLowerCase()==="ollama"?Pi:Fi}function ae(e,t){let r=Hi(e),n=Cr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:$i}}function Ot(e,t={}){let r=JSON.stringify(dn(e,{fields:t.fields})),n=ae(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=G.length)return G.slice(0,n);let o=Math.max(0,n-G.length);return`${r.slice(0,o)}${G}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="67bae1a1-19d1-50ea-816f-4b68e6bb69d9")}catch{}})();function Bi(e,t,r){let n=e.search.embedding_batch_size,o=e.search.embedding_timeout_ms,i=e.search.scanner_max_batch_retries,s=Number.isFinite(n)&&n>0?Math.max(1,Math.floor(n)):1,a=Number.isFinite(o)&&o>0?Math.max(1,Math.floor(o)):3e4,c=Number.isFinite(i)&&i>=0?Math.floor(i):0;return{batchSize:s,timeoutMs:a,maxRetries:c,maxRequestBytes:r,maxInputCharacters:t}}function Gi(e,t,r,n){let o=[],i=[],s=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),a=s;for(let c of t){let d=Buffer.byteLength(JSON.stringify(c.trim()));if(s+d>n)throw new RangeError(`Embedding input exceeds request byte ceiling ${n}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let l=i.length>0?1:0;(i.length>=r||a+l+d>n)&&(o.push(i),i=[],a=s),a+=d+(i.length>0?1:0),i.push(c)}return o.push(i),o}function Yi(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-G.length);return`${e.slice(0,r)}${G}`.slice(0,t)}function ln(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Wi(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return 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})`}function Xi(e){return e instanceof be?e.status===413?"payload_too_large":null:ln(e)?"timeout":null}async function Nt(e,t,r,n,o,i,s){let a=null;for(let c=0;c<=o;c+=1)try{s.requests+=1;let d=await cn(e,t,{timeout_ms:n});return c>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${c+1}:size=${t.length}`),s.successful_batches+=1,s.batch_size_histogram[t.length]=(s.batch_size_histogram[t.length]??0)+1,d}catch(d){a=d;let l=Xi(d);if(l!==null&&t.length>1){s.split_batches+=1;let u=Math.ceil(t.length/2),p=t.slice(0,u),_=t.slice(u);return i.push(`search_embedding_batch_split_after_${l}:batch=${r}:size=${t.length}:parts=${p.length}|${_.length}`),[...await Nt(e,p,`${r}.1`,n,o,i,s),...await Nt(e,_,`${r}.2`,n,o,i,s)]}if(c<o){s.retries+=1;let u=Math.min(1e3*2**c,8e3);await new Promise(p=>setTimeout(p,u))}}throw new Error(Wi(e,r,t.length,n,o+1,a))}async function Ft(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=performance.now(),i=n.maxRequestBytes??262144;if(!Number.isSafeInteger(i)||i<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let s={provider:e.name,model:e.model,max_request_bytes:i,limit_source:n.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},a=[],c=ae(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let d=Bi(t,c.maxCharacters,i),l=0,u=r.map(y=>{if(y.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let h=Yi(y,d.maxInputCharacters);return h.length<y.length&&(l+=1),h});l>0&&a.push(`search_embedding_input_truncated:count=${l}:max_characters=${d.maxInputCharacters}`);let p=Gi(e,u,d.batchSize,d.maxRequestBytes);s.planned_batches=p.length;let _=[],g=0;for(let y=0;y<p.length;y+=1){let h=p[y];n.onProgress?.({batch_index:y+1,batch_total:p.length,batch_size:h.length,completed_inputs:g,total_inputs:u.length,phase:"start"}),_.push(...await Nt(e,h,String(y+1),d.timeoutMs,d.maxRetries,a,s)),g+=h.length,n.onProgress?.({batch_index:y+1,batch_total:p.length,batch_size:h.length,completed_inputs:g,total_inputs:u.length,phase:"complete"})}return s.elapsed_ms=Math.max(1,performance.now()-o),s.inputs_per_second=r.length*1e3/s.elapsed_ms,{vectors:_,warnings:a,receipt:s}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4835aae2-a525-5683-abc0-0ba3c5781c95")}catch{}})();var un=[{name:"private-key",mutationRule:"private_key",regex:/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/g},{name:"github-token",mutationRule:"github_token",regex:/\b(?:gh[opsru]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/g},{name:"npm-token",mutationRule:"npm_token",regex:/\bnpm_[A-Za-z0-9]{20,}\b/g},{name:"aws-access-key",mutationRule:"aws_access_key",regex:/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g},{name:"google-api-key",mutationRule:"google_api_key",regex:/\bAIza[0-9A-Za-z_-]{35}\b/g},{name:"slack-token",mutationRule:"slack_token",regex:/\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g},{name:"anthropic-api-key",mutationRule:"anthropic_api_key",regex:/\bsk-ant-[A-Za-z0-9_-]{20,}\b/g},{name:"openai-api-key",mutationRule:"openai_api_key",regex:/\bsk-(?!ant-)[A-Za-z0-9_-]{20,}\b/g},{name:"gitlab-token",mutationRule:"gitlab_token",regex:/\bglpat-[A-Za-z0-9_.-]{20,}\b/g},{name:"jwt-like-token",mutationRule:"jwt_like_token",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g},{name:"npm-auth-token-assignment",mutationRule:"npm_auth_token_assignment",regex:/_authToken\s*=\s*\S+/g},{name:"sentry-user-token",mutationRule:"sentry_user_token",regex:/\bsntryu_[A-Za-z0-9]{20,}\b/g},{name:"sentry-org-token",mutationRule:"sentry_org_token",regex:/\bsntrys_[A-Za-z0-9_-]{20,}\b/g},{name:"private-ip",mutationRule:"private_ip",regex:/\b(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"private-ssh-target",mutationRule:"private_ssh_target",regex:/\b(?:ssh|scp|rsync)\s+[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"sshpass-inline-password",mutationRule:"sshpass_inline_password",regex:/\bsshpass\s+-p\s+["'][^"']{6,}["']/g},{name:"password-assignment",mutationRule:"password_assignment",regex:/\b(?:password|passphrase)\s*[:=]\s*(?:(?!<|\$\{|\$\(|config\.auth\.password\s*(?:\|\|\s*(?:''|"")|\?\s*unescape\(encodeURIComponent\(config\.auth\.password\)\)\s*:\s*(?:''|""))(?=[ \t]*(?:\/\*(?:[^*]|\*(?!\/))*\*\/[ \t]*)*(?:;|$|\/\/[^\r\n\u2028\u2029]*(?:\r\n)?$)))[A-Za-z0-9!@#$%^&*._+\-=]{8,}|"(?!<|\$\{|\$\()[^"]{8,}"|'(?!<|\$\{|\$\()[^']{8,}')/gi},{name:"absolute-home-path",mutationRule:"absolute_home_path",regex:/(?:^|[\s"'`(=])\/home\/[A-Za-z0-9._-]+\/[^\s"'`),;]+/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"user-at-private-host",mutationRule:"user_at_private_host",regex:/\b[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"high-entropy-assignment",mutationRule:"high_entropy_assignment",regex:/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,mutationOnlyReason:"Generic assignments in source code are not credentials; preserve the existing mutation heuristic without treating source identifiers as secrets.",minimumEntropy:3.5}];function mn(e,t){if(e.minimumEntropy===void 0)return!0;let r=t[1],n=new Map;for(let i of r)n.set(i,(n.get(i)??0)+1);let o=0;for(let i of n.values()){let s=i/r.length;o-=s*Math.log2(s)}return o>=e.minimumEntropy}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75bf20f-d341-5fa2-943d-db02211ca80d")}catch{}})();var Qi=[{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"}],$t=new Map(Qi.map(e=>[e.action,e]));function Pt(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)=>Pt(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>Pt(o,`${t}.${n}`,r)))}function fn(e){let t=[];for(let r of Pt(e))for(let n of un){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(mn(n,o)){t.push({rule:n.mutationRule,path:r.path});break}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function Ji(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new f("Mutation author is required by workspace policy.",m.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=fn(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(r.length===0)return{author:t,findings:r,warnings:[],override_applied:!1};let n=[...new Set(r.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new f(`Mutation blocked by secret guard (${n}). No detected value was logged.`,m.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 Zi(e){return $t.has(e.trim().toLowerCase())}function es(){return[...$t.keys()].sort((e,t)=>e.localeCompare(t))}function jl(e){return $t.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]="6c555c2c-9db2-5c9f-9d69-3456fe8bffaa")}catch{}})();function ts(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Kl(e){return ts(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function we(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]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();var rs=/\b([a-z][a-z0-9]*)-(\d+)(?:-[a-z0-9]+)*\b/giu,ns=/^(?:utf|iso|sha|tls|http|covid|match)$/iu;function Ve(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Se(e){return[...new Set(Ve(e).match(/[\p{L}\p{N}]+/gu)??[])]}function Ee(e){let t=Ve(e);return{normalized:t,tokens:Se(t),issueCodes:[...new Set([...e.matchAll(rs)].filter(r=>{let n=r[1],o=r.index,i=e.slice(o+r[0].length);return!ns.test(n)&&(n===n.toUpperCase()||n.length<=2||o===0&&/^\s*(?::|—|–|\])/u.test(i))}).map(r=>r[0].toLowerCase()))]}}function je(e,t){return qe(Ee(e),Ee(t))}function qe(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:we(e.tokens,t.tokens),reason:"title_token_jaccard"}}import os 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]="a7cd1d62-16fe-5e5b-b382-64335fc5e403")}catch{}})();function Ke(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function is(e,t){return[e.updated_at,t].map(r=>({value:r,time:Date.parse(r??"")})).filter(r=>typeof r.value=="string"&&Number.isFinite(r.time)).sort((r,n)=>n.time-r.time)[0]?.value??e.updated_at}function pn(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=Ke(t.in_progress_status),i=[];for(let s of e){if(Ke(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=is(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 ss(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Ke(String(o.status))===Ke(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ye(os.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)})),pn(t,{...r,last_history_activity:o=>n.get(o.id)})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42b217a3-31c0-561a-b7cb-b1a584b2edd5")}catch{}})();var as=new Set(["rename-type","rename-field","remap-status",...xr]);function cs(e,t){if(t&&!as.has(e))throw new f(`schema ${e} does not support --dry-run. Preview is supported for rename-type, rename-field, remap-status and workflow-policy actions. Remove --dry-run only when you intend to apply changes.`,m.USAGE,{code:"invalid_argument_value",examples:["pm schema rename-type Spike --to Experiment --dry-run"]})}import{readFile as ds}from"node:fs/promises";import _n 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]="da661b46-841c-526d-88bc-976e007e8fbe")}catch{}})();function ls(e){let t=e.trim();if(!t)throw new f("--rollback requires a non-empty checkpoint ID",m.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new f("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",m.USAGE);return t}function us(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function ms(e,t){return _n.join(e,"checkpoints",t)}function yn(e,t,r){return _n.join(ms(e,t),`${r}.json`)}async function fs(e,t,r,n){let o=yn(e,t,r),i=`${JSON.stringify(n,null,2)}
2
- `;if(!await Lr(o,i)&&await S(o)!==i)throw new f(`Checkpoint ${r} already exists with different contents; use a new checkpoint ID.`,m.CONFLICT);return o}function ps(e,t){if(!Array.isArray(e.items))throw new f(`Checkpoint ${t} is missing items`,m.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new f(`Checkpoint ${t} contains an invalid item entry`,m.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without ID`,m.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without target_updated_at`,m.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function _s(e,t,r,n){let o=ls(r),i=yn(e,t,o);if(!await z(i))throw new f(`Checkpoint ${o} not found`,m.NOT_FOUND);let s=await ds(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new f(`Checkpoint ${o} contains invalid JSON: ${E(l)}`,m.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new f(`Checkpoint ${o} is invalid`,m.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new f(`Checkpoint ${o} has unsupported schema version`,m.GENERIC_FAILURE);let d=ps(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 ys(e,t){let r=[],n=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);r.push({id:o.id,status:"restored",changed_fields:i.changed_fields,warnings:i.warnings}),n.push(o.id)}catch(i){r.push({id:o.id,status:"failed",error:E(i)})}return{rows:r,restored_ids:n,failed_count:r.filter(o=>o.status==="failed").length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb883ffc-c431-5bf9-a973-931a8a0a940c")}catch{}})();function V(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function uu(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function gs(e,t){let r=V(t);return!e||!r?null:[...e.search_providers].reverse().find(n=>(V(n.runtime_definition?.name)??V(n.definition?.name))===r)??null}function hs(e,t){let r=V(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(n=>(V(n.runtime_definition?.name)??V(n.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]="4ce8635f-ea61-5443-abfc-092219a82396")}catch{}})();var $="-",hn=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 _u(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 bn(e){let t=e.trim();if(t==="")return[];let r=(Ts(t)??t.split(",")).map(n=>n.trim()).filter(Boolean).map(n=>n.toLowerCase());return Array.from(new Set(r)).sort((n,o)=>n.localeCompare(o))}function wn(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of bn(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function En(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function bs(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function ws(e,t,r){let n=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new f('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',m.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 Es(e,t){let r=En(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 wn(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Ss(e,t){let r=Array.from(new Set(En(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(wn(t));return n.size===0?r:r.filter(o=>!n.has(o))}function Ts(e){if(!e.startsWith("["))return null;let t;try{t=JSON.parse(e)}catch{return null}return t.map(r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean"?String(r):"").filter(r=>r.length>0)}function Ut(e){return e.replace(/\r\n/g,`
1
+ import{a as bt,b as wt,d as Et}from"./chunk-UNTQE37U.js";import{t as kr}from"./chunk-MBQF6HT6.js";import{$ as St,Ab as he,Ba as It,Ea as Kr,Eb as ie,Fa as At,Fb as be,Gb as kt,H as Ur,Ib as Lt,J as zr,Jb as se,K as Vr,Kb as Jr,Sa as Hr,Ta as Ct,U as ye,Ua as Br,W as K,Wb as Zr,Ya as Fe,Za as v,_ as Ne,_a as Pe,ac as en,bc as tn,ca as ge,db as $e,eb as oe,ec as rn,gb as Gr,hb as Yr,jb as Wr,kb as Xr,qa as Tt,ra as jr,sa as vt,ub as Rt,wb as xt,xa as qr,yb as Qr}from"./chunk-5JEFDEL3.js";import{f as Lr,n as re,p as gt}from"./chunk-AH6NX6GM.js";import{$ as m,Ba as Le,Fa as b,Ga as T,Gc as Mr,Ha as ue,Ia as te,Ja as E,La as Cr,Pc as P,Sc as Me,Sd as Nr,Td as Fr,Ud as ht,V as ft,Vc as Dr,Wa as A,Xa as me,Yd as Pr,_c as _e,aa as f,ab as x,ae as M,cb as fe,db as pt,eb as _t,ee as ne,fb as Rr,fe as $r,gb as pe,ge as De,i as mt,id as Or,je as Oe,kb as yt,nb as xr,ta as z,va as ee,wa as S,za as I}from"./chunk-TRFVAWF2.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]="b84fee06-5bbd-57f9-9643-f283d6c87afa")}catch{}})();function nn(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new f(`${t} must be a non-negative number`,m.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]="9b58b44d-819c-5115-b011-f9dfa8e2ab41")}catch{}})();var Ci=3e4,we=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function H(e,t,r=Ci){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 B(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 Ri(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(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: ${E(o)}`)}if(!n.ok){let o=await Ri(n),i=o.length>0?`: ${o}`:"";throw new we(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`,n.status)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${E(o)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8e3bb919-c8f9-50b5-8e41-b6719d17bd21")}catch{}})();function Cl(e,t){let r=b(e);if(!r)return"unconfigured";let n=b(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function xi(e){let t=ue(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 b(t)||null}function ki(e){let t=b(e.providers?.openai?.base_url),r=b(e.providers?.openai?.model);if(!t||!r)return null;let n=sn(e),o=b(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Li(e){let t=b(e.providers?.ollama?.base_url),r=b(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 Mi(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 Di(e){let t=e.map((r,n)=>({embedding:r.embedding,index:r.index,position:n}));if(t.some(r=>r.index!==void 0)){for(let r of t)if(!Number.isInteger(r.index))throw new TypeError(`OpenAI embedding response entry at position ${r.position} is missing a valid integer index`);return[...t].sort((r,n)=>{let o=r.index-n.index;return o!==0?o:r.position-n.position})}return t}function Mt(e){let t=ki(e),r=Li(e),n=[t,r].filter(s=>s!==null),o=b(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?n.find(s=>s.name===i):void 0)??n[0]??null,available:n}}function on(e){let t=ue(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:xi(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Oi(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 Ni(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 Di(o).map((i,s)=>{let a=i.embedding;if(!te(a))throw new Error(`OpenAI embedding response entry at index ${s} is missing a numeric embedding vector`);return[...a]})}let r=t.embedding;if(te(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!te(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=H(r.timeout_ms,"Embedding request"),o=B(r.fetcher,"Embedding request"),i=an(t),s=Mi(i),a=Oi(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=Ni(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]="5c86afdf-6d8d-5851-82c1-ae5bcc9f0196")}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 Dt(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 Fi=8e3,Pi=3200,G="...[semantic corpus truncated]",$i="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 Ui(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function zi(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 Vi(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 ji(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 kl(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??[])Vi(t,r);return ji(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function qi(e){let t=(e.plan_steps??[]).map(i=>O([i.order,i.id,i.title,i.body,i.status,i.owner,i.evidence,i.blocked_reason,i.superseded_by,(i.linked_items??[]).map(s=>O([s.kind,s.id,s.note])).join(" "),(i.files??[]).map(s=>O([s.path,s.note])).join(" "),(i.tests??[]).map(s=>O([s.command,s.path,s.note])).join(" "),(i.docs??[]).map(s=>O([s.path,s.note])).join(" ")])),r=(e.plan_decisions??[]).map(i=>O([i.decision,i.rationale,i.evidence,i.step_id])),n=(e.plan_discoveries??[]).map(i=>O([i.text,i.step_id])),o=(e.plan_validation??[]).map(i=>O([i.text,i.command,i.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...o].some(i=>i!==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 Ki={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=>Ui(e.metadata),events:e=>zi(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>qi(e.metadata)};function dn(e,t={}){let r=t.fields??ze,n={};for(let o of r){let i=Ki[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Hi(e){return e?.trim().toLowerCase()==="ollama"?Pi:Fi}function ae(e,t){let r=Hi(e),n=Cr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:$i}}function Ot(e,t={}){let r=JSON.stringify(dn(e,{fields:t.fields})),n=ae(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=G.length)return G.slice(0,n);let o=Math.max(0,n-G.length);return`${r.slice(0,o)}${G}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="67bae1a1-19d1-50ea-816f-4b68e6bb69d9")}catch{}})();function Bi(e,t,r){let n=e.search.embedding_batch_size,o=e.search.embedding_timeout_ms,i=e.search.scanner_max_batch_retries,s=Number.isFinite(n)&&n>0?Math.max(1,Math.floor(n)):1,a=Number.isFinite(o)&&o>0?Math.max(1,Math.floor(o)):3e4,c=Number.isFinite(i)&&i>=0?Math.floor(i):0;return{batchSize:s,timeoutMs:a,maxRetries:c,maxRequestBytes:r,maxInputCharacters:t}}function Gi(e,t,r,n){let o=[],i=[],s=Buffer.byteLength(JSON.stringify({model:e.model,input:[]})),a=s;for(let c of t){let d=Buffer.byteLength(JSON.stringify(c.trim()));if(s+d>n)throw new RangeError(`Embedding input exceeds request byte ceiling ${n}; lower search.embedding_corpus_max_characters or raise maxRequestBytes`);let l=i.length>0?1:0;(i.length>=r||a+l+d>n)&&(o.push(i),i=[],a=s),a+=d+(i.length>0?1:0),i.push(c)}return o.push(i),o}function Yi(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-G.length);return`${e.slice(0,r)}${G}`.slice(0,t)}function ln(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Wi(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return 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})`}function Xi(e){return e instanceof we?e.status===413?"payload_too_large":null:ln(e)?"timeout":null}async function Nt(e,t,r,n,o,i,s){let a=null;for(let c=0;c<=o;c+=1)try{s.requests+=1;let d=await cn(e,t,{timeout_ms:n});return c>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${c+1}:size=${t.length}`),s.successful_batches+=1,s.batch_size_histogram[t.length]=(s.batch_size_histogram[t.length]??0)+1,d}catch(d){a=d;let l=Xi(d);if(l!==null&&t.length>1){s.split_batches+=1;let u=Math.ceil(t.length/2),p=t.slice(0,u),_=t.slice(u);return i.push(`search_embedding_batch_split_after_${l}:batch=${r}:size=${t.length}:parts=${p.length}|${_.length}`),[...await Nt(e,p,`${r}.1`,n,o,i,s),...await Nt(e,_,`${r}.2`,n,o,i,s)]}if(c<o){s.retries+=1;let u=Math.min(1e3*2**c,8e3);await new Promise(p=>setTimeout(p,u))}}throw new Error(Wi(e,r,t.length,n,o+1,a))}async function Ft(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=performance.now(),i=n.maxRequestBytes??262144;if(!Number.isSafeInteger(i)||i<=0)throw new RangeError("maxRequestBytes must be a positive safe integer");let s={provider:e.name,model:e.model,max_request_bytes:i,limit_source:n.maxRequestBytes===void 0?"default":"caller",planned_batches:0,requests:0,successful_batches:0,split_batches:0,retries:0,batch_size_histogram:{},elapsed_ms:0,inputs_per_second:0},a=[],c=ae(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let d=Bi(t,c.maxCharacters,i),l=0,u=r.map(y=>{if(y.trim().length===0)throw new TypeError("Embedding inputs must be non-empty strings");let h=Yi(y,d.maxInputCharacters);return h.length<y.length&&(l+=1),h});l>0&&a.push(`search_embedding_input_truncated:count=${l}:max_characters=${d.maxInputCharacters}`);let p=Gi(e,u,d.batchSize,d.maxRequestBytes);s.planned_batches=p.length;let _=[],g=0;for(let y=0;y<p.length;y+=1){let h=p[y];n.onProgress?.({batch_index:y+1,batch_total:p.length,batch_size:h.length,completed_inputs:g,total_inputs:u.length,phase:"start"}),_.push(...await Nt(e,h,String(y+1),d.timeoutMs,d.maxRetries,a,s)),g+=h.length,n.onProgress?.({batch_index:y+1,batch_total:p.length,batch_size:h.length,completed_inputs:g,total_inputs:u.length,phase:"complete"})}return s.elapsed_ms=Math.max(1,performance.now()-o),s.inputs_per_second=r.length*1e3/s.elapsed_ms,{vectors:_,warnings:a,receipt:s}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4835aae2-a525-5683-abc0-0ba3c5781c95")}catch{}})();var un=[{name:"private-key",mutationRule:"private_key",regex:/-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----/g},{name:"github-token",mutationRule:"github_token",regex:/\b(?:gh[opsru]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/g},{name:"npm-token",mutationRule:"npm_token",regex:/\bnpm_[A-Za-z0-9]{20,}\b/g},{name:"aws-access-key",mutationRule:"aws_access_key",regex:/\b(?:AKIA|ASIA)[0-9A-Z]{16}\b/g},{name:"google-api-key",mutationRule:"google_api_key",regex:/\bAIza[0-9A-Za-z_-]{35}\b/g},{name:"slack-token",mutationRule:"slack_token",regex:/\bxox[baprs]-[A-Za-z0-9-]{10,}\b/g},{name:"anthropic-api-key",mutationRule:"anthropic_api_key",regex:/\bsk-ant-[A-Za-z0-9_-]{20,}\b/g},{name:"openai-api-key",mutationRule:"openai_api_key",regex:/\bsk-(?!ant-)[A-Za-z0-9_-]{20,}\b/g},{name:"gitlab-token",mutationRule:"gitlab_token",regex:/\bglpat-[A-Za-z0-9_.-]{20,}\b/g},{name:"jwt-like-token",mutationRule:"jwt_like_token",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g},{name:"npm-auth-token-assignment",mutationRule:"npm_auth_token_assignment",regex:/_authToken\s*=\s*\S+/g},{name:"sentry-user-token",mutationRule:"sentry_user_token",regex:/\bsntryu_[A-Za-z0-9]{20,}\b/g},{name:"sentry-org-token",mutationRule:"sentry_org_token",regex:/\bsntrys_[A-Za-z0-9_-]{20,}\b/g},{name:"private-ip",mutationRule:"private_ip",regex:/\b(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"private-ssh-target",mutationRule:"private_ssh_target",regex:/\b(?:ssh|scp|rsync)\s+[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g},{name:"sshpass-inline-password",mutationRule:"sshpass_inline_password",regex:/\bsshpass\s+-p\s+["'][^"']{6,}["']/g},{name:"password-assignment",mutationRule:"password_assignment",regex:/\b(?:password|passphrase)\s*[:=]\s*(?:(?!<|\$\{|\$\(|config\.auth\.password\s*(?:\|\|\s*(?:''|"")|\?\s*unescape\(encodeURIComponent\(config\.auth\.password\)\)\s*:\s*(?:''|""))(?=[ \t]*(?:\/\*(?:[^*]|\*(?!\/))*\*\/[ \t]*)*(?:;|$|\/\/[^\r\n\u2028\u2029]*(?:\r\n)?$)))[A-Za-z0-9!@#$%^&*._+\-=]{8,}|"(?!<|\$\{|\$\()[^"]{8,}"|'(?!<|\$\{|\$\()[^']{8,}')/gi},{name:"absolute-home-path",mutationRule:"absolute_home_path",regex:/(?:^|[\s"'`(=])\/home\/[A-Za-z0-9._-]+\/[^\s"'`),;]+/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"user-at-private-host",mutationRule:"user_at_private_host",regex:/\b[A-Za-z0-9._-]+@(?:10\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|172\.(?:1[6-9]|2\d|3[01])\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)|192\.168\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.(?:25[0-5]|2[0-4]\d|[01]?\d?\d))\b/g,excludeFiles:/^(?:tests\/|examples\/)/},{name:"high-entropy-assignment",mutationRule:"high_entropy_assignment",regex:/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,mutationOnlyReason:"Generic assignments in source code are not credentials; preserve the existing mutation heuristic without treating source identifiers as secrets.",minimumEntropy:3.5}];function mn(e,t){if(e.minimumEntropy===void 0)return!0;let r=t[1],n=new Map;for(let i of r)n.set(i,(n.get(i)??0)+1);let o=0;for(let i of n.values()){let s=i/r.length;o-=s*Math.log2(s)}return o>=e.minimumEntropy}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b75bf20f-d341-5fa2-943d-db02211ca80d")}catch{}})();var Qi=[{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"}],$t=new Map(Qi.map(e=>[e.action,e]));function Pt(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)=>Pt(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>Pt(o,`${t}.${n}`,r)))}function fn(e){let t=[];for(let r of Pt(e))for(let n of un){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(mn(n,o)){t.push({rule:n.mutationRule,path:r.path});break}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function Ji(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new f("Mutation author is required by workspace policy.",m.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=fn(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(r.length===0)return{author:t,findings:r,warnings:[],override_applied:!1};let n=[...new Set(r.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new f(`Mutation blocked by secret guard (${n}). No detected value was logged.`,m.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 Zi(e){return $t.has(e.trim().toLowerCase())}function es(){return[...$t.keys()].sort((e,t)=>e.localeCompare(t))}function Vl(e){return $t.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]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();var ts=/\b([a-z][a-z0-9]*)-(\d+)(?:-[a-z0-9]+)*\b/giu,rs=/^(?:utf|iso|sha|tls|http|covid|match)$/iu;function Ve(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Se(e){return[...new Set(Ve(e).match(/[\p{L}\p{N}]+/gu)??[])]}function Ee(e){let t=Ve(e);return{normalized:t,tokens:Se(t),issueCodes:[...new Set([...e.matchAll(ts)].filter(r=>{let n=r[1],o=r.index,i=e.slice(o+r[0].length);return!rs.test(n)&&(n===n.toUpperCase()||n.length<=2||o===0&&/^\s*(?::|—|–|\])/u.test(i))}).map(r=>r[0].toLowerCase()))]}}function je(e,t){return qe(Ee(e),Ee(t))}function qe(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:_e(e.tokens,t.tokens),reason:"title_token_jaccard"}}import ns 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]="a7cd1d62-16fe-5e5b-b382-64335fc5e403")}catch{}})();function Ke(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function os(e,t){return[e.updated_at,t].map(r=>({value:r,time:Date.parse(r??"")})).filter(r=>typeof r.value=="string"&&Number.isFinite(r.time)).sort((r,n)=>n.time-r.time)[0]?.value??e.updated_at}function pn(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=Ke(t.in_progress_status),i=[];for(let s of e){if(Ke(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=os(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 is(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Ke(String(o.status))===Ke(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ge(ns.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)})),pn(t,{...r,last_history_activity:o=>n.get(o.id)})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="42b217a3-31c0-561a-b7cb-b1a584b2edd5")}catch{}})();var ss=new Set(["rename-type","rename-field","remap-status",...xr]);function as(e,t){if(t&&!ss.has(e))throw new f(`schema ${e} does not support --dry-run. Preview is supported for rename-type, rename-field, remap-status and workflow-policy actions. Remove --dry-run only when you intend to apply changes.`,m.USAGE,{code:"invalid_argument_value",examples:["pm schema rename-type Spike --to Experiment --dry-run"]})}import{readFile as cs}from"node:fs/promises";import _n 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]="da661b46-841c-526d-88bc-976e007e8fbe")}catch{}})();function ds(e){let t=e.trim();if(!t)throw new f("--rollback requires a non-empty checkpoint ID",m.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new f("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",m.USAGE);return t}function ls(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function us(e,t){return _n.join(e,"checkpoints",t)}function yn(e,t,r){return _n.join(us(e,t),`${r}.json`)}async function ms(e,t,r,n){let o=yn(e,t,r),i=`${JSON.stringify(n,null,2)}
2
+ `;if(!await Lr(o,i)&&await S(o)!==i)throw new f(`Checkpoint ${r} already exists with different contents; use a new checkpoint ID.`,m.CONFLICT);return o}function fs(e,t){if(!Array.isArray(e.items))throw new f(`Checkpoint ${t} is missing items`,m.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new f(`Checkpoint ${t} contains an invalid item entry`,m.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without ID`,m.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new f(`Checkpoint ${t} contains an item entry without target_updated_at`,m.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function ps(e,t,r,n){let o=ds(r),i=yn(e,t,o);if(!await z(i))throw new f(`Checkpoint ${o} not found`,m.NOT_FOUND);let s=await cs(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new f(`Checkpoint ${o} contains invalid JSON: ${E(l)}`,m.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new f(`Checkpoint ${o} is invalid`,m.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new f(`Checkpoint ${o} has unsupported schema version`,m.GENERIC_FAILURE);let d=fs(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 _s(e,t){let r=[],n=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);r.push({id:o.id,status:"restored",changed_fields:i.changed_fields,warnings:i.warnings}),n.push(o.id)}catch(i){r.push({id:o.id,status:"failed",error:E(i)})}return{rows:r,restored_ids:n,failed_count:r.filter(o=>o.status==="failed").length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb883ffc-c431-5bf9-a973-931a8a0a940c")}catch{}})();function V(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function cu(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function ys(e,t){let r=V(t);return!e||!r?null:[...e.search_providers].reverse().find(n=>(V(n.runtime_definition?.name)??V(n.definition?.name))===r)??null}function gs(e,t){let r=V(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(n=>(V(n.runtime_definition?.name)??V(n.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]="4ce8635f-ea61-5443-abfc-092219a82396")}catch{}})();var $="-",hn=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 mu(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 bn(e){let t=e.trim();if(t==="")return[];let r=(Ss(t)??t.split(",")).map(n=>n.trim()).filter(Boolean).map(n=>n.toLowerCase());return Array.from(new Set(r)).sort((n,o)=>n.localeCompare(o))}function wn(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of bn(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function En(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function hs(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function bs(e,t,r){let n=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new f('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',m.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 ws(e,t){let r=En(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 wn(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Es(e,t){let r=Array.from(new Set(En(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(wn(t));return n.size===0?r:r.filter(o=>!n.has(o))}function Ss(e){if(!e.startsWith("["))return null;let t;try{t=JSON.parse(e)}catch{return null}return t.map(r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean"?String(r):"").filter(r=>r.length>0)}function Ut(e){return e.replace(/\r\n/g,`
4
4
  `)}function Sn(e){let t=Ut(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
5
5
  `);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
6
- `)}function vs(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 Tn(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 Is(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 As(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 gn(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=As(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${$} to read piped stdin input.`}function Cs(e){let t=Sn(e).trim();if(t.length===0||!t.includes(`
6
+ `)}function Ts(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 Tn(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 vs(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 Is(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 gn(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Is(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${$} to read piped stdin input.`}function As(e){let t=Sn(e).trim();if(t.length===0||!t.includes(`
7
7
  `)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=Ut(t).split(`
8
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]=Tn(s[3].trim()),n=a;continue}if(n&&hn.has(n.toLowerCase())){r[n]=`${r[n]}
9
- ${i}`;continue}return null}return r}function Rs(e,t){let r=Sn(e).trim();if(!r)throw new f(`${t} cannot be empty`,m.USAGE);let n=Cs(r);if(n)return n;let o={},i,s=vs(r);for(let a of s){let c=Is(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new f(gn(e,t),m.USAGE);let l=Tn(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&hn.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new f(gn(e,t),m.USAGE)}return o}var xs=/^[A-Za-z]:[\\/]/,ks=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function Ls(e){let t=e.trim();return xs.test(t)?!1:ks.test(t)}function yu(e,t,r,n){if(!(n||!e.includes(",")))throw new f(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,m.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 Ms(e,t,r){let n=new Set(r.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!n.has(i.toLowerCase()));if(o.length>0)throw new f(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,m.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new f(`${t} provides key "${i}" more than once after case normalization.`,m.USAGE);e[s]=e[i],delete e[i]}}}async function Ds(e){if(process.stdin.isTTY===!0)throw new f(`${e} value "${$}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,m.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(Ut(n))}),process.stdin.on("error",o=>{r(o)})})}var Y=Symbol("all-mutation-stdin-fields"),k=new WeakMap;function vn(e){return k.set(e,Y),e}function Os(e,t){let r=k.get(e);return r===Y||k.set(e,new Set([...r??[],...t])),e}function Ns(e,t){let r=k.get(e);return r===void 0||k.set(t,r===Y?r:new Set(r)),t}function gu(e,t){let r=k.get(e),n=k.get(t);return r===void 0||n===Y?t:r===Y?(k.set(t,r),t):(k.set(t,new Set([...n??[],...r])),t)}function Fs(e){return k.get(e)!==Y}function He(e,t){let r=k.get(e);return r!==Y&&!r?.has(t)}function Ps(e){let t;for(let r of e){if(r.resolveToken===!1||r.value===void 0)continue;let n=(Array.isArray(r.value)?r.value:[r.value]).filter(o=>o.trim()===$).length;if(n>1)throw new f(`${r.optionName} accepts "${$}" stdin token at most once per command invocation`,m.USAGE);if(n!==0){if(t!==void 0&&t!==r.optionName)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,m.USAGE);t=r.optionName}}}async function hu(e,t,r){let n=e,o=[...t,...r];Ps(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:He(e,a)})));let i=Be(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,He(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,He(e,a));return vn(s)}function Be(){let e,t,r=async n=>{if(t&&t!==n)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,m.USAGE);return t=n,e||(e=Ds(n)),await e};return{resolveValue:async(n,o,i=!0)=>{if(!i)return n;if(n!==void 0)return n.trim()!==$?n:await r(o)},resolveList:async(n,o,i=!0)=>{if(!i)return n;if(!n)return;let s=n.map((d,l)=>d.trim()===$?l:-1).filter(d=>d>=0);if(s.length===0)return n;if(s.length>1)throw new f(`${o} accepts "${$}" stdin token at most once per command invocation`,m.USAGE);let a=await r(o),c=[...n];return c[s[0]]=a,c}}}function $s(e,t){let r=Number(e);if(!Number.isFinite(r))throw new f(`Invalid ${t} value "${e}"`,m.USAGE);return r}function Us(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new f(`Invalid ${t} value "${e}". Expected a non-negative integer.`,m.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]="4441095d-0acd-5780-8758-7df94396cb8e")}catch{}})();function zt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function zs(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=zt(t.join(`
10
- `));return r.length>0?r.join(","):""}function Vs(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return zs(e);if(typeof e!="string")return"";let t=zt(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]="1dcf0d72-10da-51b6-b9f6-ab47bebcbf64")}catch{}})();function In(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Vt(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?In(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?In(t):"root"}function Ge(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function js(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=qr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Kr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add(Vt(_.path)),_.from!==void 0&&u.add(Vt(_.from));let p=[...u].sort((_,g)=>_.localeCompare(g));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Ge(c,n),after:Ge(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[_]})}else{let _=p.map(g=>({field:g,before:Ge(c,g),after:Ge(l,g)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:_})}}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="80805c6b-9b9a-5dad-b94b-d7dbd365fe5e")}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]="2fd342e6-06cc-56d4-aa0e-2af269234b59")}catch{}})();var qs=new Set(["none","null","undefined"]);function Du(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",m.USAGE)}function Ks(e){if(typeof e!="string")throw new f("--parent must be a string. Use --unset parent to clear this field.",m.USAGE);let t=e.trim();if(t.length===0)throw new f("--parent must not be empty. Use --parent none to unset.",m.USAGE);if(An(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,m.USAGE);return t}function An(e){return qs.has(e.trim().toLowerCase())}function Hs(e,t){if(t==="strict_error")throw new f(`Parent item "${e}" was not found. Create it first or use --parent none.`,m.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function Bs(e,t,r){let n=oe(e,r),o=oe(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new f(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,m.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]="0257ab6d-3ef8-5b98-adfd-c7dabd537c43")}catch{}})();var jt={critical:0,high:1,medium:2,low:3,minimal:4},Gs=Object.keys(jt),Ys=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Gs.join(", ")}), case-insensitive`;function Ye(e){return new f(`Invalid priority "${e}". Accepted values: ${Ys}.`,m.USAGE)}function Ws(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ye(String(e))}if(typeof e!="string")throw Ye(String(e));let t=e.trim();if(t.length===0)throw Ye(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(jt,r))return jt[r];if(/^[0-4]$/.test(t))return Number(t);throw Ye(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]="b6206b0e-0cd8-5827-acbd-6ac064dbcad7")}catch{}})();var Xs=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,Qs=64;function zu(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",m.USAGE)}function Js(e,t,r){let n=t.trim();if(n.length===0)throw new f(`--${e} must not be empty. Use --${e} none to unset.`,m.USAGE);if(n.length<=Qs&&Xs.test(n))return{value:n,warnings:[]};let o="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(r==="strict_error")throw new f(`Invalid --${e} value "${n}". ${o}`,m.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]="14e6c7b4-3161-5f82-b797-f06a879d1370")}catch{}})();var Cn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Rn="all";function xn(e){if(typeof e!="string")return!1;let t=e.split(",").map(r=>r.trim().toLowerCase()).filter(r=>r.length>0);return t.length===1&&t[0]===Rn}function Zs(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Cn[r];return n?t[n]:_e(e,t)}function ea(e){let t=new Set(Object.keys(Cn));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function ta(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of ea(t)){let s=mt(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function qt(e,t,r){if(typeof e!="string")return;let n=r?.strict===!0,o=r?.flagLabel??"--status",i=e.split(",").map(a=>a.trim()).filter(a=>a.length>0);if(i.length===0)return;if(i.filter(a=>a.trim().toLowerCase()===Rn).length>0){if(i.length===1)return;throw new f(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,m.USAGE)}let s=[];for(let a of i){let c=Zs(a,t);if(c===void 0){if(n){let d=ta(a,t);throw new f(`Invalid ${o} value "${a}". Use open|closed|canceled or a configured status id${d?`. Did you mean "${d}"?`:"."}`,m.USAGE)}s.push(a);continue}s.push(c)}return[...new Set(s)]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="50f77f3f-b2b0-5ae2-b669-6ed50bbdd530")}catch{}})();var ra={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 na(e){if(e!==void 0)return ra[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]="c628dcf9-d98f-566e-9f93-cc81e737691c")}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]="4b79bd02-51ae-5c46-be4c-2f41dd8c9486")}catch{}})();function kn(e,t){return yt(e,t)}function Kt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=zr(e,o);i!==void 0&&(n[o.metadata_key]=Vr(o,i))}return n}function Ht(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(s=>String(s));if(!n.map(s=>String(s)).every(s=>i.includes(s)))return!1;continue}if(!kn(o,n[n.length-1]))return!1;continue}if(!kn(o,n))return!1}return!0}import{spawnSync as Mn}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]="7889f11f-36f9-5384-8429-58d951c342da")}catch{}})();var oa="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",ia="PM_OLLAMA_MODEL",sa="http://localhost:11434",aa="qwen3-embedding:0.6b",ca=".agents/pm/search/lancedb/",da=1500,la=2500,ua=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,ma=/embed|embedding/i,N=b;function fa(){let e=N(process.env[oa]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Ln(e){return e.some(t=>N(t)!==null)}function pa(e){let t=N(e);return!!(t&&t.toLowerCase()!=="ollama")}function _a(e){let t=N(e);return!!(t&&t.toLowerCase()!=="lancedb")}function ya(e){return pa(e.search?.provider)||_a(e.vector_store?.adapter)||Ln([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Ln([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function ga(){let e=Mn("ollama",["--version"],{encoding:"utf8",timeout:da});return e.error?!1:e.status===0}function ha(e){let t=e.split(/\r?\n/).map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)return null;let r=t.map(n=>n.split(/\s+/)[0]?.trim()).filter(n=>!!(n&&n.length>0)).filter(n=>n.toUpperCase()!=="NAME");return r.length===0?null:r.find(n=>ua.test(n))||(r.find(n=>ma.test(n))??null)}function ba(e){let t=N(e.providers?.ollama?.model);if(t)return t;let r=N(process.env[ia]);if(r)return r;let n=Mn("ollama",["list"],{encoding:"utf8",timeout:la});if(!n.error&&n.status===0){let o=ha(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function wa(e){return{baseUrl:N(e.providers?.ollama?.base_url)===null,model:N(e.providers?.ollama?.model)===null,lancedbPath:N(e.vector_store?.lancedb?.path)===null,embeddingModel:N(e.search?.embedding_model)===null}}function Ea(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Sa(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=sa),t.model&&(o.model=r)}function Ta(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=ca}function va(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function We(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(fa()||ya(e))return t;let r=wa(e);if(!Ea(r)||r.model&&!ga())return t;let n=structuredClone(e),o=ba(n);return o?(Sa(n,r,o),Ta(n,r),va(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 ${aa} 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]="9ecff496-8afa-5cfc-9178-2be8bd403978")}catch{}})();var Aa="reindex";import Vn from"node:path";import{mkdir as Ca,readFile as Ra,stat as Yt,unlink as xa}from"node:fs/promises";import{basename as On,dirname as Bt,isAbsolute as ka,join as La,resolve as Wt}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]="b5f2e49a-fb72-554b-b0a8-dca0adee71f4")}catch{}})();var Xt="pm_items",Ma=/[^a-zA-Z0-9_-]/g,Da=128,Oa=".pm-cli-local-vectors",Gt=1,W=new Map;function ve(e){return(b(e.collection_name)??Xt).replaceAll(Ma,"_").slice(0,Da)}function Xe(e){if(!te(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Fn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function Na(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=b(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function Qt(e){let t=b(e.result?.status);if(t)return{status:t};let r=b(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function Te(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 Fa(e){let t=b(e.vector_store?.qdrant?.url);if(!t)return null;let r=b(e.vector_store?.collection_name),n=b(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Xt?{collection_name:r}:{},...n?{api_key:n}:{}}}function Pa(e){let t=Wt(e),r=Bt(t);return On(t)==="pm"&&On(r)===".agents"?Bt(r):t}function $a(e,t){return!t||ka(e)?e:Wt(Pa(t),e)}function Ua(e,t){let r=b(e.vector_store?.lancedb?.path);if(!r)return null;let n=b(e.vector_store?.collection_name);return{name:"lancedb",path:$a(r,t),...n&&n!==Xt?{collection_name:n}:{}}}function za(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=b(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=Xe(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 Va(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=b(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function ja(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function qa(e){return e.replace(/\/points\?wait=true$/,"")}function Qe(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Je(e,t){return ce(e,t)}function ce(e,t){return La(Wt(e),Oa,`${t}.json`)}function Ka(e,t,r){let n=b(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=Xe(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 Ha(e,t,r){let n;try{n=JSON.parse(r)}catch(a){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${E(a)}`)}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!==Gt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${Gt}`);let o=b(n.table);if(!o)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(o!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${o}'`);let i=n.records;if(!Array.isArray(i))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let s=new Map;for(let a=0;a<i.length;a+=1){let c=Ka(i[a],a,e);s.set(c.id,c)}return s}async function Ba(e){try{let t=await Yt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!ee(t))throw t;return null}}function Ga(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 W.set(e,{records:r,mtimeMs:null,size:null}),r}function Ya(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Jt(e,t){let r=Je(e,t),n=ce(e,t),o=await Ba(n),i=W.get(r);if(!o){let a=Ga(r,i);if(a)return a}if(Ya(i,o))return i.records;let s=new Map;try{let a=await Ra(n,"utf8");s=Ha(n,t,a)}catch(a){if(!ee(a))throw a}return W.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function Wa(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 xa(e)}catch(t){if(!ee(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function $n(e,t,r){let n=ce(e,t);if(r.size===0){await Pn(n);return}let o=Bt(n);try{await Ca(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:Gt,table:t,records:Wa(r)})}
11
- `;try{await I(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Xa(e,t){let r=Je(e,t),n=ce(e,t);await Pn(n),W.delete(r)}function Nn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Qa(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Nn(e),o=Nn(t);return n===0||o===0?0:r/(n*o)}function Zt(e,t){let r=Fa(e),n=Ua(e,t),o=[r,n].filter(a=>a!==null),i=b(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(a=>a.name===s):void 0)??o[0]??null,available:o}}function Ze(e){let t=ve(e);if(e.name==="qdrant"){let o=ue(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 Ja(e,t,r){let n=Ze(e),o=Xe(t),i=Fn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:Qe(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ve(e),vector:o,limit:i}}}function Za(e,t){let r=Ze(e),n=za(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),records:n}}}function ec(e,t){let r=Ze(e),n=Va(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),ids:n}}}async function pm(e,t,r,n={}){let o=Ja(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=Xe(d.vector),p=Fn(d.limit),_=[],g=0;for(let y of l.values()){if(y.vector.length!==u.length){g++;continue}_.push({id:y.id,score:Qa(u,y.vector),...y.payload?{payload:y.payload}:{}})}return g>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${g} records skipped (expected ${u.length} dimensions)`),_.sort((y,h)=>y.score!==h.score?h.score-y.score:y.id.localeCompare(h.id)),_.slice(0,p)}let i=H(n.timeout_ms,"Vector request"),s=B(n.fetcher,"Vector request"),a=await Te(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return Na(a)}async function er(e,t,r={}){let n=Za(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Je(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=ce(a.path,c.table),p=await Yt(u);return W.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=H(r.timeout_ms,"Vector request"),i=B(r.fetcher,"Vector request"),s=await Te(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return Qt(s)}async function et(e,t,r={}){let n=ec(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Je(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)W.delete(d);else{let u=ce(a.path,c.table),p=await Yt(u);W.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=H(r.timeout_ms,"Vector request"),i=B(r.fetcher,"Vector request"),s=await Te(ja(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return Qt(s)}async function Un(e,t=[],r={},n){if(e.name==="lancedb")return await Xa(e.path,ve(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=Ze(e),s=qa(i.upsert_target),a=H(r.timeout_ms,"Vector request"),c=B(r.fetcher,"Vector request"),d=Qe(e);try{await Te(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(u){if(!E(u).includes("failed with status 404"))throw u}let l=await Te(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return Qt(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await et(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]="f8acaac5-64f7-5e22-987e-4eb12a1aa1cf")}catch{}})();function tt(e,t){let r=b(e),n=b(t);return!r||!n?null:{provider:r,model:n}}function zn(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=tt(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 tr(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 rr(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function nr(e,t){return!!(e&&e.vector_dimension!==t)}function or(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let r=e[0].length;if(!Number.isInteger(r)||r<=0)throw new Error(`${t} returned an empty vector`);for(let n=1;n<e.length;n+=1)if(e[n]?.length!==r)throw new Error(`${t} returned mixed vector dimensions`);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7113dff5-c8e0-5ba6-b0ae-2ff849ed94df")}catch{}})();var jn="search/vectorization-status.json";function Ae(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function qn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function Kn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!qn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function Hn(e){let t=Vn.join(e,jn),r=await S(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of n.items){if(typeof s!="object"||s===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let a=s.id,c=s.updated_at;if(typeof a!="string"||a.trim().length===0||!qn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=zn(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 Bn(e,t,r){let n=Kn(t),o=Vn.join(e,jn),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 I(o,i)}function tc(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function rc(e){let t=tt(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function Ie(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function nc(e,t,r){if(!r.settings&&!await z(pt(e)))return Ie(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Fe(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return Ie(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return Ie(t,`search_semantic_refresh_skipped:settings_read_failed:${E(a)}`)}let o=r.apply_runtime_defaults?We(n).settings:n,i=Mt(o).active;if(!i)return Ie(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Zt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Ie(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function oc(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await he(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await kt(u,{schema:i});d.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${E(p)}`)}}return d.sort((l,u)=>l.id.localeCompare(u.id)),{documents:d,missingIds:Ae(c),skippedIds:Ae(a),warnings:s}}async function ic(e,t,r){let n=ae(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Dt(e),i=r.map(a=>Ot(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Ft(t,e,i);return{vectors:s.vectors,vector_dimension:or(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function sc(e,t,r){return await er(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:tc(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function ac(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await et(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${E(r)}`]}}}async function Nm(e,t,r={}){let n=Ae(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await nc(e,n,r);if(!("settings"in o))return o;let i=A(o.settings,P()),s=await oc(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 Hn(e):{entries:{},embedding:null,warnings:[]},c=rc(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&rr(a.embedding,c))l={refreshed:[],skipped:s.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await ic(o.settings,o.provider,s.documents);if(nr(a.embedding,h.vector_dimension))l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=tr(c,h.vector_dimension);let w=await sc(o.vectorStore,s.documents,h.vectors);l={refreshed:w.refreshed,skipped:w.skipped,warnings:[...h.warnings,...w.warnings]}}}catch(h){l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[`search_semantic_refresh_failed:${E(h)}`]}}let p=await ac(o.vectorStore,s.missingIds),_=new Set(l.refreshed),g=Object.fromEntries(s.documents.filter(h=>_.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),y=[];if(Object.keys(g).length>0||s.missingIds.length>0){let h={...d,...Kn(g)};for(let w of s.missingIds)delete h[w];try{await Bn(e,h,u)}catch(w){y.push(`search_vectorization_status_ledger_write_failed:${E(w)}`)}y.push(...a.warnings)}return{refreshed:Ae([...l.refreshed,...p.refreshed]),skipped:Ae([...s.skippedIds,...l.skipped,...p.skipped]),warnings:[...s.warnings,...l.warnings,...p.warnings,...y]}}import{createRequire as uc}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]="34c9ab81-0465-51bb-9cf6-b27db1905e4c")}catch{}})();var cc=new Set(["1","true","yes","on"]),nt=["user","automation","test","dogfood"],dc=new Set(nt);function rt(e,t){return cc.has((t[e]??"").trim().toLowerCase())}function Ce(e=process.env){let t=rt("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),n=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!dc.has(r)&&!rt("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||n||rt("PM_TELEMETRY_DISABLED",e)||rt("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed: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]="64589e00-25ef-5d74-a94a-7d40455e1929")}catch{}})();var Yn=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,$m=new RegExp(`(?:\\b|(?<=_))(${Yn.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Gn="(?:\\s|\\\\+u(?:0009|000a|000d|0020))*",Um=new RegExp("^"+Gn+"(?::|=|\\\\+u(?:003a|003d))"+Gn,"iu");(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07b08f80-aa60-5ffa-b969-2859839f3f2d")}catch{}})();var Bm=uc(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]="bd65294f-dfa5-53d2-9691-c630884f2a5f")}catch{}})();var Wm=new Map([[m.USAGE,"invalid_command_usage"],[m.NOT_FOUND,"item_not_found"],[m.CONFLICT,"lock_conflict"],[m.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]="0d9d54cd-bd42-5958-83df-15316ea520c7")}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]="ab644545-f072-53c0-9ebf-72a62c237a2f")}catch{}})();var nf=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]="e7deff0d-d9c9-5250-b172-ab752ddd64a4")}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]="bc9e1b59-21cb-5dda-91c0-36e123734cd3")}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]="4b566486-120f-5aed-8d92-9e62ed996210")}catch{}})();function fc(e,t){if(e==null)return[];let r=t?.separators??/,/,n=e.split(r).map(i=>i.trim()).filter(i=>i.length>0),o=t?.unique!==!1?Array.from(new Set(n)):n;return t?.sort===!0?[...o].sort():o}import ir from"node:fs/promises";import ot 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]="12ee7de1-dff4-53f1-8d0d-d8b1c1ebea42")}catch{}})();function pc(e){return"json_markdown"}function Xn(e,t){return ot.relative(e,t).replaceAll("\\","/")}function _c(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function yc(e,t,r){e!==t&&Ne(await ir.readFile(t,"utf8"),{format:"json_markdown",requireSupportedFormat:!0,schema:r})}async function gc(e,t,r="item_format:migrate",n=ft,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=pc(t),l=Object.entries(n);for(let[u,p]of l){let _=ot.join(e,p),g=[];try{g=await ir.readdir(_)}catch{continue}let y=new Map;for(let w of g){let C=ot.join(_,w),R=Rr(C);if(!R)continue;let U=ot.extname(w),q=w.slice(0,w.length-U.length).trim();if(q.length===0)continue;let Z=y.get(q)??{};Z[R]=C,y.set(q,Z)}let h=[...y.keys()].sort((w,C)=>w.localeCompare(C));for(let w of h){let C=y.get(w);c+=1;let R=C[d];if(!R)continue;let U=C[t]??R,q=U===C[t]?t:d;try{let Z=await ir.readFile(U,"utf8"),Ii=Ne(Z,{format:q,requireSupportedFormat:!0,schema:o,onWarning:Ai=>a.push(`item_format_migration_parse_warning:${w}:${Ai}`)});await yc(U,R,o);let ut=_t(e,u,w,t,n),Ar=St(Ii,{format:t,schema:o});await S(ut)!==Ar&&(await I(ut,Ar),a.push(...await Me({path:ut,scope:"project",op:r})),i.add(w)),await Le(R),s.add(Xn(e,R)),a.push(...await Me({path:R,scope:"project",op:`${r}:remove`})),i.add(w)}catch(Z){a.push(`item_format_migration_skipped:${Xn(e,U)}:${_c(Z)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),warnings:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12c59406-7e00-5fe1-bd93-c1f9d8537f01")}catch{}})();var hc=new Set(["completed","superseded"]);function bc(e){return e!==void 0&&hc.has(e)}function wc(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 bf 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]="7c005413-4db4-58ce-a8ec-96ebc91a54f9")}catch{}})();import dr from"node:crypto";import{mkdirSync as Ff,rmSync as Tc,statSync as Pf}from"node:fs";import{mkdir as sr,readdir as vc,rm as lr,stat as no}from"node:fs/promises";import{request as Ic}from"node:http";import{request as Ac}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]="4f455b67-536a-59be-8f25-1dc9c9c0b917")}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]="11e932b0-f880-5848-abd3-0360e21289ec")}catch{}})();var Cc=L.join("runtime","telemetry","events.jsonl"),Rc=L.join("runtime","telemetry","state.json"),xc=L.join("runtime","telemetry","otel-spans.jsonl"),kc=8,Qn=500,Lc=1;var Mc=100,Dc=36e5,Oc=3e4,Jn=2e4,Nc=1e3,Fc=25e3;var Pc=864e5,oo=65536;var io=15;var so=[25,50,100,200],$c=3600*1e3,Uc=6e4;var X="PM_TELEMETRY_FLUSH_CHILD";var zc="PM_TELEMETRY_HTTP_TIMEOUT_MS",Vc=globalThis.fetch;var rp=Promise.resolve(),Zn=Promise.resolve();var np=new Set(nt),jc=new Set(["1","true","yes","on"]);var op=dr.randomUUID();var ao="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",qc=new RegExp(`\\b(${ao})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),Kc=new RegExp(`(--${ao})(=|\\s+)([^\\s,;]+)`,"giu"),Hc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Bc=/bearer\s+[a-z0-9._=-]+/giu,Gc=/\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 it(e){return L.join(e,Cc)}function st(e){return L.join(e,xc)}function Yc(e){return L.dirname(it(e))}function co(e){return L.join(e,Rc)}function lo(e){return L.join(e,"runtime","telemetry","flush.lock")}function Wc(e){return L.join(e,"runtime","telemetry","flush.spawn.lock")}async function Xc(e){let t=await S(co(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 F(e,t){try{await Re(async()=>{let r={...await Xc(e),...t},n=Object.fromEntries(Object.entries(r).filter(([,o])=>o!==void 0).sort((o,i)=>o[0].localeCompare(i[0])));await I(co(e),`${JSON.stringify(n,null,2)}
13
- `,{createParentDirectories:!Q(process.env[X])})},e)}catch{}}function uo(e){return e.replaceAll(qc,(t,r,n)=>`${r}${n}[redacted]`).replaceAll(Kc,(t,r,n)=>`${r}${n}[redacted]`)}function mo(e){return e.replaceAll(Hc,(t,r)=>`${r}[redacted_path]`)}function fo(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function po(e){if(!e)return!1;let t=e.charCodeAt(0);return fo(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function _o(e){if(!e)return!1;let t=e.charCodeAt(0);return fo(t)?!0:e==="."||e==="-"}function Qc(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(!po(i))return!1;for(let i of n)if(!_o(i))return!1;return!0}function Jc(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&&po(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&_o(e[i]);)i+=1;let s=e.slice(o,i);if(Qc(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function yo(e){return Jc(e).replaceAll(Bc,"bearer [redacted_token]").replaceAll(Gc,"[redacted_ip]")}function Zc(e){let t=yo(e),r=uo(t),n=mo(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function ed(e){let t=yo(e),r=uo(t),n=mo(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function cr(e,t="redacted"){return t==="max"?ed(e):Zc(e)}function td(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function Q(e){return jc.has((e??"").trim().toLowerCase())}function eo(){let e=process.env[zc]?.trim();if(!e)return Jn;let t=Number(e);return Number.isFinite(t)?Math.min(Fc,Math.max(Nc,Math.trunc(t))):Jn}async function go(e,t,r){let n=new URL(e);if(globalThis.fetch!==Vc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},eo())});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:"?Ac:n.protocol==="http:"?Ic:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=eo(),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 rd(e){let t=await v(e);if(!t.telemetry.enabled||Ce().telemetry_disabled)return null;if(t.telemetry.installation_id.trim().length===0){if(Br(e))return null;t.telemetry.installation_id=dr.randomUUID(),await Pe(e,t,"telemetry:install_id")}return{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days)),captureLevel:td(t.telemetry.capture_level)}}function ho(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 bo(e){let t=Math.min(Oc*2**Math.max(e-1,0),Dc);return new Date(Date.now()+t).toISOString()}function ur(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 wo(e){return ur(e.next_attempt_after)}function Eo(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*Pc}function nd(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 at(e,t){let r=Eo(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>oo||nd(i,r)||i.attempts>=io){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function So(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
9
+ ${i}`;continue}return null}return r}function Cs(e,t){let r=Sn(e).trim();if(!r)throw new f(`${t} cannot be empty`,m.USAGE);let n=As(r);if(n)return n;let o={},i,s=Ts(r);for(let a of s){let c=vs(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new f(gn(e,t),m.USAGE);let l=Tn(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&hn.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new f(gn(e,t),m.USAGE)}return o}var Rs=/^[A-Za-z]:[\\/]/,xs=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function ks(e){let t=e.trim();return Rs.test(t)?!1:xs.test(t)}function fu(e,t,r,n){if(!(n||!e.includes(",")))throw new f(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,m.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 Ls(e,t,r){let n=new Set(r.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!n.has(i.toLowerCase()));if(o.length>0)throw new f(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,m.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new f(`${t} provides key "${i}" more than once after case normalization.`,m.USAGE);e[s]=e[i],delete e[i]}}}async function Ms(e){if(process.stdin.isTTY===!0)throw new f(`${e} value "${$}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,m.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(Ut(n))}),process.stdin.on("error",o=>{r(o)})})}var Y=Symbol("all-mutation-stdin-fields"),k=new WeakMap;function vn(e){return k.set(e,Y),e}function Ds(e,t){let r=k.get(e);return r===Y||k.set(e,new Set([...r??[],...t])),e}function Os(e,t){let r=k.get(e);return r===void 0||k.set(t,r===Y?r:new Set(r)),t}function pu(e,t){let r=k.get(e),n=k.get(t);return r===void 0||n===Y?t:r===Y?(k.set(t,r),t):(k.set(t,new Set([...n??[],...r])),t)}function Ns(e){return k.get(e)!==Y}function He(e,t){let r=k.get(e);return r!==Y&&!r?.has(t)}function Fs(e){let t;for(let r of e){if(r.resolveToken===!1||r.value===void 0)continue;let n=(Array.isArray(r.value)?r.value:[r.value]).filter(o=>o.trim()===$).length;if(n>1)throw new f(`${r.optionName} accepts "${$}" stdin token at most once per command invocation`,m.USAGE);if(n!==0){if(t!==void 0&&t!==r.optionName)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,m.USAGE);t=r.optionName}}}async function _u(e,t,r){let n=e,o=[...t,...r];Fs(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:He(e,a)})));let i=Be(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,He(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,He(e,a));return vn(s)}function Be(){let e,t,r=async n=>{if(t&&t!==n)throw new f(`Only one option may use "${$}" stdin token per command invocation. Already used by ${t}.`,m.USAGE);return t=n,e||(e=Ms(n)),await e};return{resolveValue:async(n,o,i=!0)=>{if(!i)return n;if(n!==void 0)return n.trim()!==$?n:await r(o)},resolveList:async(n,o,i=!0)=>{if(!i)return n;if(!n)return;let s=n.map((d,l)=>d.trim()===$?l:-1).filter(d=>d>=0);if(s.length===0)return n;if(s.length>1)throw new f(`${o} accepts "${$}" stdin token at most once per command invocation`,m.USAGE);let a=await r(o),c=[...n];return c[s[0]]=a,c}}}function Ps(e,t){let r=Number(e);if(!Number.isFinite(r))throw new f(`Invalid ${t} value "${e}"`,m.USAGE);return r}function $s(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new f(`Invalid ${t} value "${e}". Expected a non-negative integer.`,m.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]="4441095d-0acd-5780-8758-7df94396cb8e")}catch{}})();function zt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Us(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=zt(t.join(`
10
+ `));return r.length>0?r.join(","):""}function zs(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Us(e);if(typeof e!="string")return"";let t=zt(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]="1dcf0d72-10da-51b6-b9f6-ab47bebcbf64")}catch{}})();function In(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function Vt(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?In(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?In(t):"root"}function Ge(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Vs(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=qr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Kr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add(Vt(_.path)),_.from!==void 0&&u.add(Vt(_.from));let p=[...u].sort((_,g)=>_.localeCompare(g));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Ge(c,n),after:Ge(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[_]})}else{let _=p.map(g=>({field:g,before:Ge(c,g),after:Ge(l,g)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:_})}}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="80805c6b-9b9a-5dad-b94b-d7dbd365fe5e")}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]="2fd342e6-06cc-56d4-aa0e-2af269234b59")}catch{}})();var js=new Set(["none","null","undefined"]);function ku(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",m.USAGE)}function qs(e){if(typeof e!="string")throw new f("--parent must be a string. Use --unset parent to clear this field.",m.USAGE);let t=e.trim();if(t.length===0)throw new f("--parent must not be empty. Use --parent none to unset.",m.USAGE);if(An(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,m.USAGE);return t}function An(e){return js.has(e.trim().toLowerCase())}function Ks(e,t){if(t==="strict_error")throw new f(`Parent item "${e}" was not found. Create it first or use --parent none.`,m.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function Hs(e,t,r){let n=oe(e,r),o=oe(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new f(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,m.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]="0257ab6d-3ef8-5b98-adfd-c7dabd537c43")}catch{}})();var jt={critical:0,high:1,medium:2,low:3,minimal:4},Bs=Object.keys(jt),Gs=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Bs.join(", ")}), case-insensitive`;function Ye(e){return new f(`Invalid priority "${e}". Accepted values: ${Gs}.`,m.USAGE)}function Ys(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ye(String(e))}if(typeof e!="string")throw Ye(String(e));let t=e.trim();if(t.length===0)throw Ye(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(jt,r))return jt[r];if(/^[0-4]$/.test(t))return Number(t);throw Ye(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]="b6206b0e-0cd8-5827-acbd-6ac064dbcad7")}catch{}})();var Ws=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,Xs=64;function Pu(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new f("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",m.USAGE)}function Qs(e,t,r){let n=t.trim();if(n.length===0)throw new f(`--${e} must not be empty. Use --${e} none to unset.`,m.USAGE);if(n.length<=Xs&&Ws.test(n))return{value:n,warnings:[]};let o="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(r==="strict_error")throw new f(`Invalid --${e} value "${n}". ${o}`,m.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]="14e6c7b4-3161-5f82-b797-f06a879d1370")}catch{}})();var Cn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Rn="all";function xn(e){if(typeof e!="string")return!1;let t=e.split(",").map(r=>r.trim().toLowerCase()).filter(r=>r.length>0);return t.length===1&&t[0]===Rn}function Js(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Cn[r];return n?t[n]:ye(e,t)}function Zs(e){let t=new Set(Object.keys(Cn));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function ea(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of Zs(t)){let s=mt(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function qt(e,t,r){if(typeof e!="string")return;let n=r?.strict===!0,o=r?.flagLabel??"--status",i=e.split(",").map(a=>a.trim()).filter(a=>a.length>0);if(i.length===0)return;if(i.filter(a=>a.trim().toLowerCase()===Rn).length>0){if(i.length===1)return;throw new f(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,m.USAGE)}let s=[];for(let a of i){let c=Js(a,t);if(c===void 0){if(n){let d=ea(a,t);throw new f(`Invalid ${o} value "${a}". Use open|closed|canceled or a configured status id${d?`. Did you mean "${d}"?`:"."}`,m.USAGE)}s.push(a);continue}s.push(c)}return[...new Set(s)]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="50f77f3f-b2b0-5ae2-b669-6ed50bbdd530")}catch{}})();var ta={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 ra(e){if(e!==void 0)return ta[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]="c628dcf9-d98f-566e-9f93-cc81e737691c")}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]="4b79bd02-51ae-5c46-be4c-2f41dd8c9486")}catch{}})();function kn(e,t){return yt(e,t)}function Kt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=zr(e,o);i!==void 0&&(n[o.metadata_key]=Vr(o,i))}return n}function Ht(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(s=>String(s));if(!n.map(s=>String(s)).every(s=>i.includes(s)))return!1;continue}if(!kn(o,n[n.length-1]))return!1;continue}if(!kn(o,n))return!1}return!0}import{spawnSync as Mn}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]="7889f11f-36f9-5384-8429-58d951c342da")}catch{}})();var na="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",oa="PM_OLLAMA_MODEL",ia="http://localhost:11434",sa="qwen3-embedding:0.6b",aa=".agents/pm/search/lancedb/",ca=1500,da=2500,la=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,ua=/embed|embedding/i,N=b;function ma(){let e=N(process.env[na]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Ln(e){return e.some(t=>N(t)!==null)}function fa(e){let t=N(e);return!!(t&&t.toLowerCase()!=="ollama")}function pa(e){let t=N(e);return!!(t&&t.toLowerCase()!=="lancedb")}function _a(e){return fa(e.search?.provider)||pa(e.vector_store?.adapter)||Ln([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Ln([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function ya(){let e=Mn("ollama",["--version"],{encoding:"utf8",timeout:ca});return e.error?!1:e.status===0}function ga(e){let t=e.split(/\r?\n/).map(n=>n.trim()).filter(n=>n.length>0);if(t.length===0)return null;let r=t.map(n=>n.split(/\s+/)[0]?.trim()).filter(n=>!!(n&&n.length>0)).filter(n=>n.toUpperCase()!=="NAME");return r.length===0?null:r.find(n=>la.test(n))||(r.find(n=>ua.test(n))??null)}function ha(e){let t=N(e.providers?.ollama?.model);if(t)return t;let r=N(process.env[oa]);if(r)return r;let n=Mn("ollama",["list"],{encoding:"utf8",timeout:da});if(!n.error&&n.status===0){let o=ga(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function ba(e){return{baseUrl:N(e.providers?.ollama?.base_url)===null,model:N(e.providers?.ollama?.model)===null,lancedbPath:N(e.vector_store?.lancedb?.path)===null,embeddingModel:N(e.search?.embedding_model)===null}}function wa(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Ea(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=ia),t.model&&(o.model=r)}function Sa(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=aa}function Ta(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function We(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(ma()||_a(e))return t;let r=ba(e);if(!wa(r)||r.model&&!ya())return t;let n=structuredClone(e),o=ha(n);return o?(Ea(n,r,o),Sa(n,r),Ta(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 ${sa} 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]="9ecff496-8afa-5cfc-9178-2be8bd403978")}catch{}})();var Ia="reindex";import Vn from"node:path";import{mkdir as Aa,readFile as Ca,stat as Yt,unlink as Ra}from"node:fs/promises";import{basename as On,dirname as Bt,isAbsolute as xa,join as ka,resolve as Wt}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]="b5f2e49a-fb72-554b-b0a8-dca0adee71f4")}catch{}})();var Xt="pm_items",La=/[^a-zA-Z0-9_-]/g,Ma=128,Da=".pm-cli-local-vectors",Gt=1,W=new Map;function ve(e){return(b(e.collection_name)??Xt).replaceAll(La,"_").slice(0,Ma)}function Xe(e){if(!te(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Fn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function Oa(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=b(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function Qt(e){let t=b(e.result?.status);if(t)return{status:t};let r=b(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function Te(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 Na(e){let t=b(e.vector_store?.qdrant?.url);if(!t)return null;let r=b(e.vector_store?.collection_name),n=b(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Xt?{collection_name:r}:{},...n?{api_key:n}:{}}}function Fa(e){let t=Wt(e),r=Bt(t);return On(t)==="pm"&&On(r)===".agents"?Bt(r):t}function Pa(e,t){return!t||xa(e)?e:Wt(Fa(t),e)}function $a(e,t){let r=b(e.vector_store?.lancedb?.path);if(!r)return null;let n=b(e.vector_store?.collection_name);return{name:"lancedb",path:Pa(r,t),...n&&n!==Xt?{collection_name:n}:{}}}function Ua(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=b(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=Xe(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 za(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=b(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function Va(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function ja(e){return e.replace(/\/points\?wait=true$/,"")}function Qe(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Je(e,t){return ce(e,t)}function ce(e,t){return ka(Wt(e),Da,`${t}.json`)}function qa(e,t,r){let n=b(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=Xe(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 Ka(e,t,r){let n;try{n=JSON.parse(r)}catch(a){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${E(a)}`)}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!==Gt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${Gt}`);let o=b(n.table);if(!o)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(o!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${o}'`);let i=n.records;if(!Array.isArray(i))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let s=new Map;for(let a=0;a<i.length;a+=1){let c=qa(i[a],a,e);s.set(c.id,c)}return s}async function Ha(e){try{let t=await Yt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!ee(t))throw t;return null}}function Ba(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 W.set(e,{records:r,mtimeMs:null,size:null}),r}function Ga(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Jt(e,t){let r=Je(e,t),n=ce(e,t),o=await Ha(n),i=W.get(r);if(!o){let a=Ba(r,i);if(a)return a}if(Ga(i,o))return i.records;let s=new Map;try{let a=await Ca(n,"utf8");s=Ka(n,t,a)}catch(a){if(!ee(a))throw a}return W.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function Ya(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 Ra(e)}catch(t){if(!ee(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function $n(e,t,r){let n=ce(e,t);if(r.size===0){await Pn(n);return}let o=Bt(n);try{await Aa(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:Gt,table:t,records:Ya(r)})}
11
+ `;try{await I(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Wa(e,t){let r=Je(e,t),n=ce(e,t);await Pn(n),W.delete(r)}function Nn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Xa(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Nn(e),o=Nn(t);return n===0||o===0?0:r/(n*o)}function Zt(e,t){let r=Na(e),n=$a(e,t),o=[r,n].filter(a=>a!==null),i=b(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(a=>a.name===s):void 0)??o[0]??null,available:o}}function Ze(e){let t=ve(e);if(e.name==="qdrant"){let o=ue(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 Qa(e,t,r){let n=Ze(e),o=Xe(t),i=Fn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:Qe(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ve(e),vector:o,limit:i}}}function Ja(e,t){let r=Ze(e),n=Ua(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),records:n}}}function Za(e,t){let r=Ze(e),n=za(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Qe(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),ids:n}}}async function um(e,t,r,n={}){let o=Qa(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=Xe(d.vector),p=Fn(d.limit),_=[],g=0;for(let y of l.values()){if(y.vector.length!==u.length){g++;continue}_.push({id:y.id,score:Xa(u,y.vector),...y.payload?{payload:y.payload}:{}})}return g>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${g} records skipped (expected ${u.length} dimensions)`),_.sort((y,h)=>y.score!==h.score?h.score-y.score:y.id.localeCompare(h.id)),_.slice(0,p)}let i=H(n.timeout_ms,"Vector request"),s=B(n.fetcher,"Vector request"),a=await Te(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return Oa(a)}async function er(e,t,r={}){let n=Ja(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Je(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=ce(a.path,c.table),p=await Yt(u);return W.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=H(r.timeout_ms,"Vector request"),i=B(r.fetcher,"Vector request"),s=await Te(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return Qt(s)}async function et(e,t,r={}){let n=Za(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Je(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)W.delete(d);else{let u=ce(a.path,c.table),p=await Yt(u);W.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=H(r.timeout_ms,"Vector request"),i=B(r.fetcher,"Vector request"),s=await Te(Va(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return Qt(s)}async function Un(e,t=[],r={},n){if(e.name==="lancedb")return await Wa(e.path,ve(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=Ze(e),s=ja(i.upsert_target),a=H(r.timeout_ms,"Vector request"),c=B(r.fetcher,"Vector request"),d=Qe(e);try{await Te(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(u){if(!E(u).includes("failed with status 404"))throw u}let l=await Te(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return Qt(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await et(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]="f8acaac5-64f7-5e22-987e-4eb12a1aa1cf")}catch{}})();function tt(e,t){let r=b(e),n=b(t);return!r||!n?null:{provider:r,model:n}}function zn(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=tt(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 tr(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 rr(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function nr(e,t){return!!(e&&e.vector_dimension!==t)}function or(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let r=e[0].length;if(!Number.isInteger(r)||r<=0)throw new Error(`${t} returned an empty vector`);for(let n=1;n<e.length;n+=1)if(e[n]?.length!==r)throw new Error(`${t} returned mixed vector dimensions`);return r}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7113dff5-c8e0-5ba6-b0ae-2ff849ed94df")}catch{}})();var jn="search/vectorization-status.json";function Ae(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function qn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function Kn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!qn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function Hn(e){let t=Vn.join(e,jn),r=await S(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of n.items){if(typeof s!="object"||s===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let a=s.id,c=s.updated_at;if(typeof a!="string"||a.trim().length===0||!qn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=zn(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 Bn(e,t,r){let n=Kn(t),o=Vn.join(e,jn),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 I(o,i)}function ec(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function tc(e){let t=tt(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function Ie(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function rc(e,t,r){if(!r.settings&&!await z(pt(e)))return Ie(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Fe(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return Ie(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return Ie(t,`search_semantic_refresh_skipped:settings_read_failed:${E(a)}`)}let o=r.apply_runtime_defaults?We(n).settings:n,i=Mt(o).active;if(!i)return Ie(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Zt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Ie(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function nc(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await be(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await kt(u,{schema:i});d.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${E(p)}`)}}return d.sort((l,u)=>l.id.localeCompare(u.id)),{documents:d,missingIds:Ae(c),skippedIds:Ae(a),warnings:s}}async function oc(e,t,r){let n=ae(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Dt(e),i=r.map(a=>Ot(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Ft(t,e,i);return{vectors:s.vectors,vector_dimension:or(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function ic(e,t,r){return await er(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:ec(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function sc(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await et(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${E(r)}`]}}}async function Mm(e,t,r={}){let n=Ae(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await rc(e,n,r);if(!("settings"in o))return o;let i=A(o.settings,P()),s=await nc(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 Hn(e):{entries:{},embedding:null,warnings:[]},c=tc(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&rr(a.embedding,c))l={refreshed:[],skipped:s.documents.map(h=>h.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let h=await oc(o.settings,o.provider,s.documents);if(nr(a.embedding,h.vector_dimension))l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=tr(c,h.vector_dimension);let w=await ic(o.vectorStore,s.documents,h.vectors);l={refreshed:w.refreshed,skipped:w.skipped,warnings:[...h.warnings,...w.warnings]}}}catch(h){l={refreshed:[],skipped:s.documents.map(w=>w.id),warnings:[`search_semantic_refresh_failed:${E(h)}`]}}let p=await sc(o.vectorStore,s.missingIds),_=new Set(l.refreshed),g=Object.fromEntries(s.documents.filter(h=>_.has(h.id)).map(h=>[h.id,h.document.metadata.updated_at])),y=[];if(Object.keys(g).length>0||s.missingIds.length>0){let h={...d,...Kn(g)};for(let w of s.missingIds)delete h[w];try{await Bn(e,h,u)}catch(w){y.push(`search_vectorization_status_ledger_write_failed:${E(w)}`)}y.push(...a.warnings)}return{refreshed:Ae([...l.refreshed,...p.refreshed]),skipped:Ae([...s.skippedIds,...l.skipped,...p.skipped]),warnings:[...s.warnings,...l.warnings,...p.warnings,...y]}}import{createRequire as lc}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]="34c9ab81-0465-51bb-9cf6-b27db1905e4c")}catch{}})();var ac=new Set(["1","true","yes","on"]),nt=["user","automation","test","dogfood"],cc=new Set(nt);function rt(e,t){return ac.has((t[e]??"").trim().toLowerCase())}function Ce(e=process.env){let t=rt("DO_NOT_TRACK",e),r=(e.PM_TELEMETRY_SOURCE_CONTEXT??"").trim().toLowerCase(),n=(typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test")&&!cc.has(r)&&!rt("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||n||rt("PM_TELEMETRY_DISABLED",e)||rt("PM_NO_TELEMETRY",e),do_not_track:t,test_suppressed: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]="64589e00-25ef-5d74-a94a-7d40455e1929")}catch{}})();var Yn=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,Nm=new RegExp(`(?:\\b|(?<=_))(${Yn.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Gn="(?:\\s|\\\\+u(?:0009|000a|000d|0020))*",Fm=new RegExp("^"+Gn+"(?::|=|\\\\+u(?:003a|003d))"+Gn,"iu");(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="07b08f80-aa60-5ffa-b969-2859839f3f2d")}catch{}})();var qm=lc(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]="bd65294f-dfa5-53d2-9691-c630884f2a5f")}catch{}})();var Bm=new Map([[m.USAGE,"invalid_command_usage"],[m.NOT_FOUND,"item_not_found"],[m.CONFLICT,"lock_conflict"],[m.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]="0d9d54cd-bd42-5958-83df-15316ea520c7")}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]="ab644545-f072-53c0-9ebf-72a62c237a2f")}catch{}})();var ef=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]="e7deff0d-d9c9-5250-b172-ab752ddd64a4")}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]="bc9e1b59-21cb-5dda-91c0-36e123734cd3")}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]="4b566486-120f-5aed-8d92-9e62ed996210")}catch{}})();function mc(e,t){if(e==null)return[];let r=t?.separators??/,/,n=e.split(r).map(i=>i.trim()).filter(i=>i.length>0),o=t?.unique!==!1?Array.from(new Set(n)):n;return t?.sort===!0?[...o].sort():o}import ir from"node:fs/promises";import ot 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]="12ee7de1-dff4-53f1-8d0d-d8b1c1ebea42")}catch{}})();function fc(e){return"json_markdown"}function Xn(e,t){return ot.relative(e,t).replaceAll("\\","/")}function pc(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function _c(e,t,r){e!==t&&Ne(await ir.readFile(t,"utf8"),{format:"json_markdown",requireSupportedFormat:!0,schema:r})}async function yc(e,t,r="item_format:migrate",n=ft,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=fc(t),l=Object.entries(n);for(let[u,p]of l){let _=ot.join(e,p),g=[];try{g=await ir.readdir(_)}catch{continue}let y=new Map;for(let w of g){let C=ot.join(_,w),R=Rr(C);if(!R)continue;let U=ot.extname(w),q=w.slice(0,w.length-U.length).trim();if(q.length===0)continue;let Z=y.get(q)??{};Z[R]=C,y.set(q,Z)}let h=[...y.keys()].sort((w,C)=>w.localeCompare(C));for(let w of h){let C=y.get(w);c+=1;let R=C[d];if(!R)continue;let U=C[t]??R,q=U===C[t]?t:d;try{let Z=await ir.readFile(U,"utf8"),Ii=Ne(Z,{format:q,requireSupportedFormat:!0,schema:o,onWarning:Ai=>a.push(`item_format_migration_parse_warning:${w}:${Ai}`)});await _c(U,R,o);let ut=_t(e,u,w,t,n),Ar=St(Ii,{format:t,schema:o});await S(ut)!==Ar&&(await I(ut,Ar),a.push(...await Me({path:ut,scope:"project",op:r})),i.add(w)),await Le(R),s.add(Xn(e,R)),a.push(...await Me({path:R,scope:"project",op:`${r}:remove`})),i.add(w)}catch(Z){a.push(`item_format_migration_skipped:${Xn(e,U)}:${pc(Z)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),warnings:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="12c59406-7e00-5fe1-bd93-c1f9d8537f01")}catch{}})();var gc=new Set(["completed","superseded"]);function hc(e){return e!==void 0&&gc.has(e)}function bc(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 yf 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]="7c005413-4db4-58ce-a8ec-96ebc91a54f9")}catch{}})();import dr from"node:crypto";import{mkdirSync as Df,rmSync as Sc,statSync as Of}from"node:fs";import{mkdir as sr,readdir as Tc,rm as lr,stat as no}from"node:fs/promises";import{request as vc}from"node:http";import{request as Ic}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]="4f455b67-536a-59be-8f25-1dc9c9c0b917")}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]="11e932b0-f880-5848-abd3-0360e21289ec")}catch{}})();var Ac=L.join("runtime","telemetry","events.jsonl"),Cc=L.join("runtime","telemetry","state.json"),Rc=L.join("runtime","telemetry","otel-spans.jsonl"),xc=8,Qn=500,kc=1;var Lc=100,Mc=36e5,Dc=3e4,Jn=2e4,Oc=1e3,Nc=25e3;var Fc=864e5,oo=65536;var io=15;var so=[25,50,100,200],Pc=3600*1e3,$c=6e4;var X="PM_TELEMETRY_FLUSH_CHILD";var Uc="PM_TELEMETRY_HTTP_TIMEOUT_MS",zc=globalThis.fetch;var Zf=Promise.resolve(),Zn=Promise.resolve();var ep=new Set(nt),Vc=new Set(["1","true","yes","on"]);var tp=dr.randomUUID();var ao="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",jc=new RegExp(`\\b(${ao})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),qc=new RegExp(`(--${ao})(=|\\s+)([^\\s,;]+)`,"giu"),Kc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Hc=/bearer\s+[a-z0-9._=-]+/giu,Bc=/\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 it(e){return L.join(e,Ac)}function st(e){return L.join(e,Rc)}function Gc(e){return L.dirname(it(e))}function co(e){return L.join(e,Cc)}function lo(e){return L.join(e,"runtime","telemetry","flush.lock")}function Yc(e){return L.join(e,"runtime","telemetry","flush.spawn.lock")}async function Wc(e){let t=await S(co(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 F(e,t){try{await Re(async()=>{let r={...await Wc(e),...t},n=Object.fromEntries(Object.entries(r).filter(([,o])=>o!==void 0).sort((o,i)=>o[0].localeCompare(i[0])));await I(co(e),`${JSON.stringify(n,null,2)}
13
+ `,{createParentDirectories:!Q(process.env[X])})},e)}catch{}}function uo(e){return e.replaceAll(jc,(t,r,n)=>`${r}${n}[redacted]`).replaceAll(qc,(t,r,n)=>`${r}${n}[redacted]`)}function mo(e){return e.replaceAll(Kc,(t,r)=>`${r}[redacted_path]`)}function fo(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function po(e){if(!e)return!1;let t=e.charCodeAt(0);return fo(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function _o(e){if(!e)return!1;let t=e.charCodeAt(0);return fo(t)?!0:e==="."||e==="-"}function Xc(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(!po(i))return!1;for(let i of n)if(!_o(i))return!1;return!0}function Qc(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&&po(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&_o(e[i]);)i+=1;let s=e.slice(o,i);if(Xc(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function yo(e){return Qc(e).replaceAll(Hc,"bearer [redacted_token]").replaceAll(Bc,"[redacted_ip]")}function Jc(e){let t=yo(e),r=uo(t),n=mo(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function Zc(e){let t=yo(e),r=uo(t),n=mo(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function cr(e,t="redacted"){return t==="max"?Zc(e):Jc(e)}function ed(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function Q(e){return Vc.has((e??"").trim().toLowerCase())}function eo(){let e=process.env[Uc]?.trim();if(!e)return Jn;let t=Number(e);return Number.isFinite(t)?Math.min(Nc,Math.max(Oc,Math.trunc(t))):Jn}async function go(e,t,r){let n=new URL(e);if(globalThis.fetch!==zc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},eo())});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:"?Ic:n.protocol==="http:"?vc:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=eo(),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 td(e){let t=await v(e);if(!t.telemetry.enabled||Ce().telemetry_disabled)return null;if(t.telemetry.installation_id.trim().length===0){if(Br(e))return null;t.telemetry.installation_id=dr.randomUUID(),await Pe(e,t,"telemetry:install_id")}return{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days)),captureLevel:ed(t.telemetry.capture_level)}}function ho(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 bo(e){let t=Math.min(Dc*2**Math.max(e-1,0),Mc);return new Date(Date.now()+t).toISOString()}function ur(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 wo(e){return ur(e.next_attempt_after)}function Eo(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*Fc}function rd(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 at(e,t){let r=Eo(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>oo||rd(i,r)||i.attempts>=io){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function So(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
15
15
  `),n=r.length>0?`${r}
16
- `:"";for(let o=0;;o+=1)try{await I(it(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=so[o];if(s===void 0||!To(i))throw i;await vo(s)}}function To(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function vo(e){return new Promise(t=>{setTimeout(t,e)})}function od(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return dr.createHash("sha256").update(t).digest("hex").slice(0,32)}function mr(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=od(o)),t.push(o))}catch{}}return t}function id(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 fr(e,t){let r=Eo(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>oo||id(i,r)||i.attempts>=io){o+=1;continue}n.push(i)}if(n.length>Qn){let i=n.length-Qn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function sd(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
16
+ `:"";for(let o=0;;o+=1)try{await I(it(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=so[o];if(s===void 0||!To(i))throw i;await vo(s)}}function To(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function vo(e){return new Promise(t=>{setTimeout(t,e)})}function nd(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return dr.createHash("sha256").update(t).digest("hex").slice(0,32)}function mr(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=nd(o)),t.push(o))}catch{}}return t}function od(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 fr(e,t){let r=Eo(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>oo||od(i,r)||i.attempts>=io){o+=1;continue}n.push(i)}if(n.length>Qn){let i=n.length-Qn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function id(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
18
18
  `),n=r.length>0?`${r}
19
- `:"";for(let o=0;;o+=1)try{await I(st(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=so[o];if(s===void 0||!To(i))throw i;await vo(s)}}async function to(e,t,r,n){return Re(async()=>{let o=await S(st(e)),i=o===null?[]:mr(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}=fr(s,t);return await sd(e,a),a.length},e)}async function ad(e,t){let r=await S(st(e));if(r===null||r.trim().length===0){await F(e,{pending_otel_spans:0});return}let n=mr(r),{entries:o,prunedCount:i}=fr(n,t),s=o.filter(g=>ur(g.next_attempt_after)).slice(0,kc);if(s.length===0){let g=i>0?await to(e,t,new Set,new Map):o.length;await F(e,{pending_otel_spans:g});return}let a=M(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async g=>{try{let y=await go(g.endpoint,{"content-type":"application/json"},JSON.stringify(g.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(g.id),l+=1}catch(y){u=y instanceof Error?cr(y.message,"redacted"):"local_otel_export_failed";let h=g.attempts+1;d.set(g.id,{attempts:h,next_attempt_after:bo(h)})}}));let p=await to(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 F(e,_)}async function cd(e,t,r){try{await ud(e,t,r)}catch{}try{await ad(e,r)}catch{}}async function dd(e,t=$c){try{let r=Yc(e),n=await vc(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 no(s)).mtimeMs<o&&await lr(s,{force:!0})}))}catch{}}async function Re(e,t=fe(process.cwd()),r=5e3){let n=Zn.catch(()=>{}).then(()=>Mr(async()=>{let o=await Oe(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!Q(process.env[X])});try{return Hr(t),await e()}finally{await o()}}));return Zn=n.catch(()=>{}),n}async function ct(e){let t=await S(it(e));return t===null||t.trim().length===0?[]:ho(t)}async function ar(e,t,r){return Re(async()=>{let n=await ct(e),{entries:o}=at(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await So(e,i),i},e)}async function ld(e,t,r,n){return Re(async()=>{let o=await ct(e),{entries:i}=at(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:bo(c)}});return await So(e,s),s},e)}async function ud(e,t,r){await dd(e);let n=t.trim();if(n.length===0)return;let o=await S(it(e));if(o===null||o.trim().length===0){await F(e,{endpoint:n,queue_entries:0});return}let i=ho(o);if(i.length===0){await F(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=at(i,r);if(s.length===0){let _=await ar(e,new Set,r);await F(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>wo(_)).slice(0,Mc);if(c.length===0){let _=a>0?await ar(e,new Set,r):s;await F(e,{endpoint:n,queue_entries:_.length});return}let d=new Set(c.map(_=>_.event.event_id)),l=M(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let _=await go(n,u,JSON.stringify({schema_version:Lc,events:c.map(g=>g.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let g=await ld(e,d,l,r),y=_ instanceof Error?cr(_.message,"redacted"):"telemetry_flush_failed";await F(e,{endpoint:n,queue_entries:g.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let _=await ar(e,d,r);await F(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(_){let g=_ instanceof Error?cr(_.message,"redacted"):"telemetry_flush_failed",y=await ct(e).catch(()=>s);await F(e,{endpoint:n,queue_entries:y.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:g})}}async function md(e){let t=lo(e);Q(process.env[X])||await sr(L.dirname(t),{recursive:!0});try{return await sr(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await no(t);return Date.now()-r.mtimeMs<Uc?!1:(await lr(t,{recursive:!0,force:!0}),await sr(t),!0)}catch{return!1}}function fd(e){try{Tc(e,{recursive:!0,force:!0})}catch{}}function pd(e){fd(Wc(e))}async function _d(e,t,r){let n=await md(e);if(pd(e),!n)return!1;try{await cd(e,t,r)}finally{try{await lr(lo(e),{recursive:!0,force:!0})}catch{}}return!0}async function ro(e,t){let r=new Set;try{let{entries:n}=at(await ct(e),t);for(let o of n.filter(wo))r.add(`event:${o.event.event_id}`)}catch{}try{let n=await S(st(e));if(n!==null)for(let o of fr(mr(n),t).entries)ur(o.next_attempt_after)&&r.add(`span:${o.id}`)}catch{}return r}async function ip(e=fe(process.cwd())){if(!Ce().telemetry_disabled)try{await Ct(e,async()=>{let t=Q(process.env[X]),r=!0;for(;r;){if(!(await v(e)).telemetry.enabled)return;let n=await Re(()=>rd(e),e);if(!n)return;let o=t?await ro(e,n.retentionDays):new Set;if(!await _d(e,n.endpoint,n.retentionDays)||!t)return;let i=await ro(e,n.retentionDays);r=i.size>0&&(i.size!==o.size||[...i].some(s=>!o.has(s)))}},()=>Q(process.env[X]))}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]="2136a81f-04e4-5084-9ec4-2208f54ae3e4")}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]="738a98bc-eaf0-578d-88e3-1c5f83c8894b")}catch{}})();function dt(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 f(`${t} must be a non-negative integer`,m.USAGE);return n}function Io(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new f(`${t} filter must be 0..4`,m.USAGE);return n}function hh(e,t,r="--type"){if(e===void 0)return;let n=me(e,t);if(!n)throw new f(`${r} filter must be one of ${t.types.join("|")}`,m.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]="75ecca0c-fac8-5a9b-9043-c65731daad4a")}catch{}})();function pr(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 f(`${t.label} requires at least one non-empty value`,m.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function xe(e,t){let r=pr(e,t);return r===void 0?void 0:new Set(r)}function Ao(e,t,r="--type"){let n=pr(e,{label:r});if(n===void 0)return;let o=n.map(i=>{let s=me(i,t);if(!s)throw new f(`${r} filter token "${i}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(o)}function Co(e,t="--priority"){let r=pr(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Io(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function Ro(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function Mo(e){return{isTerminal(t){return e.terminal_statuses.has(Ro(t,e))},classify(t){let r=Ro(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 _r(e){return T(e.acceptance_criteria)===void 0}function yr(e){return!Number.isFinite(e.estimated_minutes)}function Do(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function gd(e){return T(e.reviewer)===void 0}function hd(e){return T(e.risk)===void 0}function bd(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function wd(e){return T(e.sprint)===void 0}function Ed(e){return T(e.release)===void 0}function gr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Sd(e,t,r){return[[t.acMissing,_r(e)],[t.estimatesMissing,yr(e)],[t.resolutionMissing,Do(e,r)],[t.reviewerMissing,gd(e)],[t.riskMissing,hd(e)],[t.confidenceMissing,bd(e)],[t.sprintMissing,wd(e)],[t.releaseMissing,Ed(e)]].every(([n,o])=>n!==!0||o)}function Td(e,t){return _r(e)||yr(e)||Do(e,t)}function Oo(e,t,r){return gr(t)?!(!Sd(e,t,r)||t.metadataMissing&&!Td(e,r)):!0}var hr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function vd(e,t){switch(t){case"acceptance_criteria":return!_r(e);case"estimated_minutes":return!yr(e);case"resolution":return T(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return T(e.parent)!==void 0}}function Id(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function Ad(e,t){return t===0?100:Math.round(e/t*1e3)/10}function xo(){let e={};for(let t of hr)e[t]={present:0,applicable:0,percent:100};return e}function ko(e,t,r){for(let n of hr){if(!Id(t,n,r))continue;let o=e[n];o.applicable+=1,vd(t,n)&&(o.present+=1)}}function Lo(e){for(let t of hr){let r=e[t];r.percent=Ad(r.present,r.applicable)}}function Ah(e,t){let r=xo(),n={};for(let o of e){ko(r,o,t);let i=n[o.type]??(n[o.type]=xo());ko(i,o,t)}Lo(r);for(let o of Object.values(n))Lo(o);return{overall:r,by_type:n}}var Cd={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Rd(e){return Cd[e]}function xd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function kd(e,t,r){switch(t){case"assignee":return[T(e.assignee)??null];case"parent":return[T(e.parent)??null];case"type":return[T(e.type)??null];case"status":return[T(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let n=r.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(i=>typeof i=="string"&&i.length>0&&(!n||i.startsWith(n)));return o.length>0?o:[null]}}}function Ch(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 kd(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Rd(t),key:d,buckets:xd(),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]="67f9184e-08b6-5f21-9f92-e60974adbf1e")}catch{}})();var de=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function J(e){return Array.isArray(e)&&e.length>0}function Ld(e){return typeof e=="string"&&e.trim().length>0}function Md(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 J(e.notes);case"learnings":return J(e.learnings);case"files":return J(e.files);case"docs":return J(e.docs);case"tests":return J(e.tests);case"comments":return J(e.comments);case"deps":return J(e.dependencies);case"body":return Ld(e.body);case"linked_command":return Md(e.tests)}}function Po(e){return de.some(t=>e[t]!==void 0)}function $o(e,t){for(let r of de){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 Uo(e){return de.some(t=>t!=="body"&&e[t]!==void 0)}function zo(e){return e.body!==void 0}function No(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Dd(){let e={};for(let t of de)e[t]={present:0,total:0,percent:100};return e}function xh(e){let t=Dd(),r=e.length;for(let s of e)for(let a of de)Fo(s,a)&&(t[a].present+=1);for(let s of de)t[s].total=r,t[s].percent=No(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:No(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]="bf7ab12b-2cc6-5266-8da9-c49ef805e3fd")}catch{}})();var Bo=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}),Vo=[{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"}],wr=e=>{let t=Vo.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new f(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(Vo.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},jo=["priority","deadline","updated_at","created_at","title","parent"],qo=["asc","desc"],Go=new Set(Qr);function Od(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 f(`List source is incomplete: ${n} item document(s) and ${o} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return i}function Nd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Fd=[{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 Yo(e,t){for(let r of Fd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Wo(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 Xo(e){let t={};return Yo(t,e),t}function Qo(e){let t={};return Wo(t,e),t}var Ud=[{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"}],zd=[{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"}],Vd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],jd="-7d";function Jo(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,Ud),ei(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),Wo(c,r),Yo(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),Nd(a)&&(c.runtime_filters=a),c}function Er(e,t,r){let n=K(e.status,r),o=K(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=ne(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function qd(e,t){return[...e].sort((r,n)=>Er(r,n,t))}function Ko(e,t){if(e!==void 0)return De(e,new Date,t)}function ke(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return De(r,new Date,t)}function Zo(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new f("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?ke(jd,"recent"):ke(e.updatedAfter,"updated-after")}function ei(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function ti(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);let r=t.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(r.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);return new Set(r)}function Sr(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 f("Offset filter must be a non-negative integer",m.USAGE);return r}function ri(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 f("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function ni(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=ri(e.fields);if(Number(r)+Number(n)+Number(o)+ +(i!==void 0)>1)throw new f("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...wt]}:r?{mode:"compact",fields:[...bt]}:i?{mode:"fields",fields:[...new Set(i.map(s=>j(s)))]}:{mode:"full",fields:[]}}function j(e){return e.startsWith("item.")?e.slice(5):e}function Kd(e,t,r){if(e.mode!=="fields")return;let n=Et(t),o=new Set(n.map(s=>j(s))),i=e.fields.filter(s=>!o.has(j(s)));if(i.length>0){let s=[r,"--fields",e.fields.filter(a=>!i.includes(a)).join(",")||"id,title,status"];throw new f(`Unknown list --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:n,suggested_retry:Or(s),suggested_retry_args:s}})}}var Hd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function oi(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Hd.get(t);if(r)return r;if(!jo.includes(t))throw new f(`Sort field must be one of ${jo.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function ii(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!qo.includes(t))throw new f(`Sort order must be one of ${qo.join("|")}`,m.USAGE);return t}function Bd(e){return dt(e,"--tree-depth")}function si(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new f("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new f(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function Ho(e,t){return qt(e,t,{strict:!0})}function ai(e){return xe(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Gd(e,t,r){let n=ai(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 Yd(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new f('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new f("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Wd(e,t,r,n){let o=xe(t.assignee,{label:"--assignee"}),i=si(t.assigneeFilter);Yd(o,i);let s=Bo(t),a=wr(t);return{idsFilter:ti(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ao(t.type,r),tagFilters:ai(t.tag),priorityFilter:Co(t.priority),deadlineBefore:Ko(t.deadlineBefore,"deadline-before"),deadlineAfter:Ko(t.deadlineAfter,"deadline-after"),updatedAfter:Zo(t),updatedBefore:ke(t.updatedBefore,"updated-before"),createdAfter:ke(t.createdAfter,"created-after"),createdBefore:ke(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:xe(t.sprint,{label:"--sprint"}),releaseFilter:xe(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:gr(s),lifecycleClassifier:Mo(n),contentFieldFilters:a,contentFiltersActive:Po(a)}}function Xd(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&K(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 Qd(e,t){return $r(e,t)}function Jd(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 Zd(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 el(e,t,r,n,o){return!(!Xd(e,t,r)||!Qd(e,t)||!Jd(e,t)||!Zd(e,t,o)||t.missingMetadataActive&&!Oo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!$o(e,t.contentFieldFilters)||!Ht(e,n))}function ci(e,t,r,n,o,i,s){let a=Wd(t,r,n,o);return e.filter(c=>el(c,a,o,i,s))}function le(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function br(e,t,r,n){let o=e,i=typeof o.title=="string"?o.title:"",s=n??le(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 tl(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)??[]:[le(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 rl(e,t,r,n,o){return t?[...n.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[le(i.parent)?.toLowerCase()].filter(s=>s!==void 0)).every(s=>!r.has(s)))}function di(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=tl(e,n),a=rl(e,t,i,s,n),c=[],d=new Set,l=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:_,parentId:g}=u.pop(),y=p.id.trim().toLowerCase();if(d.has(y))continue;d.add(y);let h=s.get(y)??[];if(c.push(br(p,_,h.length,g)),!(r!==void 0&&_>=r))for(let w of[...h].reverse())u.push({node:w,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(br(p,0,s.get(_)?.length??0)))}return c}function li(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function ui(e,t){return e===t?0:e===null?1:t===null?-1:ne(e,t)}function mi(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return ui(e.deadline??null,t.deadline??null);case"updated_at":return ne(e.updated_at,t.updated_at);case"created_at":return ne(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return li(e.parent??null,t.parent??null);default:return 0}}function fi(e,t,r,n){return t?[...e].sort((o,i)=>{let s=mi(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=Er(o,i,n);return r==="desc"?-a:a}):qd(e,n)}function pi(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 Tr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=pi(n,i,r);return o})}function _i(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function yi(e,t){let r=dt(e.limit);if(r!==void 0)return r;if(e.noTruncate!==!0)return t>=1e4?20:void 0}function nl(e,t,r){return t.after===void 0?Sr(t.offset)??0:Pr(e,t.after,r,n=>n.id)}function gi(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function ol(e,t){let r=x(process.cwd(),t.path);await ie(r);let n=await v(r),o=re(n.schema),i=gt(n.schema),s=e.projectionCommand??"list",a=ni(e,s);return Kd(a,_i(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Kt(e,i,"list"),typeRegistry:A(n,P()),projection:a}}async function il(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Go.has(j(c))),i=wr(e),s=Uo(i),a=zo(i);return e.includeBody||n||a?await Jr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await Lt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await se(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function sl(e){let t=oi(e.sort),r=ii(e.order)??"asc",n=e.tree===!0;if(!n&&e.treeDepth!==void 0)throw new f("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new f("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:r,treeEnabled:n,treeDepth:n?Bd(e.treeDepth):void 0,parentRoot:n?le(e.parent):void 0}}function al(e,t,r){let n=Ho(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??Ho(e,r),s=xn(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 cl(e,t,r,n,o){if(t.after!==void 0&&t.offset!==void 0)throw new f("List --after cannot be combined with --offset.",m.USAGE);let i=yi(t,e.length),s=nl(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=Tr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ht(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:gi(i,l,u)}}function hi(e,t,r,n){return Fr("list",{pmRoot:n,status:e,options:Nr(t,kr),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function dl(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(_=>{let g=j(_);return g==="body"||Go.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,Dr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([_,g])=>g!==void 0&&!i.has(_))].includes(!0))return null;let a=await ge(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!a)return null;let c=dt(t.limit),d=Sr(t.offset)??0,l=await Rt({pmRoot:r.pmRoot,expectedSourceCursor:a.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:c,offset:d}});if(!l)return null;let u=l.items.length>0&&d+l.items.length<l.total,p=u?ht(hi(n.filtersStatus,t,o,r.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:Tr(l.items,r.projection,!1),totalMatched:l.total,pageExtras:gi(c,u,p)}}function ll(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 zd){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of Vd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Qo(r),Xo(r)),ei(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 sb(e,t,r){let n=await ol(t,r),o=[],i=sl(t),s=al(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await dl({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let g=await il(t,n,o),y=i.treeEnabled||le(t.parent)!==void 0?rn(tn(g,en())):void 0;Gd(g,t.tag,o);let h=ci(g,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,y?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let U=Zr(g,n.statusRegistry);return h.filter(q=>U.has(q.id.trim().toLowerCase()))})():h,C=fi(w,i.sortField,i.sortOrder,n.statusRegistry),R=i.treeEnabled?di(C,i.parentRoot,i.treeDepth,y,g):C;d=cl(R,t,n.projection,i.treeEnabled,hi(s.filtersStatus,t,i,n.pmRoot))}let l=M(),u=[...new Set(o)].sort((g,y)=>g.localeCompare(y)),p=Od(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let g=Jo({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:g,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:ll({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 ab={applyFilters:ci,buildCompactListFilterSummary:Jo,buildContentFilterEcho:Xo,buildGovernanceMissingFilterEcho:Qo,resolveContentFieldFilters:wr,resolveMissingMetadataFilters:Bo,compareBySortField:mi,compareDefaultSort:Er,compareNullableString:li,compareNullableTimestamp:ui,normalizeProjectionField:j,parseAssigneeFilter:si,parseFieldSelectors:ri,parseIdsFilter:ti,parseOffset:Sr,parseProjectionConfig:ni,resolveListUpdatedAfter:Zo,resolveListPageLimit:yi,parseSortField:oi,parseSortOrder:ii,orderItemsAsTree:di,projectListItems:Tr,readListFieldValue:pi,runtimeMetadataKeysForProjection:_i,sortItems:fi,trimNonEmpty:le,withTreeMetadata:br};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function wb(e){let t=x(process.cwd(),e);await ie(t);let r=await v(t),n=A(r,P());return{pmRoot:t,settings:r,typeRegistry:n}}async function bi(e,t,r,n){pe(e,$e(t));let o=await he(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:pe(e,o.id),located:o};let i=oe(t,r.id_prefix),s=$e(t),a=i===s?[i]:[i,s];for(let c of a){let d=pe(e,c);if(await z(d))return{id:c,historyPath:d,located:null}}throw new f(`Item ${t} not found`,m.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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function zb(e,t){let r=At(e),n=e.length>0?e[e.length-1].after_hash:vt(),o=t===void 0||r.item_hash_version===void 0?void 0:jr(t,r.item_hash_version,Ur(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Tt(t):o[Math.max(0,o.indexOf(n))],s=i===void 0?void 0:i===n,a=[...r.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function Vb(e,t,r={}){let n=x(r.cwd??process.cwd(),r.pmRoot);await ie(n);let o=await v(n),i=A(o,P()),s=await bi(n,e,o,i.type_to_folder),a=await ye(s.historyPath,s.id);if(a.length===0)throw new f(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let c=Yr(t,a),d=Xr(Wr(a,c.historyIndex),c),l=It(d,{schema:o.schema});if(l.metadata.id!==s.id)throw new f(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[c.historyIndex],p=Gr(a,!0);return{document:l,reconstructed:!0,as_of_version:p===null?null:p+c.historyIndex+1,as_of_timestamp:u.ts,target:c,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="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]="67d97df8-6551-52ed-9307-8b573a087831")}catch{}})();var lt=1e6;function vr(e,t=lt,r=.8,n=!1){let o=new Set,i=(l,u)=>{if(o.add(`${l}:${u}`),o.size>t)throw new f(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,m.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(n||r===0){for(let l=0;l<e.length;l+=1)for(let u=0;u<l;u+=1)i(u,l);return o}let s=new Map;for(let{prepared:l}of e)for(let u of l.tokens)s.set(u,(s.get(u)??0)+1);let a=new Map,c=new Map,d=new Map;for(let[l,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((y,h)=>s.get(y)-s.get(h)||y.localeCompare(h)),_=p.length-Math.ceil(r*p.length-1e-12)+1,g=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:c,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,_),lengthFilter:!0}];for(let y of g)ul(e,l,y,r,i)}return o}function ul(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]="a5f450bd-8970-5b1b-8250-b76b7818e6e1")}catch{}})();var ml=3,wi=20,fl=.8,pl=100,Ei=1e3;function mw(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 _l(e,t){let r=e.items[0],n=x(t.cwd??process.cwd(),t.pmRoot),o=re((await v(n)).schema);return K(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 Ir(e){let t=e.limit??ml,r=e.threshold??fl;if(!Number.isSafeInteger(t)||t<0||t>wi)throw new f(`Similarity limit must be an integer from 0 to ${wi}.`,m.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new f("Similarity threshold must be a number from 0 to 1.",m.USAGE);return{limit:t,threshold:r}}function Si(e){let t=e.limit??pl;if(!Number.isSafeInteger(t)||t<0||t>Ei)throw new f(`Duplicate cluster limit must be an integer from 0 to ${Ei}.`,m.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new f("Duplicate cluster --since must be a valid ISO timestamp.",m.USAGE);return{limit:t,since:r}}async function yl(e,t){let r=x(e.cwd??process.cwd(),e.pmRoot),n=await v(r),o=A(n),i=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new f("Duplicate cluster statuses must include at least one lifecycle status or all.",m.USAGE);let s=re(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=_e(u,s);if(!p)throw new f(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,m.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new f('The "all" status cannot be combined with other statuses.',m.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await se(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 fw={buildDuplicateClusters:vi,collectDuplicateCandidatePairs:vr,createDuplicateUnionFind:Ti};function Ti(e){let t=Array.from({length:e},(r,n)=>n);return{parent:t,findRoot:r=>{let n=r;for(;t[n]!==n;)n=t[n];for(;t[r]!==r;){let o=t[r];t[r]=n,r=o}return n}}}function gl(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=qe(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 vi(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 hl(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,...je(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 bl(e,t={}){let r=e.title.trim();if(r.length===0)throw new f("Similarity candidate title must not be empty.",m.USAGE);let{limit:n,threshold:o}=Ir(t),i=x(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=A(s),c=await ge(i,Object.values(a.type_to_folder)),d=Se(r),l=c&&d.length>0?await xt({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await se(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=hl(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function wl(e,t={}){let{threshold:r}=Ir({...t,limit:void 0}),{limit:n}=Si(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new f("Duplicate analysis requires unique non-empty item ids.",m.USAGE);o.add(l.id)}let i=[...e].sort((l,u)=>l.id.localeCompare(u.id)).map(l=>({item:l,prepared:Ee(l.title)})),s=vr(i,lt,r,t.exhaustive===!0),a=Ti(i.length),c=gl(i,s,r,a),d=vi(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:lt,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function pw(e={}){Ir({...e,limit:void 0});let{since:t}=Si(e),{items:r,statuses:n}=await yl(e,t);return{...wl(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function _w(e,t){if(t.mode==="off")return;let r=await bl(e,t);if(r.count===0)return;let n=await _l(r,t),o=t.mode==="strict"&&t.allowDuplicate===!0;if(t.mode==="strict"&&!o){let i=r.items.map(a=>`${a.id} (${a.status}): ${a.title}`).join("; "),s=n.action==="reopen"?"Reopen the canonical item":"Reuse the canonical item";throw new f(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,m.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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function gw(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{cs as a,us as b,fs as c,_s as d,ys as e,uu as f,gs as g,hs as h,_u as i,bn as j,bs as k,ws as l,Es as m,Ss as n,Rs as o,Ls as p,yu as q,Ms as r,vn as s,Os as t,Ns as u,gu as v,Fs as w,He as x,hu as y,Be as z,$s as A,Us as B,zt as C,Vs as D,Vt as E,js as F,Du as G,Ks as H,An as I,Hs as J,Bs as K,Ws as L,zu as M,Js as N,qt as O,na as P,nn as Q,Kt as R,Ht as S,We as T,Aa as U,Rl as V,Mt as W,cn as X,Dt as Y,Ui as Z,zi as _,Ll as $,dn as aa,ae as ba,Ot as ca,Ft as da,Zt as ea,pm as fa,er as ga,et as ha,Un as ia,tt as ja,tr as ka,rr as la,nr as ma,or as na,Hn as oa,Bn as pa,Nm as qa,nt as ra,Ce as sa,Qi as ta,fn as ua,Ji as va,Zi as wa,es as xa,jl as ya,Kl as za,we as Aa,Ve as Ba,Se as Ca,Ee as Da,je as Ea,qe as Fa,pn as Ga,ss as Ha,fc as Ia,gc as Ja,bc as Ka,wc as La,Lc as Ma,io as Na,Re as Oa,ip as Pa,dt as Qa,Io as Ra,hh as Sa,pr as Ta,xe as Ua,Ao as Va,Co as Wa,Mo as Xa,gr as Ya,Oo as Za,Ah as _a,Ch as $a,Po as ab,$o as bb,xh as cb,Bo as db,wr as eb,jo as fb,qo as gb,$d as hb,Xo as ib,Qo as jb,sb as kb,ab as lb,wb as mb,bi as nb,zb as ob,Vb as pb,mw as qb,fw as rb,bl as sb,wl as tb,pw as ub,_w as vb,gw as wb};
20
- //# sourceMappingURL=chunk-5TBAVZDR.js.map
19
+ `:"";for(let o=0;;o+=1)try{await I(st(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=so[o];if(s===void 0||!To(i))throw i;await vo(s)}}async function to(e,t,r,n){return Re(async()=>{let o=await S(st(e)),i=o===null?[]:mr(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}=fr(s,t);return await id(e,a),a.length},e)}async function sd(e,t){let r=await S(st(e));if(r===null||r.trim().length===0){await F(e,{pending_otel_spans:0});return}let n=mr(r),{entries:o,prunedCount:i}=fr(n,t),s=o.filter(g=>ur(g.next_attempt_after)).slice(0,xc);if(s.length===0){let g=i>0?await to(e,t,new Set,new Map):o.length;await F(e,{pending_otel_spans:g});return}let a=M(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async g=>{try{let y=await go(g.endpoint,{"content-type":"application/json"},JSON.stringify(g.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(g.id),l+=1}catch(y){u=y instanceof Error?cr(y.message,"redacted"):"local_otel_export_failed";let h=g.attempts+1;d.set(g.id,{attempts:h,next_attempt_after:bo(h)})}}));let p=await to(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 F(e,_)}async function ad(e,t,r){try{await ld(e,t,r)}catch{}try{await sd(e,r)}catch{}}async function cd(e,t=Pc){try{let r=Gc(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 no(s)).mtimeMs<o&&await lr(s,{force:!0})}))}catch{}}async function Re(e,t=fe(process.cwd()),r=5e3){let n=Zn.catch(()=>{}).then(()=>Mr(async()=>{let o=await Oe(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!Q(process.env[X])});try{return Hr(t),await e()}finally{await o()}}));return Zn=n.catch(()=>{}),n}async function ct(e){let t=await S(it(e));return t===null||t.trim().length===0?[]:ho(t)}async function ar(e,t,r){return Re(async()=>{let n=await ct(e),{entries:o}=at(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await So(e,i),i},e)}async function dd(e,t,r,n){return Re(async()=>{let o=await ct(e),{entries:i}=at(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:bo(c)}});return await So(e,s),s},e)}async function ld(e,t,r){await cd(e);let n=t.trim();if(n.length===0)return;let o=await S(it(e));if(o===null||o.trim().length===0){await F(e,{endpoint:n,queue_entries:0});return}let i=ho(o);if(i.length===0){await F(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=at(i,r);if(s.length===0){let _=await ar(e,new Set,r);await F(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>wo(_)).slice(0,Lc);if(c.length===0){let _=a>0?await ar(e,new Set,r):s;await F(e,{endpoint:n,queue_entries:_.length});return}let d=new Set(c.map(_=>_.event.event_id)),l=M(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let _=await go(n,u,JSON.stringify({schema_version:kc,events:c.map(g=>g.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let g=await dd(e,d,l,r),y=_ instanceof Error?cr(_.message,"redacted"):"telemetry_flush_failed";await F(e,{endpoint:n,queue_entries:g.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let _=await ar(e,d,r);await F(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(_){let g=_ instanceof Error?cr(_.message,"redacted"):"telemetry_flush_failed",y=await ct(e).catch(()=>s);await F(e,{endpoint:n,queue_entries:y.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:g})}}async function ud(e){let t=lo(e);Q(process.env[X])||await sr(L.dirname(t),{recursive:!0});try{return await sr(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await no(t);return Date.now()-r.mtimeMs<$c?!1:(await lr(t,{recursive:!0,force:!0}),await sr(t),!0)}catch{return!1}}function md(e){try{Sc(e,{recursive:!0,force:!0})}catch{}}function fd(e){md(Yc(e))}async function pd(e,t,r){let n=await ud(e);if(fd(e),!n)return!1;try{await ad(e,t,r)}finally{try{await lr(lo(e),{recursive:!0,force:!0})}catch{}}return!0}async function ro(e,t){let r=new Set;try{let{entries:n}=at(await ct(e),t);for(let o of n.filter(wo))r.add(`event:${o.event.event_id}`)}catch{}try{let n=await S(st(e));if(n!==null)for(let o of fr(mr(n),t).entries)ur(o.next_attempt_after)&&r.add(`span:${o.id}`)}catch{}return r}async function rp(e=fe(process.cwd())){if(!Ce().telemetry_disabled)try{await Ct(e,async()=>{let t=Q(process.env[X]),r=!0;for(;r;){if(!(await v(e)).telemetry.enabled)return;let n=await Re(()=>td(e),e);if(!n)return;let o=t?await ro(e,n.retentionDays):new Set;if(!await pd(e,n.endpoint,n.retentionDays)||!t)return;let i=await ro(e,n.retentionDays);r=i.size>0&&(i.size!==o.size||[...i].some(s=>!o.has(s)))}},()=>Q(process.env[X]))}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]="815b0447-61c0-5f91-ad64-22c092c52139")}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]="738a98bc-eaf0-578d-88e3-1c5f83c8894b")}catch{}})();function dt(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 f(`${t} must be a non-negative integer`,m.USAGE);return n}function Io(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new f(`${t} filter must be 0..4`,m.USAGE);return n}function yh(e,t,r="--type"){if(e===void 0)return;let n=me(e,t);if(!n)throw new f(`${r} filter must be one of ${t.types.join("|")}`,m.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]="75ecca0c-fac8-5a9b-9043-c65731daad4a")}catch{}})();function pr(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 f(`${t.label} requires at least one non-empty value`,m.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function xe(e,t){let r=pr(e,t);return r===void 0?void 0:new Set(r)}function Ao(e,t,r="--type"){let n=pr(e,{label:r});if(n===void 0)return;let o=n.map(i=>{let s=me(i,t);if(!s)throw new f(`${r} filter token "${i}" must be one of ${t.types.join("|")}`,m.USAGE);return s});return new Set(o)}function Co(e,t="--priority"){let r=pr(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Io(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function Ro(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function Mo(e){return{isTerminal(t){return e.terminal_statuses.has(Ro(t,e))},classify(t){let r=Ro(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 _r(e){return T(e.acceptance_criteria)===void 0}function yr(e){return!Number.isFinite(e.estimated_minutes)}function Do(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function yd(e){return T(e.reviewer)===void 0}function gd(e){return T(e.risk)===void 0}function hd(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function bd(e){return T(e.sprint)===void 0}function wd(e){return T(e.release)===void 0}function gr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Ed(e,t,r){return[[t.acMissing,_r(e)],[t.estimatesMissing,yr(e)],[t.resolutionMissing,Do(e,r)],[t.reviewerMissing,yd(e)],[t.riskMissing,gd(e)],[t.confidenceMissing,hd(e)],[t.sprintMissing,bd(e)],[t.releaseMissing,wd(e)]].every(([n,o])=>n!==!0||o)}function Sd(e,t){return _r(e)||yr(e)||Do(e,t)}function Oo(e,t,r){return gr(t)?!(!Ed(e,t,r)||t.metadataMissing&&!Sd(e,r)):!0}var hr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Td(e,t){switch(t){case"acceptance_criteria":return!_r(e);case"estimated_minutes":return!yr(e);case"resolution":return T(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return T(e.parent)!==void 0}}function vd(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function Id(e,t){return t===0?100:Math.round(e/t*1e3)/10}function xo(){let e={};for(let t of hr)e[t]={present:0,applicable:0,percent:100};return e}function ko(e,t,r){for(let n of hr){if(!vd(t,n,r))continue;let o=e[n];o.applicable+=1,Td(t,n)&&(o.present+=1)}}function Lo(e){for(let t of hr){let r=e[t];r.percent=Id(r.present,r.applicable)}}function vh(e,t){let r=xo(),n={};for(let o of e){ko(r,o,t);let i=n[o.type]??(n[o.type]=xo());ko(i,o,t)}Lo(r);for(let o of Object.values(n))Lo(o);return{overall:r,by_type:n}}var Ad={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Cd(e){return Ad[e]}function Rd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function xd(e,t,r){switch(t){case"assignee":return[T(e.assignee)??null];case"parent":return[T(e.parent)??null];case"type":return[T(e.type)??null];case"status":return[T(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let n=r.tagPrefix?.trim(),o=(Array.isArray(e.tags)?e.tags:[]).filter(i=>typeof i=="string"&&i.length>0&&(!n||i.startsWith(n)));return o.length>0?o:[null]}}}function Ih(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 xd(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Cd(t),key:d,buckets:Rd(),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]="67f9184e-08b6-5f21-9f92-e60974adbf1e")}catch{}})();var de=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function J(e){return Array.isArray(e)&&e.length>0}function kd(e){return typeof e=="string"&&e.trim().length>0}function Ld(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 J(e.notes);case"learnings":return J(e.learnings);case"files":return J(e.files);case"docs":return J(e.docs);case"tests":return J(e.tests);case"comments":return J(e.comments);case"deps":return J(e.dependencies);case"body":return kd(e.body);case"linked_command":return Ld(e.tests)}}function Po(e){return de.some(t=>e[t]!==void 0)}function $o(e,t){for(let r of de){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 Uo(e){return de.some(t=>t!=="body"&&e[t]!==void 0)}function zo(e){return e.body!==void 0}function No(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Md(){let e={};for(let t of de)e[t]={present:0,total:0,percent:100};return e}function Ch(e){let t=Md(),r=e.length;for(let s of e)for(let a of de)Fo(s,a)&&(t[a].present+=1);for(let s of de)t[s].total=r,t[s].percent=No(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:No(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]="bf7ab12b-2cc6-5266-8da9-c49ef805e3fd")}catch{}})();var Bo=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}),Vo=[{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"}],wr=e=>{let t=Vo.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new f(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,m.USAGE);return Object.fromEntries(Vo.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},jo=["priority","deadline","updated_at","created_at","title","parent"],qo=["asc","desc"],Go=new Set(Qr);function Dd(e,t,r){let n=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,o=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,i={status:t?"unchecked":n+o>0?"partial":"complete",unreadable_item_count:n,unreadable_directory_count:o};if(r&&i.status==="partial")throw new f(`List source is incomplete: ${n} item document(s) and ${o} item directory/directories could not be read.`,m.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return i}function Od(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Nd=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],Fd=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function Yo(e,t){for(let r of Nd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Wo(e,t){for(let r of Fd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Pd(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 Xo(e){let t={};return Yo(t,e),t}function Qo(e){let t={};return Wo(t,e),t}var $d=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],Ud=[{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"}],zd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Vd="-7d";function Jo(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"),Pd(c,r,$d),ei(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),Wo(c,r),Yo(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),Od(a)&&(c.runtime_filters=a),c}function Er(e,t,r){let n=K(e.status,r),o=K(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=ne(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function jd(e,t){return[...e].sort((r,n)=>Er(r,n,t))}function Ko(e,t){if(e!==void 0)return De(e,new Date,t)}function ke(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return De(r,new Date,t)}function Zo(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(r=>r).length>1)throw new f("Choose only one updated_at window: --today, --recent, or --updated-after.",m.USAGE);if(e.today===!0){let r=new Date;return r.setHours(0,0,0,0),r.toISOString()}return e.recent===!0?ke(Vd,"recent"):ke(e.updatedAfter,"updated-after")}function ei(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function ti(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);let r=t.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(r.length===0)throw new f("--ids requires at least one non-empty item ID",m.USAGE);return new Set(r)}function Sr(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 f("Offset filter must be a non-negative integer",m.USAGE);return r}function ri(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 f("List --fields requires a comma-separated list of field names",m.USAGE);return[...new Set(t)]}function ni(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=ri(e.fields);if(Number(r)+Number(n)+Number(o)+ +(i!==void 0)>1)throw new f("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",m.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...wt]}:r?{mode:"compact",fields:[...bt]}:i?{mode:"fields",fields:[...new Set(i.map(s=>j(s)))]}:{mode:"full",fields:[]}}function j(e){return e.startsWith("item.")?e.slice(5):e}function qd(e,t,r){if(e.mode!=="fields")return;let n=Et(t),o=new Set(n.map(s=>j(s))),i=e.fields.filter(s=>!o.has(j(s)));if(i.length>0){let s=[r,"--fields",e.fields.filter(a=>!i.includes(a)).join(",")||"id,title,status"];throw new f(`Unknown list --fields value(s): ${i.join(", ")}`,m.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:n,suggested_retry:Or(s),suggested_retry_args:s}})}}var Kd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function oi(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Kd.get(t);if(r)return r;if(!jo.includes(t))throw new f(`Sort field must be one of ${jo.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function ii(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!qo.includes(t))throw new f(`Sort order must be one of ${qo.join("|")}`,m.USAGE);return t}function Hd(e){return dt(e,"--tree-depth")}function si(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new f("Assignee filter must be one of assigned|unassigned",m.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new f(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,m.USAGE);return t}function Ho(e,t){return qt(e,t,{strict:!0})}function ai(e){return xe(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Bd(e,t,r){let n=ai(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 Gd(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new f('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',m.USAGE);if(e!==void 0&&t==="unassigned")throw new f("Cannot combine --assignee with --assignee-filter unassigned",m.USAGE)}function Yd(e,t,r,n){let o=xe(t.assignee,{label:"--assignee"}),i=si(t.assigneeFilter);Gd(o,i);let s=Bo(t),a=wr(t);return{idsFilter:ti(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ao(t.type,r),tagFilters:ai(t.tag),priorityFilter:Co(t.priority),deadlineBefore:Ko(t.deadlineBefore,"deadline-before"),deadlineAfter:Ko(t.deadlineAfter,"deadline-after"),updatedAfter:Zo(t),updatedBefore:ke(t.updatedBefore,"updated-before"),createdAfter:ke(t.createdAfter,"created-after"),createdBefore:ke(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:xe(t.sprint,{label:"--sprint"}),releaseFilter:xe(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:gr(s),lifecycleClassifier:Mo(n),contentFieldFilters:a,contentFiltersActive:Po(a)}}function Wd(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&K(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 Xd(e,t){return $r(e,t)}function Qd(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 Jd(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 Zd(e,t,r,n,o){return!(!Wd(e,t,r)||!Xd(e,t)||!Qd(e,t)||!Jd(e,t,o)||t.missingMetadataActive&&!Oo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!$o(e,t.contentFieldFilters)||!Ht(e,n))}function ci(e,t,r,n,o,i,s){let a=Yd(t,r,n,o);return e.filter(c=>Zd(c,a,o,i,s))}function le(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function br(e,t,r,n){let o=e,i=typeof o.title=="string"?o.title:"",s=n??le(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 el(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)??[]:[le(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 tl(e,t,r,n,o){return t?[...n.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[le(i.parent)?.toLowerCase()].filter(s=>s!==void 0)).every(s=>!r.has(s)))}function di(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=el(e,n),a=tl(e,t,i,s,n),c=[],d=new Set,l=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:_,parentId:g}=u.pop(),y=p.id.trim().toLowerCase();if(d.has(y))continue;d.add(y);let h=s.get(y)??[];if(c.push(br(p,_,h.length,g)),!(r!==void 0&&_>=r))for(let w of[...h].reverse())u.push({node:w,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(br(p,0,s.get(_)?.length??0)))}return c}function li(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function ui(e,t){return e===t?0:e===null?1:t===null?-1:ne(e,t)}function mi(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return ui(e.deadline??null,t.deadline??null);case"updated_at":return ne(e.updated_at,t.updated_at);case"created_at":return ne(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return li(e.parent??null,t.parent??null);default:return 0}}function fi(e,t,r,n){return t?[...e].sort((o,i)=>{let s=mi(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=Er(o,i,n);return r==="desc"?-a:a}):jd(e,n)}function pi(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 Tr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=pi(n,i,r);return o})}function _i(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function yi(e,t){let r=dt(e.limit);if(r!==void 0)return r;if(e.noTruncate!==!0)return t>=1e4?20:void 0}function rl(e,t,r){return t.after===void 0?Sr(t.offset)??0:Pr(e,t.after,r,n=>n.id)}function gi(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function nl(e,t){let r=x(process.cwd(),t.path);await ie(r);let n=await v(r),o=re(n.schema),i=gt(n.schema),s=e.projectionCommand??"list",a=ni(e,s);return qd(a,_i(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Kt(e,i,"list"),typeRegistry:A(n,P()),projection:a}}async function ol(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Go.has(j(c))),i=wr(e),s=Uo(i),a=zo(i);return e.includeBody||n||a?await Jr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await Lt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await se(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function il(e){let t=oi(e.sort),r=ii(e.order)??"asc",n=e.tree===!0;if(!n&&e.treeDepth!==void 0)throw new f("List --tree-depth requires --tree",m.USAGE);if(!t&&e.order!==void 0)throw new f("List --order requires --sort",m.USAGE);return{sortField:t,sortOrder:r,treeEnabled:n,treeDepth:n?Hd(e.treeDepth):void 0,parentRoot:n?le(e.parent):void 0}}function sl(e,t,r){let n=Ho(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??Ho(e,r),s=xn(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 al(e,t,r,n,o){if(t.after!==void 0&&t.offset!==void 0)throw new f("List --after cannot be combined with --offset.",m.USAGE);let i=yi(t,e.length),s=rl(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=Tr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?ht(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:gi(i,l,u)}}function hi(e,t,r,n){return Fr("list",{pmRoot:n,status:e,options:Nr(t,kr),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function cl(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(_=>{let g=j(_);return g==="body"||Go.has(g)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,Dr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([_,g])=>g!==void 0&&!i.has(_))].includes(!0))return null;let a=await he(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!a)return null;let c=dt(t.limit),d=Sr(t.offset)??0,l=await Rt({pmRoot:r.pmRoot,expectedSourceCursor:a.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:c,offset:d}});if(!l)return null;let u=l.items.length>0&&d+l.items.length<l.total,p=u?ht(hi(n.filtersStatus,t,o,r.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:Tr(l.items,r.projection,!1),totalMatched:l.total,pageExtras:gi(c,u,p)}}function dl(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 Ud){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of zd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Qo(r),Xo(r)),ei(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 ob(e,t,r){let n=await nl(t,r),o=[],i=il(t),s=sl(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await cl({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let g=await ol(t,n,o),y=i.treeEnabled||le(t.parent)!==void 0?rn(tn(g,en())):void 0;Bd(g,t.tag,o);let h=ci(g,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,y?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let U=Zr(g,n.statusRegistry);return h.filter(q=>U.has(q.id.trim().toLowerCase()))})():h,C=fi(w,i.sortField,i.sortOrder,n.statusRegistry),R=i.treeEnabled?di(C,i.parentRoot,i.treeDepth,y,g):C;d=al(R,t,n.projection,i.treeEnabled,hi(s.filtersStatus,t,i,n.pmRoot))}let l=M(),u=[...new Set(o)].sort((g,y)=>g.localeCompare(y)),p=Dd(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let g=Jo({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:g,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:dl({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 ib={applyFilters:ci,buildCompactListFilterSummary:Jo,buildContentFilterEcho:Xo,buildGovernanceMissingFilterEcho:Qo,resolveContentFieldFilters:wr,resolveMissingMetadataFilters:Bo,compareBySortField:mi,compareDefaultSort:Er,compareNullableString:li,compareNullableTimestamp:ui,normalizeProjectionField:j,parseAssigneeFilter:si,parseFieldSelectors:ri,parseIdsFilter:ti,parseOffset:Sr,parseProjectionConfig:ni,resolveListUpdatedAfter:Zo,resolveListPageLimit:yi,parseSortField:oi,parseSortOrder:ii,orderItemsAsTree:di,projectListItems:Tr,readListFieldValue:pi,runtimeMetadataKeysForProjection:_i,sortItems:fi,trimNonEmpty:le,withTreeMetadata:br};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function hb(e){let t=x(process.cwd(),e);await ie(t);let r=await v(t),n=A(r,P());return{pmRoot:t,settings:r,typeRegistry:n}}async function bi(e,t,r,n){pe(e,$e(t));let o=await be(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:pe(e,o.id),located:o};let i=oe(t,r.id_prefix),s=$e(t),a=i===s?[i]:[i,s];for(let c of a){let d=pe(e,c);if(await z(d))return{id:c,historyPath:d,located:null}}throw new f(`Item ${t} not found`,m.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]="eb2e6046-156c-56ee-a03a-ecaa1cccfb45")}catch{}})();function $b(e,t){let r=At(e),n=e.length>0?e[e.length-1].after_hash:vt(),o=t===void 0||r.item_hash_version===void 0?void 0:jr(t,r.item_hash_version,Ur(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?Tt(t):o[Math.max(0,o.indexOf(n))],s=i===void 0?void 0:i===n,a=[...r.errors];return s===!1&&a.push("verify_failed:current_item_hash_mismatch"),{ok:a.length===0,entries:e.length,errors:a,latest_after_hash:e.length>0?e[e.length-1].after_hash:void 0,current_item_hash:i,current_matches_latest:s}}async function Ub(e,t,r={}){let n=x(r.cwd??process.cwd(),r.pmRoot);await ie(n);let o=await v(n),i=A(o,P()),s=await bi(n,e,o,i.type_to_folder),a=await ge(s.historyPath,s.id);if(a.length===0)throw new f(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let c=Yr(t,a),d=Xr(Wr(a,c.historyIndex),c),l=It(d,{schema:o.schema});if(l.metadata.id!==s.id)throw new f(`History target resolved to item ${l.metadata.id}, expected ${s.id}.`,m.GENERIC_FAILURE);let u=a[c.historyIndex],p=Gr(a,!0);return{document:l,reconstructed:!0,as_of_version:p===null?null:p+c.historyIndex+1,as_of_timestamp:u.ts,target:c,history_length:a.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="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]="67d97df8-6551-52ed-9307-8b573a087831")}catch{}})();var lt=1e6;function vr(e,t=lt,r=.8,n=!1){let o=new Set,i=(l,u)=>{if(o.add(`${l}:${u}`),o.size>t)throw new f(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,m.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(n||r===0){for(let l=0;l<e.length;l+=1)for(let u=0;u<l;u+=1)i(u,l);return o}let s=new Map;for(let{prepared:l}of e)for(let u of l.tokens)s.set(u,(s.get(u)??0)+1);let a=new Map,c=new Map,d=new Map;for(let[l,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((y,h)=>s.get(y)-s.get(h)||y.localeCompare(h)),_=p.length-Math.ceil(r*p.length-1e-12)+1,g=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:c,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,_),lengthFilter:!0}];for(let y of g)ll(e,l,y,r,i)}return o}function ll(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]="a5f450bd-8970-5b1b-8250-b76b7818e6e1")}catch{}})();var ul=3,wi=20,ml=.8,fl=100,Ei=1e3;function lw(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 pl(e,t){let r=e.items[0],n=x(t.cwd??process.cwd(),t.pmRoot),o=re((await v(n)).schema);return K(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 Ir(e){let t=e.limit??ul,r=e.threshold??ml;if(!Number.isSafeInteger(t)||t<0||t>wi)throw new f(`Similarity limit must be an integer from 0 to ${wi}.`,m.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new f("Similarity threshold must be a number from 0 to 1.",m.USAGE);return{limit:t,threshold:r}}function Si(e){let t=e.limit??fl;if(!Number.isSafeInteger(t)||t<0||t>Ei)throw new f(`Duplicate cluster limit must be an integer from 0 to ${Ei}.`,m.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new f("Duplicate cluster --since must be a valid ISO timestamp.",m.USAGE);return{limit:t,since:r}}async function _l(e,t){let r=x(e.cwd??process.cwd(),e.pmRoot),n=await v(r),o=A(n),i=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new f("Duplicate cluster statuses must include at least one lifecycle status or all.",m.USAGE);let s=re(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=ye(u,s);if(!p)throw new f(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,m.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new f('The "all" status cannot be combined with other statuses.',m.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await se(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 uw={buildDuplicateClusters:vi,collectDuplicateCandidatePairs:vr,createDuplicateUnionFind:Ti};function Ti(e){let t=Array.from({length:e},(r,n)=>n);return{parent:t,findRoot:r=>{let n=r;for(;t[n]!==n;)n=t[n];for(;t[r]!==r;){let o=t[r];t[r]=n,r=o}return n}}}function yl(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=qe(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 vi(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 gl(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,...je(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 hl(e,t={}){let r=e.title.trim();if(r.length===0)throw new f("Similarity candidate title must not be empty.",m.USAGE);let{limit:n,threshold:o}=Ir(t),i=x(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=A(s),c=await he(i,Object.values(a.type_to_folder)),d=Se(r),l=c&&d.length>0?await xt({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await se(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=gl(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function bl(e,t={}){let{threshold:r}=Ir({...t,limit:void 0}),{limit:n}=Si(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new f("Duplicate analysis requires unique non-empty item ids.",m.USAGE);o.add(l.id)}let i=[...e].sort((l,u)=>l.id.localeCompare(u.id)).map(l=>({item:l,prepared:Ee(l.title)})),s=vr(i,lt,r,t.exhaustive===!0),a=Ti(i.length),c=yl(i,s,r,a),d=vi(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:lt,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function mw(e={}){Ir({...e,limit:void 0});let{since:t}=Si(e),{items:r,statuses:n}=await _l(e,t);return{...bl(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function fw(e,t){if(t.mode==="off")return;let r=await hl(e,t);if(r.count===0)return;let n=await pl(r,t),o=t.mode==="strict"&&t.allowDuplicate===!0;if(t.mode==="strict"&&!o){let i=r.items.map(a=>`${a.id} (${a.status}): ${a.title}`).join("; "),s=n.action==="reopen"?"Reopen the canonical item":"Reuse the canonical item";throw new f(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,m.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]="f091d0c3-f2a7-5d76-8656-4aebe82e9798")}catch{}})();function _w(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{as as a,ls as b,ms as c,ps as d,_s as e,cu as f,ys as g,gs as h,mu as i,bn as j,hs as k,bs as l,ws as m,Es as n,Cs as o,ks as p,fu as q,Ls as r,vn as s,Ds as t,Os as u,pu as v,Ns as w,He as x,_u as y,Be as z,Ps as A,$s as B,zt as C,zs as D,Vt as E,Vs as F,ku as G,qs as H,An as I,Ks as J,Hs as K,Ys as L,Pu as M,Qs as N,qt as O,ra as P,nn as Q,Kt as R,Ht as S,We as T,Ia as U,Cl as V,Mt as W,cn as X,Dt as Y,Ui as Z,zi as _,kl as $,dn as aa,ae as ba,Ot as ca,Ft as da,Zt as ea,um as fa,er as ga,et as ha,Un as ia,tt as ja,tr as ka,rr as la,nr as ma,or as na,Hn as oa,Bn as pa,Mm as qa,nt as ra,Ce as sa,Qi as ta,fn as ua,Ji as va,Zi as wa,es as xa,Vl as ya,Ve as za,Se as Aa,Ee as Ba,je as Ca,qe as Da,pn as Ea,is as Fa,mc as Ga,yc as Ha,hc as Ia,bc as Ja,kc as Ka,io as La,Re as Ma,rp as Na,dt as Oa,Io as Pa,yh as Qa,pr as Ra,xe as Sa,Ao as Ta,Co as Ua,Mo as Va,gr as Wa,Oo as Xa,vh as Ya,Ih as Za,Po as _a,$o as $a,Ch as ab,Bo as bb,wr as cb,jo as db,qo as eb,Pd as fb,Xo as gb,Qo as hb,ob as ib,ib as jb,hb as kb,bi as lb,$b as mb,Ub as nb,lw as ob,uw as pb,hl as qb,bl as rb,mw as sb,fw as tb,_w as ub};
20
+ //# sourceMappingURL=chunk-NZO7GOXD.js.map