@unbrained/pm-cli 2026.10.17 → 2026.10.18

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 (188) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/CHANGELOG.md +25 -0
  3. package/dist/cli/register-list-query.js +2 -2
  4. package/dist/cli-bundle/bundle-manifest.json +1 -1
  5. package/dist/cli-bundle/chunks/{chunk-3QKI3XNX.js → chunk-4GA4MUTE.js} +2 -2
  6. package/dist/cli-bundle/chunks/{chunk-X2ONXFBP.js → chunk-4V6ONLI6.js} +2 -2
  7. package/dist/cli-bundle/chunks/{chunk-B5QVGCZX.js → chunk-6VZKYJW7.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-7PATQWTH.js +20 -0
  9. package/dist/cli-bundle/chunks/{chunk-W3KZ22DW.js → chunk-7WIEAGDS.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-EA2CG7UM.js → chunk-AETP4JEM.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-6ZDKKOKM.js → chunk-FIJOSX2C.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-VMCSTFSO.js → chunk-LUKVNL72.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-J4LPQCET.js → chunk-OJ77ZQN3.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-O4YBC3OM.js → chunk-PYRREEUB.js} +30 -30
  15. package/dist/cli-bundle/chunks/chunk-RHQJ6VWC.js +237 -0
  16. package/dist/cli-bundle/chunks/{chunk-OZCSXX4D.js → chunk-RNABUEFB.js} +2 -2
  17. package/dist/cli-bundle/chunks/{chunk-HY7FQ7QX.js → chunk-TO6CIV4C.js} +2 -2
  18. package/dist/cli-bundle/chunks/{chunk-JS3B2M4D.js → chunk-ZZED447K.js} +2 -2
  19. package/dist/cli-bundle/chunks/{register-list-query-RU3QZSAQ.js → register-list-query-PUCVYYBD.js} +7 -7
  20. package/dist/cli-bundle/chunks/{register-mutation-EQYMT32A.js → register-mutation-GGGVBXD5.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-operations-VXBGE4XI.js → register-operations-NRZ6Q4QE.js} +2 -2
  22. package/dist/cli-bundle/chunks/{register-setup-UUDEGFRO.js → register-setup-MV3P3YSF.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-LDKX4KYJ.js → chunk-2MPQUMTF.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-MBQF6HT6.js → chunk-5UKCSZWT.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-FTUZ3JF2.js → chunk-A4ZHHTEX.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/{chunk-JXR6UKFM.js → chunk-B4YLP5ZB.js} +2 -2
  27. package/dist/cli-bundle/focused-chunks/{chunk-NZO7GOXD.js → chunk-BFEMT5U3.js} +16 -16
  28. package/dist/cli-bundle/focused-chunks/{chunk-QOSVJDOO.js → chunk-FW7CSSKL.js} +61 -61
  29. package/dist/cli-bundle/focused-chunks/{chunk-AH6NX6GM.js → chunk-HYPRPSYD.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-RBLSY6ML.js → chunk-IRVL4UXR.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-RHTH5ILM.js → chunk-L55KQ2KT.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/{chunk-PYC7BF6Z.js → chunk-MASIOFPG.js} +2 -2
  33. package/dist/cli-bundle/focused-chunks/chunk-RJ3EIHDU.js +26 -0
  34. package/dist/cli-bundle/focused-chunks/chunk-SEL4Z2OO.js +167 -0
  35. package/dist/cli-bundle/focused-chunks/{chunk-2IOHHNRT.js → chunk-TB7F4FCR.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-UNTQE37U.js → chunk-TZUIBG3P.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-E33QA7PK.js → chunk-Z7YIFCNE.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-SIGIGZCG.js → chunk-ZDBS2DCT.js} +2 -2
  39. package/dist/cli-bundle/main.js +2 -2
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +1 -1
  42. package/dist/cli-bundle/sdk-core.js +16 -16
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +50 -49
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +1 -1
  50. package/dist/core/history/event-index.d.ts +8 -1
  51. package/dist/core/history/event-index.js +19 -18
  52. package/dist/core/item/item-format.js +1 -1
  53. package/dist/core/lock/lock.d.ts +8 -1
  54. package/dist/core/lock/lock.js +3 -3
  55. package/dist/core/output/output.js +2 -2
  56. package/dist/core/store/paths.js +1 -1
  57. package/dist/core/telemetry/policy.d.ts +2 -0
  58. package/dist/core/telemetry/policy.js +1 -1
  59. package/dist/core/telemetry/runtime.d.ts +5 -3
  60. package/dist/core/telemetry/runtime.js +3 -3
  61. package/dist/sdk/governance/health/projection.d.ts +37 -0
  62. package/dist/sdk/governance/health/projection.js +2 -0
  63. package/dist/sdk/governance/health.d.ts +7 -18
  64. package/dist/sdk/governance/health.js +2 -2
  65. package/dist/sdk/mutation-events.js +1 -1
  66. package/dist/sdk/public-surface.json +1 -1
  67. package/dist/sdk/query/list.d.ts +2 -0
  68. package/dist/sdk/query/list.js +1 -1
  69. package/dist/types.d.ts +2 -2
  70. package/dist/types.js +1 -1
  71. package/docs/COMMANDS.md +26 -0
  72. package/docs/CONFIGURATION.md +22 -1
  73. package/docs/DEVELOPMENT_DEPENDENCY_SECURITY.md +22 -3
  74. package/docs/OUTPUT_PROJECTION_CONTRACTS.md +10 -0
  75. package/docs/RELEASING.md +8 -1
  76. package/docs/SDK_CONTEXT_COORDINATION.md +71 -7
  77. package/docs/SDK_STORAGE_LIFECYCLE.md +24 -2
  78. package/docs/TESTING.md +8 -0
  79. package/docs/examples/ci/github-actions-pm-extension-gate.yml +1 -1
  80. package/docs/examples/ci/gitlab-ci-pm-extension-gate.yml +1 -1
  81. package/docs/examples/ci/jenkins-pm-extension-gate.Jenkinsfile +1 -1
  82. package/marketplace.json +1 -1
  83. package/node_modules/@opentelemetry/core/package.json +2 -1
  84. package/node_modules/@opentelemetry/instrumentation/package.json +2 -1
  85. package/node_modules/@opentelemetry/resources/package.json +2 -1
  86. package/node_modules/@opentelemetry/sdk-trace/package.json +2 -1
  87. package/node_modules/@opentelemetry/sdk-trace-base/package.json +2 -1
  88. package/node_modules/@sentry/core/build/cjs/client.js +5 -4
  89. package/node_modules/@sentry/core/build/cjs/tracing/ai/gen-ai-attributes.js +0 -4
  90. package/node_modules/@sentry/core/build/cjs/tracing/ai/utils.js +33 -23
  91. package/node_modules/@sentry/core/build/cjs/tracing/anthropic-ai/index.js +7 -6
  92. package/node_modules/@sentry/core/build/cjs/tracing/anthropic-ai/streaming.js +3 -1
  93. package/node_modules/@sentry/core/build/cjs/tracing/google-genai/index.js +13 -14
  94. package/node_modules/@sentry/core/build/cjs/tracing/google-genai/streaming.js +6 -1
  95. package/node_modules/@sentry/core/build/cjs/tracing/langchain/utils.js +71 -21
  96. package/node_modules/@sentry/core/build/cjs/tracing/langgraph/utils.js +23 -33
  97. package/node_modules/@sentry/core/build/cjs/tracing/openai/streaming.js +6 -0
  98. package/node_modules/@sentry/core/build/cjs/tracing/openai/utils.js +11 -0
  99. package/node_modules/@sentry/core/build/cjs/tracing/workers-ai/utils.js +1 -1
  100. package/node_modules/@sentry/core/build/cjs/utils/eventUtils.js +4 -0
  101. package/node_modules/@sentry/core/build/cjs/utils/prepareEvent.js +2 -2
  102. package/node_modules/@sentry/core/build/cjs/utils/version.js +1 -1
  103. package/node_modules/@sentry/core/build/esm/client.js +6 -5
  104. package/node_modules/@sentry/core/build/esm/package.json +1 -1
  105. package/node_modules/@sentry/core/build/esm/tracing/ai/gen-ai-attributes.js +1 -3
  106. package/node_modules/@sentry/core/build/esm/tracing/ai/utils.js +34 -24
  107. package/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/index.js +8 -7
  108. package/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/streaming.js +3 -1
  109. package/node_modules/@sentry/core/build/esm/tracing/google-genai/index.js +15 -16
  110. package/node_modules/@sentry/core/build/esm/tracing/google-genai/streaming.js +6 -1
  111. package/node_modules/@sentry/core/build/esm/tracing/langchain/utils.js +73 -24
  112. package/node_modules/@sentry/core/build/esm/tracing/langgraph/utils.js +24 -34
  113. package/node_modules/@sentry/core/build/esm/tracing/openai/streaming.js +6 -0
  114. package/node_modules/@sentry/core/build/esm/tracing/openai/utils.js +11 -0
  115. package/node_modules/@sentry/core/build/esm/tracing/workers-ai/utils.js +2 -2
  116. package/node_modules/@sentry/core/build/esm/utils/eventUtils.js +4 -1
  117. package/node_modules/@sentry/core/build/esm/utils/prepareEvent.js +2 -2
  118. package/node_modules/@sentry/core/build/esm/utils/version.js +1 -1
  119. package/node_modules/@sentry/core/build/types/tracing/ai/utils.d.ts +3 -7
  120. package/node_modules/@sentry/core/build/types/tracing/anthropic-ai/types.d.ts +2 -2
  121. package/node_modules/@sentry/core/build/types/tracing/langchain/types.d.ts +15 -0
  122. package/node_modules/@sentry/core/build/types/tracing/langchain/utils.d.ts +1 -0
  123. package/node_modules/@sentry/core/build/types/tracing/langgraph/utils.d.ts +2 -0
  124. package/node_modules/@sentry/core/build/types/tracing/openai/types.d.ts +2 -0
  125. package/node_modules/@sentry/core/build/types/utils/eventUtils.d.ts +2 -1
  126. package/node_modules/@sentry/core/build/types-ts3.8/tracing/ai/utils.d.ts +3 -7
  127. package/node_modules/@sentry/core/build/types-ts3.8/tracing/anthropic-ai/types.d.ts +2 -2
  128. package/node_modules/@sentry/core/build/types-ts3.8/tracing/langchain/types.d.ts +15 -0
  129. package/node_modules/@sentry/core/build/types-ts3.8/tracing/langchain/utils.d.ts +1 -0
  130. package/node_modules/@sentry/core/build/types-ts3.8/tracing/langgraph/utils.d.ts +2 -0
  131. package/node_modules/@sentry/core/build/types-ts3.8/tracing/openai/types.d.ts +2 -0
  132. package/node_modules/@sentry/core/build/types-ts3.8/utils/eventUtils.d.ts +2 -1
  133. package/node_modules/@sentry/core/package.json +1 -1
  134. package/node_modules/@sentry/node/build/esm/package.json +1 -1
  135. package/node_modules/@sentry/node/package.json +5 -5
  136. package/node_modules/@sentry/node-core/build/cjs/integrations/anr/index.js +1 -1
  137. package/node_modules/@sentry/node-core/build/cjs/integrations/local-variables/local-variables-async.js +1 -1
  138. package/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js +1 -1
  139. package/node_modules/@sentry/node-core/build/esm/integrations/anr/worker-script.js +2 -2
  140. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js +1 -1
  141. package/node_modules/@sentry/node-core/build/esm/integrations/local-variables/worker-script.js +1 -1
  142. package/node_modules/@sentry/node-core/build/esm/package.json +1 -1
  143. package/node_modules/@sentry/node-core/package.json +10 -4
  144. package/node_modules/@sentry/opentelemetry/build/esm/package.json +1 -1
  145. package/node_modules/@sentry/opentelemetry/package.json +5 -2
  146. package/node_modules/@sentry/server-utils/build/THIRD-PARTY-LICENSES.txt +55 -55
  147. package/node_modules/@sentry/server-utils/build/esm/package.json +1 -1
  148. package/node_modules/@sentry/server-utils/package.json +2 -2
  149. package/node_modules/@toon-format/toon/README.md +10 -41
  150. package/node_modules/@toon-format/toon/dist/index.d.mts +12 -36
  151. package/node_modules/@toon-format/toon/dist/index.mjs +134 -202
  152. package/node_modules/@toon-format/toon/package.json +2 -2
  153. package/node_modules/debug/package.json +3 -0
  154. package/node_modules/fdir/package.json +3 -0
  155. package/node_modules/has-flag/index.d.ts +39 -0
  156. package/node_modules/has-flag/index.js +8 -0
  157. package/node_modules/has-flag/license +9 -0
  158. package/node_modules/has-flag/package.json +46 -0
  159. package/node_modules/has-flag/readme.md +89 -0
  160. package/node_modules/supports-color/browser.js +5 -0
  161. package/node_modules/supports-color/index.js +135 -0
  162. package/node_modules/supports-color/license +9 -0
  163. package/node_modules/supports-color/package.json +53 -0
  164. package/node_modules/supports-color/readme.md +76 -0
  165. package/package.json +4 -4
  166. package/packages/pm-beads/package.json +1 -1
  167. package/packages/pm-calendar/package.json +1 -1
  168. package/packages/pm-command-kit/package.json +1 -1
  169. package/packages/pm-digital-twin/package.json +1 -1
  170. package/packages/pm-governance-audit/package.json +1 -1
  171. package/packages/pm-guide-shell/package.json +1 -1
  172. package/packages/pm-kanban/package.json +1 -1
  173. package/packages/pm-lifecycle-hooks/package.json +1 -1
  174. package/packages/pm-linked-test-adapters/package.json +1 -1
  175. package/packages/pm-search-advanced/package.json +1 -1
  176. package/packages/pm-templates/package.json +1 -1
  177. package/packages/pm-todos/package.json +1 -1
  178. package/packages/pm-vcs/package.json +1 -1
  179. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  180. package/plugins/pm-claude/package.json +1 -1
  181. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  182. package/plugins/pm-codex/package.json +1 -1
  183. package/plugins/pm-codex/plugin.json +1 -1
  184. package/runtime-dependencies.json +1 -1
  185. package/dist/cli-bundle/chunks/chunk-4PNPDT2N.js +0 -236
  186. package/dist/cli-bundle/chunks/chunk-X53HM753.js +0 -20
  187. package/dist/cli-bundle/focused-chunks/chunk-5JEFDEL3.js +0 -166
  188. package/dist/cli-bundle/focused-chunks/chunk-TRFVAWF2.js +0 -26
@@ -1,20 +1,20 @@
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
- `)}function Sn(e){let t=Ut(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
1
+ import{a as bt,b as wt,d as Et}from"./chunk-TZUIBG3P.js";import{t as Lr}from"./chunk-5UKCSZWT.js";import{$ as St,Ab as he,Ba as It,Ea as Hr,Eb as ie,Fa as At,Fb as be,Gb as kt,H as zr,Ib as Lt,J as Vr,Jb as se,K as jr,Kb as Zr,Sa as Br,Ta as Ct,U as ye,Ua as Gr,W as K,Wb as en,Ya as Fe,Za as v,_ as Ne,_a as Pe,ac as tn,bc as rn,ca as ge,db as $e,eb as oe,ec as nn,gb as Yr,hb as Wr,jb as Xr,kb as Qr,qa as Tt,ra as qr,sa as vt,ub as Rt,wb as xt,xa as Kr,yb as Jr}from"./chunk-SEL4Z2OO.js";import{f as Mr,n as re,p as gt}from"./chunk-HYPRPSYD.js";import{$ as m,Ba as Le,Fa as b,Ga as T,Gc as Dr,Ha as ue,Ia as te,Ja as E,La as Rr,Pc as P,Sc as Me,Sd as Fr,Td as Pr,Ud as ht,V as ft,Vc as Or,Wa as A,Xa as me,Yd as $r,_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 xr,fe as Ur,gb as pe,ge as De,i as mt,id as Nr,kb as yt,ke as Oe,nb as kr,ta as z,va as ee,wa as S,za as I}from"./chunk-RJ3EIHDU.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 on(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 Ri=3e4,we=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function H(e,t,r=Ri){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 xi(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 xi(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 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 ki(e){let t=ue(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function an(e){let t=e.search?.embedding_model;return b(t)||null}function Li(e){let t=b(e.providers?.openai?.base_url),r=b(e.providers?.openai?.model);if(!t||!r)return null;let n=an(e),o=b(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Mi(e){let t=b(e.providers?.ollama?.base_url),r=b(e.providers?.ollama?.model);if(!t||!r)return null;let n=an(e);return{name:"ollama",base_url:t,model:n??r}}function cn(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 Di(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 Oi(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=Li(e),r=Mi(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 sn(e){let t=ue(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:ki(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Ni(e,t){let r=cn(t);return e.name==="openai"?{target:sn(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:sn(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function Fi(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 Oi(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 dn(e,t,r={}){let n=H(r.timeout_ms,"Embedding request"),o=B(r.fetcher,"Embedding request"),i=cn(t),s=Di(i),a=Ni(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=Fi(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 Pi=8e3,$i=3200,G="...[semantic corpus truncated]",Ui="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 zi(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Vi(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 ji(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 qi(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??[])ji(t,r);return qi(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Ki(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 Hi={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=>zi(e.metadata),events:e=>Vi(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Ki(e.metadata)};function ln(e,t={}){let r=t.fields??ze,n={};for(let o of r){let i=Hi[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Bi(e){return e?.trim().toLowerCase()==="ollama"?$i:Pi}function ae(e,t){let r=Bi(e),n=Rr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Ui}}function Ot(e,t={}){let r=JSON.stringify(ln(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 Gi(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 Yi(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 Wi(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 un(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Xi(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 un(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 Qi(e){return e instanceof we?e.status===413?"payload_too_large":null:un(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 dn(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=Qi(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(Xi(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=Gi(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=Wi(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=Yi(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 mn=[{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 fn(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 Ji=[{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(Ji.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 pn(e){let t=[];for(let r of Pt(e))for(let n of mn){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(fn(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 Zi(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=pn(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 es(e){return $t.has(e.trim().toLowerCase())}function ts(){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]="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:_e(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 _n(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 ge(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)})),_n(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",...kr]);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 yn 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 yn.join(e,"checkpoints",t)}function gn(e,t,r){return yn.join(ms(e,t),`${r}.json`)}async function fs(e,t,r,n){let o=gn(e,t,r),i=`${JSON.stringify(n,null,2)}
2
+ `;if(!await Mr(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=gn(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 du(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 $="-",bn=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 fu(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 wn(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 En(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of wn(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function Sn(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=Sn(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 En(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Ss(e,t){let r=Array.from(new Set(Sn(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(En(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,`
4
+ `)}function Tn(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 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(`
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 vn(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 hn(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=Tn(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
- `).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 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(`
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]=vn(s[3].trim()),n=a;continue}if(n&&bn.has(n.toLowerCase())){r[n]=`${r[n]}
9
+ ${i}`;continue}return null}return r}function Rs(e,t){let r=Tn(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(hn(e,t),m.USAGE);let l=vn(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&bn.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new f(hn(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 pu(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 In(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 _u(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 yu(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 In(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 An(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?An(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?An(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=Kr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Hr(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 Lu(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(Cn(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,m.USAGE);return t}function Cn(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 $u(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 Rn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},xn="all";function kn(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]===xn}function Zs(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Rn[r];return n?t[n]:ye(e,t)}function ea(e){let t=new Set(Object.keys(Rn));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()===xn).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 Ln(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=Vr(e,o);i!==void 0&&(n[o.metadata_key]=jr(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(!Ln(o,n[n.length-1]))return!1;continue}if(!Ln(o,n))return!1}return!0}import{spawnSync as Dn}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 Mn(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)||Mn([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Mn([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function ga(){let e=Dn("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=Dn("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 jn from"node:path";import{mkdir as Ca,readFile as Ra,stat as Yt,unlink as xa}from"node:fs/promises";import{basename as Nn,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 Pn(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 Nn(t)==="pm"&&Nn(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 $n(e){try{await xa(e)}catch(t){if(!ee(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function Un(e,t,r){let n=ce(e,t);if(r.size===0){await $n(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 $n(n),W.delete(r)}function Fn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Qa(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Fn(e),o=Fn(t);return n===0||o===0?0:r/(n*o)}function 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=Pn(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 mm(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=Pn(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 Un(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 Un(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 zn(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 Vn(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 qn="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 Kn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function Hn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!Kn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function Bn(e){let t=jn.join(e,qn),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||!Kn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=Vn(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 Gn(e,t,r){let n=Hn(t),o=jn.join(e,qn),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 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 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 Dm(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 Bn(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,...Hn(g)};for(let w of s.missingIds)delete h[w];try{await Gn(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]="eae1b641-d6ed-5c32-899e-fe534a17aafd")}catch{}})();var cc=new Set(["1","true","yes","on"]),nt=["user","automation","test","dogfood"],dc=new Set(nt);function Yn(e=process.env){return typeof e.VITEST=="string"||typeof e.VITEST_WORKER_ID=="string"||typeof e.NODE_TEST_CONTEXT=="string"||(e.NODE_ENV??"").trim().toLowerCase()==="test"}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=Yn(e)&&!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 Xn=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,Fm=new RegExp(`(?:\\b|(?<=_))(${Xn.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Wn="(?:\\s|\\\\+u(?:0009|000a|000d|0020))*",Pm=new RegExp("^"+Wn+"(?::|=|\\\\+u(?:003a|003d))"+Wn,"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 Km=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 Gm=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 tf=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 Jn(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=xr(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"),Ai=Ne(Z,{format:q,requireSupportedFormat:!0,schema:o,onWarning:Ci=>a.push(`item_format_migration_parse_warning:${w}:${Ci}`)});await yc(U,R,o);let ut=_t(e,u,w,t,n),Cr=St(Ai,{format:t,schema:o});await S(ut)!==Cr&&(await I(ut,Cr),a.push(...await Me({path:ut,scope:"project",op:r})),i.add(w)),await Le(R),s.add(Jn(e,R)),a.push(...await Me({path:R,scope:"project",op:`${r}:remove`})),i.add(w)}catch(Z){a.push(`item_format_migration_skipped:${Jn(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 gf 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 Of,rmSync as Tc,statSync as Nf}from"node:fs";import{mkdir as sr,readdir as vc,rm as lr,stat as io}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]="1496ef0f-a192-5491-b84b-ea7da6cce65e")}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,Zn=500,Lc=1;var Mc=100,Dc=36e5,Oc=3e4,eo=2e4,Nc=1e3,Fc=25e3;var Pc=864e5,so=65536;var ao=15;var co=[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 ep=Promise.resolve(),to=Promise.resolve();var tp=new Set(nt),jc=new Set(["1","true","yes","on"]);var rp=dr.randomUUID();var lo="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",qc=new RegExp(`\\b(${lo})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),Kc=new RegExp(`(--${lo})(=|\\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 uo(e){return L.join(e,Rc)}function mo(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(uo(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(uo(e),`${JSON.stringify(n,null,2)}
13
+ `,{createParentDirectories:!Q(process.env[X])})},e)}catch{}}function fo(e){return e.replaceAll(qc,(t,r,n)=>`${r}${n}[redacted]`).replaceAll(Kc,(t,r,n)=>`${r}${n}[redacted]`)}function po(e){return e.replaceAll(Hc,(t,r)=>`${r}[redacted_path]`)}function _o(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function yo(e){if(!e)return!1;let t=e.charCodeAt(0);return _o(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function go(e){if(!e)return!1;let t=e.charCodeAt(0);return _o(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(!yo(i))return!1;for(let i of n)if(!go(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&&yo(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&go(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 ho(e){return Jc(e).replaceAll(Bc,"bearer [redacted_token]").replaceAll(Gc,"[redacted_ip]")}function Zc(e){let t=ho(e),r=fo(t),n=po(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=ho(e),r=fo(t),n=po(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 ro(){let e=process.env[zc]?.trim();if(!e)return eo;let t=Number(e);return Number.isFinite(t)?Math.min(Fc,Math.max(Nc,Math.trunc(t))):eo}async function bo(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"))},ro())});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=ro(),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(Gr(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 wo(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 Eo(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 So(e){return ur(e.next_attempt_after)}function To(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=To(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>so||nd(i,r)||i.attempts>=ao){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function vo(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 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(`
16
+ `:"";for(let o=0;;o+=1)try{await I(it(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=co[o];if(s===void 0||!Io(i))throw i;await Ao(s)}}function Io(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Ao(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=To(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>so||id(i,r)||i.attempts>=ao){o+=1;continue}n.push(i)}if(n.length>Zn){let i=n.length-Zn;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(`
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 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
19
+ `:"";for(let o=0;;o+=1)try{await I(st(e),n,{createParentDirectories:!Q(process.env[X])});return}catch(i){let s=co[o];if(s===void 0||!Io(i))throw i;await Ao(s)}}async function no(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 no(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 bo(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:Eo(h)})}}));let p=await no(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 io(s)).mtimeMs<o&&await lr(s,{force:!0})}))}catch{}}async function Re(e,t=fe(process.cwd()),r=5e3){let n=to.catch(()=>{}).then(()=>Dr(async()=>{let o=await Oe(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!Q(process.env[X])});try{return Br(t),await e()}finally{await o()}}));return to=n.catch(()=>{}),n}async function ct(e){let t=await S(it(e));return t===null||t.trim().length===0?[]:wo(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 vo(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:Eo(c)}});return await vo(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=wo(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(_=>So(_)).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 bo(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=mo(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 io(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(mo(e),{recursive:!0,force:!0})}catch{}}return!0}async function oo(e,t){let r=new Set;try{let{entries:n}=at(await ct(e),t);for(let o of n.filter(So))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 np(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 oo(e,n.retentionDays):new Set;if(!await _d(e,n.endpoint,n.retentionDays)||!t)return;let i=await oo(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 Co(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 gh(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 Ro(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 xo(e,t="--priority"){let r=pr(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Co(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 ko(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function Oo(e){return{isTerminal(t){return e.terminal_statuses.has(ko(t,e))},classify(t){let r=ko(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 No(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,No(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)||No(e,t)}function Fo(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 Lo(){let e={};for(let t of hr)e[t]={present:0,applicable:0,percent:100};return e}function Mo(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 Do(e){for(let t of hr){let r=e[t];r.percent=Ad(r.present,r.applicable)}}function Ih(e,t){let r=Lo(),n={};for(let o of e){Mo(r,o,t);let i=n[o.type]??(n[o.type]=Lo());Mo(i,o,t)}Do(r);for(let o of Object.values(n))Do(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 Ah(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 $o(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 Uo(e){return de.some(t=>e[t]!==void 0)}function zo(e,t){for(let r of de){let n=t[r];if(n===void 0)continue;let o=$o(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function Vo(e){return de.some(t=>t!=="body"&&e[t]!==void 0)}function jo(e){return e.body!==void 0}function Po(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 Rh(e){let t=Dd(),r=e.length;for(let s of e)for(let a of de)$o(s,a)&&(t[a].present+=1);for(let s of de)t[s].total=r,t[s].percent=Po(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:Po(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]="9260454d-9ece-5b5f-a812-f9865b6f4ee4")}catch{}})();var Yo=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}),qo=[{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=qo.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(qo.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},Ko=["priority","deadline","updated_at","created_at","title","parent"],Ho=["asc","desc"],Wo=new Set(Jr);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 Xo(e,t){for(let r of Fd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Qo(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 Jo(e){let t={};return Xo(t,e),t}function Zo(e){let t={};return Qo(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 ei(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),ri(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),Qo(c,r),Xo(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 Bo(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 ti(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 ri(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function ni(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 oi(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 ii(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=oi(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"]}});if(o)return{mode:"full",fields:[]};if(n){let s=Tr(e.sort);return{mode:"brief",fields:[...new Set([...wt,...s?[s]:[]])]}}return 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:Nr(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 Tr(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Hd.get(t);if(r)return r;if(!Ko.includes(t))throw new f(`Sort field must be one of ${Ko.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function si(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Ho.includes(t))throw new f(`Sort order must be one of ${Ho.join("|")}`,m.USAGE);return t}function Bd(e){return dt(e,"--tree-depth")}function ai(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 Go(e,t){return qt(e,t,{strict:!0})}function ci(e){return xe(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Gd(e,t,r){let n=ci(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=ai(t.assigneeFilter);Yd(o,i);let s=Yo(t),a=wr(t);return{idsFilter:ni(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Ro(t.type,r),tagFilters:ci(t.tag),priorityFilter:xo(t.priority),deadlineBefore:Bo(t.deadlineBefore,"deadline-before"),deadlineAfter:Bo(t.deadlineAfter,"deadline-after"),updatedAfter:ti(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:Oo(n),contentFieldFilters:a,contentFiltersActive:Uo(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 Ur(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&&!Fo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!zo(e,t.contentFieldFilters)||!Ht(e,n))}function di(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 li(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 ui(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function mi(e,t){return e===t?0:e===null?1:t===null?-1:ne(e,t)}function fi(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return mi(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 ui(e.parent??null,t.parent??null);default:return 0}}function pi(e,t,r,n){return t?[...e].sort((o,i)=>{let s=fi(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 _i(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 vr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=_i(n,i,r);return o})}function yi(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function gi(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:$r(e,t.after,r,n=>n.id)}function hi(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=ii(e,s);return Kd(a,yi(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=>Wo.has(j(c))),i=wr(e),s=Vo(i),a=jo(i);return e.includeBody||n||a?await Zr(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=Tr(e.sort),r=si(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=Go(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??Go(e,r),s=kn(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=gi(t,e.length),s=nl(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=vr(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:hi(i,l,u)}}function bi(e,t,r,n){return Pr("list",{pmRoot:n,status:e,options:Fr(t,Lr),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"||Wo.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,Or(),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(bi(n.filtersStatus,t,o,r.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:vr(l.items,r.projection,!1),totalMatched:l.total,pageExtras:hi(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,Zo(r),Jo(r)),ri(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 ib(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?nn(rn(g,tn())):void 0;Gd(g,t.tag,o);let h=di(g,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,y?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let U=en(g,n.statusRegistry);return h.filter(q=>U.has(q.id.trim().toLowerCase()))})():h,C=pi(w,i.sortField,i.sortOrder,n.statusRegistry),R=i.treeEnabled?li(C,i.parentRoot,i.treeDepth,y,g):C;d=cl(R,t,n.projection,i.treeEnabled,bi(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=ei({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 sb={applyFilters:di,buildCompactListFilterSummary:ei,buildContentFilterEcho:Jo,buildGovernanceMissingFilterEcho:Zo,resolveContentFieldFilters:wr,resolveMissingMetadataFilters:Yo,compareBySortField:fi,compareDefaultSort:Er,compareNullableString:ui,compareNullableTimestamp:mi,normalizeProjectionField:j,parseAssigneeFilter:ai,parseFieldSelectors:oi,parseIdsFilter:ni,parseOffset:Sr,parseProjectionConfig:ii,resolveListUpdatedAfter:ti,resolveListPageLimit:gi,parseSortField:Tr,parseSortOrder:si,orderItemsAsTree:li,projectListItems:vr,readListFieldValue:_i,runtimeMetadataKeysForProjection:yi,sortItems:pi,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 bb(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 wi(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 Ub(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:qr(t,r.item_hash_version,zr(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 zb(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 wi(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=Wr(t,a),d=Qr(Xr(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=Yr(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 Ir(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,Ei=20,fl=.8,pl=100,Si=1e3;function uw(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 Ar(e){let t=e.limit??ml,r=e.threshold??fl;if(!Number.isSafeInteger(t)||t<0||t>Ei)throw new f(`Similarity limit must be an integer from 0 to ${Ei}.`,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 Ti(e){let t=e.limit??pl;if(!Number.isSafeInteger(t)||t<0||t>Si)throw new f(`Duplicate cluster limit must be an integer from 0 to ${Si}.`,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=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 mw={buildDuplicateClusters:Ii,collectDuplicateCandidatePairs:Ir,createDuplicateUnionFind:vi};function vi(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 Ii(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}=Ar(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=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}=Ar({...t,limit:void 0}),{limit:n}=Ti(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new 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=Ir(i,lt,r,t.exhaustive===!0),a=vi(i.length),c=gl(i,s,r,a),d=Ii(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 fw(e={}){Ar({...e,limit:void 0});let{since:t}=Ti(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 pw(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 yw(e,t){let r=t??{};return e.filter(n=>r[n.id]!==n.updated_at).map(n=>n.id).sort((n,o)=>n.localeCompare(o))}export{cs as a,us as b,fs as c,_s as d,ys as e,du as f,gs as g,hs as h,fu as i,wn as j,bs as k,ws as l,Es as m,Ss as n,Rs as o,Ls as p,pu as q,Ms as r,In as s,Os as t,Ns as u,_u as v,Fs as w,He as x,yu as y,Be as z,$s as A,Us as B,zt as C,Vs as D,Vt as E,js as F,Lu as G,Ks as H,Cn as I,Hs as J,Bs as K,Ws as L,$u as M,Js as N,qt as O,na as P,on as Q,Kt as R,Ht as S,We as T,Aa as U,Rl as V,Mt as W,dn as X,Dt as Y,zi as Z,Vi as _,Ll as $,ln as aa,ae as ba,Ot as ca,Ft as da,Zt as ea,mm as fa,er as ga,et as ha,zn as ia,tt as ja,tr as ka,rr as la,nr as ma,or as na,Bn as oa,Gn as pa,Dm as qa,nt as ra,Ce as sa,Ji as ta,pn as ua,Zi as va,es as wa,ts as xa,jl as ya,Ve as za,Se as Aa,Ee as Ba,je as Ca,qe as Da,_n as Ea,ss as Fa,fc as Ga,gc as Ha,bc as Ia,wc as Ja,Lc as Ka,ao as La,Re as Ma,np as Na,dt as Oa,Co as Pa,gh as Qa,pr as Ra,xe as Sa,Ro as Ta,xo as Ua,Oo as Va,gr as Wa,Fo as Xa,Ih as Ya,Ah as Za,Uo as _a,zo as $a,Rh as ab,Yo as bb,wr as cb,Ko as db,Ho as eb,$d as fb,Jo as gb,Zo as hb,ib,sb as jb,bb as kb,wi as lb,Ub as mb,zb as nb,uw as ob,mw as pb,bl as qb,wl as rb,fw as sb,pw as tb,yw as ub};
20
+ //# sourceMappingURL=chunk-BFEMT5U3.js.map