@unbrained/pm-cli 2026.10.9 → 2026.10.10
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.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +19 -0
- package/dist/cli/register-mutation.js +2 -2
- package/dist/cli-bundle/bundle-manifest.json +115 -115
- package/dist/cli-bundle/chunks/{chunk-P5NS7EFC.js → chunk-2JYTSTQP.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZNXRGATT.js → chunk-BXSXT5Z6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QQHNXCO3.js → chunk-ESRACL6K.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5MOFELIF.js → chunk-K2UTE75T.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-55MK3QQM.js → chunk-KNW3RSLS.js} +3 -3
- package/dist/cli-bundle/chunks/chunk-MEWBSWE3.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-KOGF6O6W.js → chunk-OBLO45UM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XW3BLWFF.js → chunk-RBPOO46D.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-E4XR5LKU.js → chunk-RUT3CCAG.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-CPZOW6L2.js → chunk-S445XEYT.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5NR6TDYB.js → chunk-SSY4OSJR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-5TCQ5J3V.js → chunk-YMLF6QT7.js} +75 -75
- package/dist/cli-bundle/chunks/{chunk-NIF7JOPW.js → chunk-ZWRLAOA4.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-2YOWMNWY.js → register-list-query-T6BOR67M.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-6NXR7SAJ.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-BMK65YM3.js → register-operations-PDOBQZUJ.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-24TFFK6N.js → register-setup-MAYFPKBX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-362645PL.js → chunk-52UJEHEV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-EZ4367G4.js → chunk-EIOQNLBQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-SAN3KPX4.js → chunk-GVGFUD52.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-DSLNUL2Q.js → chunk-JGFSSR3G.js} +16 -16
- package/dist/cli-bundle/focused-chunks/{chunk-IARAEFMA.js → chunk-KNJR2WUO.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-MJQ253F3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-MCVWZUGK.js → chunk-SIEGIPNT.js} +28 -28
- package/dist/cli-bundle/main.js +2 -2
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +1 -1
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +51 -51
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +9 -9
- package/dist/core/item/item-format.d.ts +2 -0
- package/dist/core/item/item-format.js +3 -3
- package/dist/core/schema/runtime-field-values.d.ts +2 -2
- package/dist/core/schema/runtime-field-values.js +1 -1
- package/dist/core/store/item-format-migration.js +1 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/governance/reliability.d.ts +74 -0
- package/dist/sdk/governance/reliability.js +2 -0
- package/dist/sdk/governance.d.ts +1 -0
- package/dist/sdk/governance.js +1 -1
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/structured-mutations.d.ts +5 -1
- package/dist/sdk/structured-mutations.js +1 -1
- package/docs/QUALITY_EVIDENCE.md +52 -1
- package/docs/RELEASE_RELIABILITY.md +54 -3
- package/docs/SDK.md +16 -2
- package/docs/TESTING.md +36 -0
- package/docs/agent-task-token-baseline.json +15 -14
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +4 -3
- package/marketplace.json +2 -2
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-claude/package.json +2 -2
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/pm-codex/package.json +2 -2
- package/plugins/pm-codex/plugin.json +1 -1
- package/runtime-dependencies.json +2 -2
- package/dist/cli-bundle/chunks/chunk-N7GKWO4G.js +0 -2
- package/dist/cli-bundle/chunks/register-mutation-ILOWFMTV.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-2ATAD56F.js +0 -2
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import{a as _t,b as yt,d as gt}from"./chunk-AU6VJGTY.js";import{t as Ir}from"./chunk-WOEZJUA2.js";import{Ab as ne,Bb as he,Ca as zr,Cb as Ct,Da as Tt,Eb as Rt,Fb as oe,Gb as Yr,H as Nr,J as Fr,K as Pr,Qa as Vr,Ra as vt,Sa as jr,Sb as Wr,T as _e,V as q,Wa as Ne,Xa as v,Y as ht,Ya as Fe,Yb as Xr,Z as bt,Zb as Jr,aa as ye,ac as Qr,bb as Pe,cb as re,eb as Kr,fb as qr,hb as Hr,ib as Br,oa as wt,pa as $r,qa as Et,qb as It,sb as At,ub as Gr,va as Ur,wb as ge,za as St}from"./chunk-MCVWZUGK.js";import{f as Ar,n as ee,p as ft}from"./chunk-PBCYGO7X.js";import{$ as m,$a as R,$c as Lr,Aa as xe,Dc as Rr,Ea as b,Fa as T,Ga as ue,Ha as Z,Ia as E,Ka as Tr,Mc as P,Pc as Me,Sb as Cr,Sc as kr,V as dt,Va as A,Wa as me,Yd as M,aa as f,ae as te,bb as fe,be as Or,cb as lt,ce as De,db as ut,eb as vr,ed as xr,fb as pe,fd as Mr,fe as Oe,gd as pt,i as ct,kd as Dr,sa as U,ua as Q,ub as mt,va as S,ya as I}from"./chunk-B3YW6H2I.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 Zr(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 Ti=3e4,be=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function H(e,t,r=Ti){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 vi(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(t)})`}}async function $e(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 vi(n),i=o.length>0?`: ${o}`:"";throw new be(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`,n.status)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${E(o)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8e3bb919-c8f9-50b5-8e41-b6719d17bd21")}catch{}})();function Il(e,t){let r=b(e);if(!r)return"unconfigured";let n=b(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Ii(e){let t=ue(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function tn(e){let t=e.search?.embedding_model;return b(t)||null}function Ai(e){let t=b(e.providers?.openai?.base_url),r=b(e.providers?.openai?.model);if(!t||!r)return null;let n=tn(e),o=b(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Ci(e){let t=b(e.providers?.ollama?.base_url),r=b(e.providers?.ollama?.model);if(!t||!r)return null;let n=tn(e);return{name:"ollama",base_url:t,model:n??r}}function rn(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 Ri(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 ki(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 kt(e){let t=Ai(e),r=Ci(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 en(e){let t=ue(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Ii(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Li(e,t){let r=rn(t);return e.name==="openai"?{target:en(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:en(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function xi(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 ki(o).map((i,s)=>{let a=i.embedding;if(!Z(a))throw new Error(`OpenAI embedding response entry at index ${s} is missing a numeric embedding vector`);return[...a]})}let r=t.embedding;if(Z(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!Z(o))throw new Error(`Ollama embedding response entry at index ${i} is missing a numeric embedding vector`);return[...o]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function nn(e,t,r={}){let n=H(r.timeout_ms,"Embedding request"),o=B(r.fetcher,"Embedding request"),i=rn(t),s=Ri(i),a=Li(e,s.uniqueInputs),c=await $e({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=xi(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 Ue=["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 Lt(e){let t=e?.search?.corpus_fields;if(!Array.isArray(t))return[...Ue];let r=new Set(Ue),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:[...Ue]}var Mi=8e3,Di=3200,G="...[semantic corpus truncated]",Oi="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 Ni(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Fi(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 Pi(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 $i(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 Rl(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??[])Pi(t,r);return $i(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Ui(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 zi={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=>Ni(e.metadata),events:e=>Fi(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Ui(e.metadata)};function on(e,t={}){let r=t.fields??Ue,n={};for(let o of r){let i=zi[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Vi(e){return e?.trim().toLowerCase()==="ollama"?Di:Mi}function ie(e,t){let r=Vi(e),n=Tr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Oi}}function xt(e,t={}){let r=JSON.stringify(on(e,{fields:t.fields})),n=ie(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 ji(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 Ki(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 qi(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 sn(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Hi(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return sn(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 Bi(e){return e instanceof be?e.status===413?"payload_too_large":null:sn(e)?"timeout":null}async function Mt(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 nn(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=Bi(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 Mt(e,p,`${r}.1`,n,o,i,s),...await Mt(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(Hi(e,r,t.length,n,o+1,a))}async function Dt(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=ie(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let d=ji(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=qi(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=Ki(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 Mt(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 an=[{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 cn(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 Gi=[{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"}],Nt=new Map(Gi.map(e=>[e.action,e]));function Ot(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)=>Ot(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>Ot(o,`${t}.${n}`,r)))}function dn(e){let t=[];for(let r of Ot(e))for(let n of an){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(cn(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 Yi(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=dn(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 Wi(e){return Nt.has(e.trim().toLowerCase())}function Xi(){return[...Nt.keys()].sort((e,t)=>e.localeCompare(t))}function Ul(e){return Nt.get(e.trim().toLowerCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c555c2c-9db2-5c9f-9d69-3456fe8bffaa")}catch{}})();function Ji(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Vl(e){return Ji(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function we(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let r=new Set(e),n=new Set(t),o=0;for(let s of r)n.has(s)&&(o+=1);let i=new Set([...r,...n]).size;return o/i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();var Qi=/\b([a-z][a-z0-9]*)-(\d+)(?:-[a-z0-9]+)*\b/giu,Zi=/^(?:utf|iso|sha|tls|http|covid|match)$/iu;function ze(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function Se(e){return[...new Set(ze(e).match(/[\p{L}\p{N}]+/gu)??[])]}function Ee(e){let t=ze(e);return{normalized:t,tokens:Se(t),issueCodes:[...new Set([...e.matchAll(Qi)].filter(r=>{let n=r[1],o=r.index,i=e.slice(o+r[0].length);return!Zi.test(n)&&(n===n.toUpperCase()||n.length<=2||o===0&&/^\s*(?::|—|–|\])/u.test(i))}).map(r=>r[0].toLowerCase()))]}}function Ve(e,t){return je(Ee(e),Ee(t))}function je(e,t){if(e.normalized===t.normalized)return{score:1,reason:"exact_title"};let r=new Set(e.issueCodes);return t.issueCodes.some(n=>r.has(n))?{score:.99,reason:"issue_code"}:{score:we(e.tokens,t.tokens),reason:"title_token_jaccard"}}import es 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 ts(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 ln(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=ts(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 rs(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>Ke(String(o.status))===Ke(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ye(es.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)})),ln(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 ns=new Set(["rename-type","rename-field","remap-status",...Cr]);function os(e,t){if(t&&!ns.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 is}from"node:fs/promises";import un 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 ss(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 as(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function cs(e,t){return un.join(e,"checkpoints",t)}function mn(e,t,r){return un.join(cs(e,t),`${r}.json`)}async function ds(e,t,r,n){let o=mn(e,t,r),i=`${JSON.stringify(n,null,2)}
|
|
2
|
-
`;if(!await
|
|
3
|
-
`))return!0;let r=t.map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`^(?:[-*+]\\s+)?(?:${r})\\s*[:=]`,"i").test(e)}function
|
|
4
|
-
`)}function
|
|
1
|
+
import{a as yt,b as gt,d as ht}from"./chunk-AU6VJGTY.js";import{t as Ar}from"./chunk-WOEZJUA2.js";import{Ab as ne,Bb as he,Ca as Vr,Cb as Ct,Da as Tt,Eb as Rt,Fb as oe,Gb as Wr,H as Fr,J as Pr,K as $r,Qa as jr,Ra as vt,Sa as Kr,Sb as Xr,T as _e,V as q,Wa as Fe,Xa as v,Y as Ne,Ya as Pe,Yb as Jr,Z as wt,Zb as Qr,aa as ye,ac as Zr,bb as $e,cb as re,eb as qr,fb as Hr,hb as Br,ib as Gr,oa as bt,pa as Ur,qa as Et,qb as It,sb as At,ub as Yr,va as zr,wb as ge,za as St}from"./chunk-SIEGIPNT.js";import{f as Cr,n as ee,p as pt}from"./chunk-PBCYGO7X.js";import{$ as m,$a as k,$c as xr,Aa as xe,Dc as kr,Ea as w,Fa as T,Ga as ue,Ha as Z,Ia as E,Ka as vr,Mc as P,Pc as Me,Sb as Rr,Sc as Lr,V as lt,Va as A,Wa as me,Yd as M,aa as f,ae as te,bb as fe,be as Nr,cb as ut,ce as De,db as mt,eb as Ir,ed as Mr,fb as pe,fd as Dr,fe as Oe,gd as _t,i as dt,kd as Or,sa as z,ua as Q,ub as ft,va as S,ya as I}from"./chunk-B3YW6H2I.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 en(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 Ti=3e4,we=class extends Error{status;constructor(t,r){super(t),this.name="SearchHttpError",this.status=r}};function H(e,t,r=Ti){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 vi(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 vi(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 Al(e,t){let r=w(e);if(!r)return"unconfigured";let n=w(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Ii(e){let t=ue(e),r=t.toLowerCase();return r.endsWith("/embeddings")?t:r.endsWith("/v1")?`${t}/embeddings`:`${t}/v1/embeddings`}function rn(e){let t=e.search?.embedding_model;return w(t)||null}function Ai(e){let t=w(e.providers?.openai?.base_url),r=w(e.providers?.openai?.model);if(!t||!r)return null;let n=rn(e),o=w(e.providers?.openai?.api_key);return{name:"openai",base_url:t,model:n??r,...o?{api_key:o}:{}}}function Ci(e){let t=w(e.providers?.ollama?.base_url),r=w(e.providers?.ollama?.model);if(!t||!r)return null;let n=rn(e);return{name:"ollama",base_url:t,model:n??r}}function nn(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 Ri(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 ki(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 kt(e){let t=Ai(e),r=Ci(e),n=[t,r].filter(s=>s!==null),o=w(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 tn(e){let t=ue(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Ii(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Li(e,t){let r=nn(t);return e.name==="openai"?{target:tn(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:tn(e),method:"POST",headers:{"content-type":"application/json"},body:{model:e.model,input:r}}}function xi(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 ki(o).map((i,s)=>{let a=i.embedding;if(!Z(a))throw new Error(`OpenAI embedding response entry at index ${s} is missing a numeric embedding vector`);return[...a]})}let r=t.embedding;if(Z(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!Z(o))throw new Error(`Ollama embedding response entry at index ${i} is missing a numeric embedding vector`);return[...o]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function on(e,t,r={}){let n=H(r.timeout_ms,"Embedding request"),o=B(r.fetcher,"Embedding request"),i=nn(t),s=Ri(i),a=Li(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=xi(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 Lt(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 Mi=8e3,Di=3200,G="...[semantic corpus truncated]",Oi="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 Ni(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Fi(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 Pi(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 $i(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??[])Pi(t,r);return $i(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Ui(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 zi={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=>Ni(e.metadata),events:e=>Fi(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Ui(e.metadata)};function sn(e,t={}){let r=t.fields??ze,n={};for(let o of r){let i=zi[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Vi(e){return e?.trim().toLowerCase()==="ollama"?Di:Mi}function ie(e,t){let r=Vi(e),n=vr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Oi}}function xt(e,t={}){let r=JSON.stringify(sn(e,{fields:t.fields})),n=ie(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 ji(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 Ki(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 qi(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 an(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function Hi(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return an(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 Bi(e){return e instanceof we?e.status===413?"payload_too_large":null:an(e)?"timeout":null}async function Mt(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 on(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=Bi(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 Mt(e,p,`${r}.1`,n,o,i,s),...await Mt(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(Hi(e,r,t.length,n,o+1,a))}async function Dt(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=ie(e.name,t.search.embedding_corpus_max_characters);c.warning&&a.push(c.warning);let d=ji(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=qi(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=Ki(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 Mt(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 cn=[{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 dn(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 Gi=[{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"}],Nt=new Map(Gi.map(e=>[e.action,e]));function Ot(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)=>Ot(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>Ot(o,`${t}.${n}`,r)))}function ln(e){let t=[];for(let r of Ot(e))for(let n of cn){n.regex.lastIndex=0;for(let o of r.value.matchAll(n.regex))if(dn(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 Yi(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=ln(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 Wi(e){return Nt.has(e.trim().toLowerCase())}function Xi(){return[...Nt.keys()].sort((e,t)=>e.localeCompare(t))}function zl(e){return Nt.get(e.trim().toLowerCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6c555c2c-9db2-5c9f-9d69-3456fe8bffaa")}catch{}})();function Ji(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function jl(e){return Ji(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function be(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let r=new Set(e),n=new Set(t),o=0;for(let s of r)n.has(s)&&(o+=1);let i=new Set([...r,...n]).size;return o/i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5767332d-8094-55cd-96e9-47c5d20cd7df")}catch{}})();var Qi=/\b([a-z][a-z0-9]*)-(\d+)(?:-[a-z0-9]+)*\b/giu,Zi=/^(?: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(Qi)].filter(r=>{let n=r[1],o=r.index,i=e.slice(o+r[0].length);return!Zi.test(n)&&(n===n.toUpperCase()||n.length<=2||o===0&&/^\s*(?::|—|–|\])/u.test(i))}).map(r=>r[0].toLowerCase()))]}}function je(e,t){return Ke(Ee(e),Ee(t))}function Ke(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:be(e.tokens,t.tokens),reason:"title_token_jaccard"}}import es 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 qe(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function ts(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 un(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=qe(t.in_progress_status),i=[];for(let s of e){if(qe(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=ts(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 rs(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>qe(String(o.status))===qe(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await ye(es.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)})),un(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 ns=new Set(["rename-type","rename-field","remap-status",...Rr]);function os(e,t){if(t&&!ns.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 is}from"node:fs/promises";import mn 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 ss(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 as(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function cs(e,t){return mn.join(e,"checkpoints",t)}function fn(e,t,r){return mn.join(cs(e,t),`${r}.json`)}async function ds(e,t,r,n){let o=fn(e,t,r),i=`${JSON.stringify(n,null,2)}
|
|
2
|
+
`;if(!await Cr(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 ls(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 us(e,t,r,n){let o=ss(r),i=fn(e,t,o);if(!await z(i))throw new f(`Checkpoint ${o} not found`,m.NOT_FOUND);let s=await is(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=ls(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 ms(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 fs(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 ps(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 $="-",_n=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 yn(e){let t=e.trim();if(t==="")return[];let r=(ws(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 gn(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of yn(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function hn(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function _s(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function ys(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 gs(e,t){let r=hn(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 gn(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function hs(e,t){let r=Array.from(new Set(hn(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(gn(t));return n.size===0?r:r.filter(o=>!n.has(o))}function ws(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 Ft(e){return e.replace(/\r\n/g,`
|
|
4
|
+
`)}function wn(e){let t=Ft(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
|
|
6
|
+
`)}function bs(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 bn(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 Es(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 Ss(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 pn(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Ss(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 Ts(e){let t=wn(e).trim();if(t.length===0||!t.includes(`
|
|
7
7
|
`)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=Ft(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]=bn(s[3].trim()),n=a;continue}if(n&&
|
|
9
|
-
${i}`;continue}return null}return r}function vs(e,t){let r=
|
|
10
|
-
`));return r.length>0?r.join(","):""}function Ps(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Fs(e);if(typeof e!="string")return"";let t=Pt(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 En(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function $t(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?En(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?En(t):"root"}function Be(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function $s(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=Ur(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=zr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add($t(_.path)),_.from!==void 0&&u.add($t(_.from));let p=[...u].sort((_,g)=>_.localeCompare(g));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Be(c,n),after:Be(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:Be(c,g),after:Be(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 Us=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 zs(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(Sn(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,m.USAGE);return t}function Sn(e){return Us.has(e.trim().toLowerCase())}function Vs(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 js(e,t,r){let n=re(e,r),o=re(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new f(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,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 Ut={critical:0,high:1,medium:2,low:3,minimal:4},Ks=Object.keys(Ut),qs=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Ks.join(", ")}), case-insensitive`;function Ge(e){return new f(`Invalid priority "${e}". Accepted values: ${qs}.`,m.USAGE)}function Hs(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Ge(String(e))}if(typeof e!="string")throw Ge(String(e));let t=e.trim();if(t.length===0)throw Ge(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(Ut,r))return Ut[r];if(/^[0-4]$/.test(t))return Number(t);throw Ge(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 Bs=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,Gs=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 Ys(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<=Gs&&Bs.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 Tn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},vn="all";function In(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]===vn}function Ws(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Tn[r];return n?t[n]:_e(e,t)}function Xs(e){let t=new Set(Object.keys(Tn));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function Js(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of Xs(t)){let s=ct(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function zt(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()===vn).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=Ws(a,t);if(c===void 0){if(n){let d=Js(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 Qs={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 Zs(e){if(e!==void 0)return Qs[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 An(e,t){return mt(e,t)}function Vt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=Fr(e,o);i!==void 0&&(n[o.metadata_key]=Pr(o,i))}return n}function jt(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(!An(o,n[n.length-1]))return!1;continue}if(!An(o,n))return!1}return!0}import{spawnSync as Rn}from"node:child_process";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7889f11f-36f9-5384-8429-58d951c342da")}catch{}})();var ea="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",ta="PM_OLLAMA_MODEL",ra="http://localhost:11434",na="qwen3-embedding:0.6b",oa=".agents/pm/search/lancedb/",ia=1500,sa=2500,aa=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,ca=/embed|embedding/i,N=b;function da(){let e=N(process.env[ea]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Cn(e){return e.some(t=>N(t)!==null)}function la(e){let t=N(e);return!!(t&&t.toLowerCase()!=="ollama")}function ua(e){let t=N(e);return!!(t&&t.toLowerCase()!=="lancedb")}function ma(e){return la(e.search?.provider)||ua(e.vector_store?.adapter)||Cn([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Cn([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function fa(){let e=Rn("ollama",["--version"],{encoding:"utf8",timeout:ia});return e.error?!1:e.status===0}function pa(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=>aa.test(n))||(r.find(n=>ca.test(n))??null)}function _a(e){let t=N(e.providers?.ollama?.model);if(t)return t;let r=N(process.env[ta]);if(r)return r;let n=Rn("ollama",["list"],{encoding:"utf8",timeout:sa});if(!n.error&&n.status===0){let o=pa(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function ya(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 ga(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function ha(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=ra),t.model&&(o.model=r)}function ba(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=oa}function wa(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function Ye(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(da()||ma(e))return t;let r=ya(e);if(!ga(r)||r.model&&!fa())return t;let n=structuredClone(e),o=_a(n);return o?(ha(n,r,o),ba(n,r),wa(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 ${na} 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 Sa="reindex";import Pn from"node:path";import{mkdir as Ta,readFile as va,stat as Ht,unlink as Ia}from"node:fs/promises";import{basename as Ln,dirname as Kt,isAbsolute as Aa,join as Ca,resolve as Bt}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 Gt="pm_items",Ra=/[^a-zA-Z0-9_-]/g,ka=128,La=".pm-cli-local-vectors",qt=1,W=new Map;function ve(e){return(b(e.collection_name)??Gt).replaceAll(Ra,"_").slice(0,ka)}function We(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Mn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function xa(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 Yt(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 $e({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function Ma(e){let t=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!==Gt?{collection_name:r}:{},...n?{api_key:n}:{}}}function Da(e){let t=Bt(e),r=Kt(t);return Ln(t)==="pm"&&Ln(r)===".agents"?Kt(r):t}function Oa(e,t){return!t||Aa(e)?e:Bt(Da(t),e)}function Na(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:Oa(r,t),...n&&n!==Gt?{collection_name:n}:{}}}function Fa(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=We(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 Pa(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 $a(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ua(e){return e.replace(/\/points\?wait=true$/,"")}function Xe(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Je(e,t){return se(e,t)}function se(e,t){return Ca(Bt(e),La,`${t}.json`)}function za(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=We(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 Va(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!==qt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${qt}`);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=za(i[a],a,e);s.set(c.id,c)}return s}async function ja(e){try{let t=await Ht(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!Q(t))throw t;return null}}function Ka(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 qa(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Wt(e,t){let r=Je(e,t),n=se(e,t),o=await ja(n),i=W.get(r);if(!o){let a=Ka(r,i);if(a)return a}if(qa(i,o))return i.records;let s=new Map;try{let a=await va(n,"utf8");s=Va(n,t,a)}catch(a){if(!Q(a))throw a}return W.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function Ha(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 Dn(e){try{await Ia(e)}catch(t){if(!Q(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function On(e,t,r){let n=se(e,t);if(r.size===0){await Dn(n);return}let o=Kt(n);try{await Ta(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:qt,table:t,records:Ha(r)})}
|
|
11
|
-
`;try{await I(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Ba(e,t){let r=
|
|
12
|
-
`;await I(o,i)}function Ja(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Qa(e){let t=et(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 Za(e,t,r){if(!r.settings&&!await U(lt(e)))return Ie(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Ne(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?Ye(n).settings:n,i=kt(o).active;if(!i)return Ie(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Xt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Ie(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function ec(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await he(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await Ct(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 tc(e,t,r){let n=ie(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Lt(e),i=r.map(a=>xt(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Dt(t,e,i);return{vectors:s.vectors,vector_dimension:tr(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function rc(e,t,r){return await Jt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:Ja(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function nc(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await Ze(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 Za(e,n,r);if(!("settings"in o))return o;let i=A(o.settings,P()),s=await ec(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 Vn(e):{entries:{},embedding:null,warnings:[]},c=Qa(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Zt(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 tc(o.settings,o.provider,s.documents);if(er(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=Qt(c,h.vector_dimension);let w=await rc(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 nc(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,...zn(g)};for(let w of s.missingIds)delete h[w];try{await jn(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 ac}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 oc=new Set(["1","true","yes","on"]),rt=["user","automation","test","dogfood"],ic=new Set(rt);function tt(e,t){return oc.has((t[e]??"").trim().toLowerCase())}function Ce(e=process.env){let t=tt("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")&&!ic.has(r)&&!tt("PM_TELEMETRY_SEND_TEST_EVENTS",e);return{telemetry_disabled:t||n||tt("PM_TELEMETRY_DISABLED",e)||tt("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]="da2c4c10-3c43-5037-ac69-31204480af99")}catch{}})();var cc=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,$m=new RegExp(`\\b(${cc.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var Um=ac(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 jm=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]="ceaee876-c2c8-5b28-91ee-f670384fd559")}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 Xm=Object.freeze({"<":"<",">":">",""":'"',"'":"'","&":"&"});(function(){try{var e=typeof window<"u"?window:typeof 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 lc(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 qn from"node:fs/promises";import nt 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]="104c9ab0-5349-5aab-9d79-7697272a36fc")}catch{}})();function uc(e){return"json_markdown"}function Hn(e,t){return nt.relative(e,t).replaceAll("\\","/")}function mc(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function fc(e,t,r="item_format:migrate",n=dt,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=uc(t),l=Object.entries(n);for(let[u,p]of l){let _=nt.join(e,p),g=[];try{g=await qn.readdir(_)}catch{continue}let y=new Map;for(let w of g){let C=nt.join(_,w),x=vr(C);if(!x)continue;let j=nt.extname(w),K=w.slice(0,w.length-j.length).trim();if(K.length===0)continue;let J=y.get(K)??{};J[x]=C,y.set(K,J)}let h=[...y.keys()].sort((w,C)=>w.localeCompare(C));for(let w of h){let C=y.get(w);c+=1;let x=C[d];if(!x)continue;let j=C[t]??x,K=j===C[t]?t:d;try{let J=await qn.readFile(j,"utf8"),Ei=ht(J,{format:K,schema:o,onWarning:Si=>a.push(`item_format_migration_parse_warning:${w}:${Si}`)}),at=ut(e,u,w,t,n),Sr=bt(Ei,{format:t,schema:o});await S(at)!==Sr&&(await I(at,Sr),a.push(...await Me({path:at,scope:"project",op:r})),i.add(w)),await xe(x),s.add(Hn(e,x)),a.push(...await Me({path:x,scope:"project",op:`${r}:remove`})),i.add(w)}catch(J){a.push(`item_format_migration_skipped:${Hn(e,j)}:${mc(J)}`)}}}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 pc=new Set(["completed","superseded"]);function _c(e){return e!==void 0&&pc.has(e)}function yc(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 mf 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 ir from"node:crypto";import{mkdirSync as kf,rmSync as bc,statSync as Lf}from"node:fs";import{mkdir as rr,readdir as wc,rm as sr,stat as Jn}from"node:fs/promises";import{request as Ec}from"node:http";import{request as Sc}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]="b138e8a7-abfe-5961-a337-bb3a9506770c")}catch{}})();var Tc=L.join("runtime","telemetry","events.jsonl"),vc=L.join("runtime","telemetry","state.json"),Ic=L.join("runtime","telemetry","otel-spans.jsonl"),Ac=8,Bn=500,Cc=1;var Rc=100,kc=36e5,Lc=3e4,Gn=2e4,xc=1e3,Mc=25e3;var Dc=864e5,Qn=65536;var Zn=15;var eo=[25,50,100,200],Oc=3600*1e3,Nc=6e4;var ae="PM_TELEMETRY_FLUSH_CHILD";var Fc="PM_TELEMETRY_HTTP_TIMEOUT_MS",Pc=globalThis.fetch;var Wf=Promise.resolve(),Yn=Promise.resolve();var Xf=new Set(rt),$c=new Set(["1","true","yes","on"]);var Jf=ir.randomUUID();var to="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",Uc=new RegExp(`\\b(${to})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),zc=new RegExp(`(--${to})(=|\\s+)([^\\s,;]+)`,"giu"),Vc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,jc=/bearer\s+[a-z0-9._=-]+/giu,Kc=/\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 ot(e){return L.join(e,Tc)}function ar(e){return L.join(e,Ic)}function qc(e){return L.dirname(ot(e))}function ro(e){return L.join(e,vc)}function no(e){return L.join(e,"runtime","telemetry","flush.lock")}function Hc(e){return L.join(e,"runtime","telemetry","flush.spawn.lock")}async function Bc(e){let t=await S(ro(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 Bc(e),...t},n=Object.fromEntries(Object.entries(r).filter(([,o])=>o!==void 0).sort((o,i)=>o[0].localeCompare(i[0])));await I(ro(e),`${JSON.stringify(n,null,2)}
|
|
13
|
-
`,{createParentDirectories:!ce(process.env[ae])})},e)}catch{}}function oo(e){return e.replaceAll(
|
|
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 fo(e){let t=Math.min(
|
|
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]=bn(s[3].trim()),n=a;continue}if(n&&_n.has(n.toLowerCase())){r[n]=`${r[n]}
|
|
9
|
+
${i}`;continue}return null}return r}function vs(e,t){let r=wn(e).trim();if(!r)throw new f(`${t} cannot be empty`,m.USAGE);let n=Ts(r);if(n)return n;let o={},i,s=bs(r);for(let a of s){let c=Es(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new f(pn(e,t),m.USAGE);let l=bn(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&_n.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new f(pn(e,t),m.USAGE)}return o}var Is=/^[A-Za-z]:[\\/]/,As=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function Cs(e){let t=e.trim();return Is.test(t)?!1:As.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 Rs(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 ks(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(Ft(n))}),process.stdin.on("error",o=>{r(o)})})}var Y=Symbol("all-mutation-stdin-fields"),L=new WeakMap;function En(e){return L.set(e,Y),e}function Ls(e,t){let r=L.get(e);return r===Y||L.set(e,new Set([...r??[],...t])),e}function xs(e,t){let r=L.get(e);return r===void 0||L.set(t,r===Y?r:new Set(r)),t}function _u(e,t){let r=L.get(e),n=L.get(t);return r===void 0||n===Y?t:r===Y?(L.set(t,r),t):(L.set(t,new Set([...n??[],...r])),t)}function Ms(e){return L.get(e)!==Y}function He(e,t){let r=L.get(e);return r!==Y&&!r?.has(t)}function Ds(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];Ds(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 En(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=ks(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 Os(e,t){let r=Number(e);if(!Number.isFinite(r))throw new f(`Invalid ${t} value "${e}"`,m.USAGE);return r}function Ns(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 Pt(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Fs(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=Pt(t.join(`
|
|
10
|
+
`));return r.length>0?r.join(","):""}function Ps(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Fs(e);if(typeof e!="string")return"";let t=Pt(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 Sn(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function $t(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?Sn(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Sn(t):"root"}function Ge(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function $s(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=zr(),i=[];for(let s=0;s<e.length;s+=1){let a=e[s],c=o,d=Vr(o,a.patch),l;d.ok?(l=d.document,o=l):l=c;let u=new Set;for(let _ of a.patch)u.add($t(_.path)),_.from!==void 0&&u.add($t(_.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 Us=new Set(["none","null","undefined"]);function xu(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 zs(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(Tn(t))throw new f(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,m.USAGE);return t}function Tn(e){return Us.has(e.trim().toLowerCase())}function Vs(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 js(e,t,r){let n=re(e,r),o=re(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new f(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,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 Ut={critical:0,high:1,medium:2,low:3,minimal:4},Ks=Object.keys(Ut),qs=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Ks.join(", ")}), case-insensitive`;function Ye(e){return new f(`Invalid priority "${e}". Accepted values: ${qs}.`,m.USAGE)}function Hs(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(Ut,r))return Ut[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 Bs=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,Gs=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 Ys(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<=Gs&&Bs.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 vn={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},In="all";function An(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]===In}function Ws(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=vn[r];return n?t[n]:_e(e,t)}function Xs(e){let t=new Set(Object.keys(vn));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function Js(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of Xs(t)){let s=dt(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function zt(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()===In).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=Ws(a,t);if(c===void 0){if(n){let d=Js(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 Qs={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 Zs(e){if(e!==void 0)return Qs[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 Cn(e,t){return ft(e,t)}function Vt(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=Pr(e,o);i!==void 0&&(n[o.metadata_key]=$r(o,i))}return n}function jt(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(!Cn(o,n[n.length-1]))return!1;continue}if(!Cn(o,n))return!1}return!0}import{spawnSync as kn}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 ea="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",ta="PM_OLLAMA_MODEL",ra="http://localhost:11434",na="qwen3-embedding:0.6b",oa=".agents/pm/search/lancedb/",ia=1500,sa=2500,aa=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,ca=/embed|embedding/i,N=w;function da(){let e=N(process.env[ea]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Rn(e){return e.some(t=>N(t)!==null)}function la(e){let t=N(e);return!!(t&&t.toLowerCase()!=="ollama")}function ua(e){let t=N(e);return!!(t&&t.toLowerCase()!=="lancedb")}function ma(e){return la(e.search?.provider)||ua(e.vector_store?.adapter)||Rn([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Rn([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function fa(){let e=kn("ollama",["--version"],{encoding:"utf8",timeout:ia});return e.error?!1:e.status===0}function pa(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=>aa.test(n))||(r.find(n=>ca.test(n))??null)}function _a(e){let t=N(e.providers?.ollama?.model);if(t)return t;let r=N(process.env[ta]);if(r)return r;let n=kn("ollama",["list"],{encoding:"utf8",timeout:sa});if(!n.error&&n.status===0){let o=pa(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function ya(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 ga(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function ha(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=ra),t.model&&(o.model=r)}function wa(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=oa}function ba(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(da()||ma(e))return t;let r=ya(e);if(!ga(r)||r.model&&!fa())return t;let n=structuredClone(e),o=_a(n);return o?(ha(n,r,o),wa(n,r),ba(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 ${na} 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 Sa="reindex";import $n from"node:path";import{mkdir as Ta,readFile as va,stat as Ht,unlink as Ia}from"node:fs/promises";import{basename as xn,dirname as Kt,isAbsolute as Aa,join as Ca,resolve as Bt}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 Gt="pm_items",Ra=/[^a-zA-Z0-9_-]/g,ka=128,La=".pm-cli-local-vectors",qt=1,W=new Map;function ve(e){return(w(e.collection_name)??Gt).replaceAll(Ra,"_").slice(0,ka)}function Xe(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function Dn(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function xa(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=w(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function Yt(e){let t=w(e.result?.status);if(t)return{status:t};let r=w(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function 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 Ma(e){let t=w(e.vector_store?.qdrant?.url);if(!t)return null;let r=w(e.vector_store?.collection_name),n=w(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Gt?{collection_name:r}:{},...n?{api_key:n}:{}}}function Da(e){let t=Bt(e),r=Kt(t);return xn(t)==="pm"&&xn(r)===".agents"?Kt(r):t}function Oa(e,t){return!t||Aa(e)?e:Bt(Da(t),e)}function Na(e,t){let r=w(e.vector_store?.lancedb?.path);if(!r)return null;let n=w(e.vector_store?.collection_name);return{name:"lancedb",path:Oa(r,t),...n&&n!==Gt?{collection_name:n}:{}}}function Fa(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=w(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=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 Pa(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=w(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function $a(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function Ua(e){return e.replace(/\/points\?wait=true$/,"")}function Je(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Qe(e,t){return se(e,t)}function se(e,t){return Ca(Bt(e),La,`${t}.json`)}function za(e,t,r){let n=w(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=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 Va(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!==qt)throw new Error(`LanceDB local snapshot at '${e}' must include version=${qt}`);let o=w(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=za(i[a],a,e);s.set(c.id,c)}return s}async function ja(e){try{let t=await Ht(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!Q(t))throw t;return null}}function Ka(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 qa(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function Wt(e,t){let r=Qe(e,t),n=se(e,t),o=await ja(n),i=W.get(r);if(!o){let a=Ka(r,i);if(a)return a}if(qa(i,o))return i.records;let s=new Map;try{let a=await va(n,"utf8");s=Va(n,t,a)}catch(a){if(!Q(a))throw a}return W.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function Ha(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 On(e){try{await Ia(e)}catch(t){if(!Q(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function Nn(e,t,r){let n=se(e,t);if(r.size===0){await On(n);return}let o=Kt(n);try{await Ta(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:qt,table:t,records:Ha(r)})}
|
|
11
|
+
`;try{await I(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Ba(e,t){let r=Qe(e,t),n=se(e,t);await On(n),W.delete(r)}function Mn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Ga(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=Mn(e),o=Mn(t);return n===0||o===0?0:r/(n*o)}function Xt(e,t){let r=Ma(e),n=Na(e,t),o=[r,n].filter(a=>a!==null),i=w(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 Ya(e,t,r){let n=Ze(e),o=Xe(t),i=Dn(r);return e.name==="qdrant"?{target:n,method:"POST",headers:Je(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ve(e),vector:o,limit:i}}}function Wa(e,t){let r=Ze(e),n=Fa(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),records:n}}}function Xa(e,t){let r=Ze(e),n=Pa(t);return e.name==="qdrant"?{target:r,method:"POST",headers:Je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ve(e),ids:n}}}async function mm(e,t,r,n={}){let o=Ya(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await Wt(c.path,d.table);if(l.size===0)return[];let u=Xe(d.vector),p=Dn(d.limit),_=[],g=0;for(let y of l.values()){if(y.vector.length!==u.length){g++;continue}_.push({id:y.id,score:Ga(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 xa(a)}async function Jt(e,t,r={}){let n=Wa(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Qe(a.path,c.table),l=await Wt(a.path,c.table);for(let _ of c.records)l.set(_.id,_);await Nn(a.path,c.table,l);let u=se(a.path,c.table),p=await Ht(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 Yt(s)}async function et(e,t,r={}){let n=Xa(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Qe(a.path,c.table),l=await Wt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let u of c.ids)l.delete(u);if(await Nn(a.path,c.table,l),l.size===0)W.delete(d);else{let u=se(a.path,c.table),p=await Ht(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($a(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return Yt(s)}async function Fn(e,t=[],r={},n){if(e.name==="lancedb")return await Ba(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=Ua(i.upsert_target),a=H(r.timeout_ms,"Vector request"),c=B(r.fetcher,"Vector request"),d=Je(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 Yt(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=w(e),n=w(t);return!r||!n?null:{provider:r,model:n}}function Pn(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 Qt(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 Zt(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function er(e,t){return!!(e&&e.vector_dimension!==t)}function tr(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 Un="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 zn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function Vn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!zn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function jn(e){let t=$n.join(e,Un),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||!zn(c))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};o.set(a.trim(),c)}let i=null;try{i=Pn(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 Kn(e,t,r){let n=Vn(t),o=$n.join(e,Un),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 Ja(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Qa(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 Za(e,t,r){if(!r.settings&&!await z(ut(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=kt(o).active;if(!i)return Ie(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Xt(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:Ie(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function ec(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await he(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await Ct(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 tc(e,t,r){let n=ie(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Lt(e),i=r.map(a=>xt(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await Dt(t,e,i);return{vectors:s.vectors,vector_dimension:tr(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function rc(e,t,r){return await Jt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:Ja(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function nc(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 Za(e,n,r);if(!("settings"in o))return o;let i=A(o.settings,P()),s=await ec(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 jn(e):{entries:{},embedding:null,warnings:[]},c=Qa(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Zt(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 tc(o.settings,o.provider,s.documents);if(er(a.embedding,h.vector_dimension))l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[...h.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=Qt(c,h.vector_dimension);let b=await rc(o.vectorStore,s.documents,h.vectors);l={refreshed:b.refreshed,skipped:b.skipped,warnings:[...h.warnings,...b.warnings]}}}catch(h){l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${E(h)}`]}}let p=await nc(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,...Vn(g)};for(let b of s.missingIds)delete h[b];try{await Kn(e,h,u)}catch(b){y.push(`search_vectorization_status_ledger_write_failed:${E(b)}`)}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 ac}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 oc=new Set(["1","true","yes","on"]),nt=["user","automation","test","dogfood"],ic=new Set(nt);function rt(e,t){return oc.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")&&!ic.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]="da2c4c10-3c43-5037-ac69-31204480af99")}catch{}})();var cc=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,Um=new RegExp(`\\b(${cc.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var zm=ac(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 Km=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]="ceaee876-c2c8-5b28-91ee-f670384fd559")}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 Jm=Object.freeze({"<":"<",">":">",""":'"',"'":"'","&":"&"});(function(){try{var e=typeof window<"u"?window:typeof 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 lc(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 rr 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 uc(e){return"json_markdown"}function Hn(e,t){return ot.relative(e,t).replaceAll("\\","/")}function mc(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function fc(e,t,r){e!==t&&Ne(await rr.readFile(t,"utf8"),{format:"json_markdown",requireSupportedFormat:!0,schema:r})}async function pc(e,t,r="item_format:migrate",n=lt,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=uc(t),l=Object.entries(n);for(let[u,p]of l){let _=ot.join(e,p),g=[];try{g=await rr.readdir(_)}catch{continue}let y=new Map;for(let b of g){let C=ot.join(_,b),R=Ir(C);if(!R)continue;let U=ot.extname(b),K=b.slice(0,b.length-U.length).trim();if(K.length===0)continue;let J=y.get(K)??{};J[R]=C,y.set(K,J)}let h=[...y.keys()].sort((b,C)=>b.localeCompare(C));for(let b of h){let C=y.get(b);c+=1;let R=C[d];if(!R)continue;let U=C[t]??R,K=U===C[t]?t:d;try{let J=await rr.readFile(U,"utf8"),Ei=Ne(J,{format:K,requireSupportedFormat:!0,schema:o,onWarning:Si=>a.push(`item_format_migration_parse_warning:${b}:${Si}`)});await fc(U,R,o);let ct=mt(e,u,b,t,n),Tr=wt(Ei,{format:t,schema:o});await S(ct)!==Tr&&(await I(ct,Tr),a.push(...await Me({path:ct,scope:"project",op:r})),i.add(b)),await xe(R),s.add(Hn(e,R)),a.push(...await Me({path:R,scope:"project",op:`${r}:remove`})),i.add(b)}catch(J){a.push(`item_format_migration_skipped:${Hn(e,U)}:${mc(J)}`)}}}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 _c=new Set(["completed","superseded"]);function yc(e){return e!==void 0&&_c.has(e)}function gc(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 ff 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 sr from"node:crypto";import{mkdirSync as Lf,rmSync as bc,statSync as xf}from"node:fs";import{mkdir as nr,readdir as Ec,rm as ar,stat as Jn}from"node:fs/promises";import{request as Sc}from"node:http";import{request as Tc}from"node:https";import x 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]="b138e8a7-abfe-5961-a337-bb3a9506770c")}catch{}})();var vc=x.join("runtime","telemetry","events.jsonl"),Ic=x.join("runtime","telemetry","state.json"),Ac=x.join("runtime","telemetry","otel-spans.jsonl"),Cc=8,Bn=500,Rc=1;var kc=100,Lc=36e5,xc=3e4,Gn=2e4,Mc=1e3,Dc=25e3;var Oc=864e5,Qn=65536;var Zn=15;var eo=[25,50,100,200],Nc=3600*1e3,Fc=6e4;var ae="PM_TELEMETRY_FLUSH_CHILD";var Pc="PM_TELEMETRY_HTTP_TIMEOUT_MS",$c=globalThis.fetch;var Xf=Promise.resolve(),Yn=Promise.resolve();var Jf=new Set(nt),Uc=new Set(["1","true","yes","on"]);var Qf=sr.randomUUID();var to="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",zc=new RegExp(`\\b(${to})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),Vc=new RegExp(`(--${to})(=|\\s+)([^\\s,;]+)`,"giu"),jc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Kc=/bearer\s+[a-z0-9._=-]+/giu,qc=/\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 x.join(e,vc)}function cr(e){return x.join(e,Ac)}function Hc(e){return x.dirname(it(e))}function ro(e){return x.join(e,Ic)}function no(e){return x.join(e,"runtime","telemetry","flush.lock")}function Bc(e){return x.join(e,"runtime","telemetry","flush.spawn.lock")}async function Gc(e){let t=await S(ro(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 Gc(e),...t},n=Object.fromEntries(Object.entries(r).filter(([,o])=>o!==void 0).sort((o,i)=>o[0].localeCompare(i[0])));await I(ro(e),`${JSON.stringify(n,null,2)}
|
|
13
|
+
`,{createParentDirectories:!ce(process.env[ae])})},e)}catch{}}function oo(e){return e.replaceAll(zc,(t,r,n)=>`${r}${n}[redacted]`).replaceAll(Vc,(t,r,n)=>`${r}${n}[redacted]`)}function io(e){return e.replaceAll(jc,(t,r)=>`${r}[redacted_path]`)}function so(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function ao(e){if(!e)return!1;let t=e.charCodeAt(0);return so(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function co(e){if(!e)return!1;let t=e.charCodeAt(0);return so(t)?!0:e==="."||e==="-"}function Yc(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(!ao(i))return!1;for(let i of n)if(!co(i))return!1;return!0}function Wc(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&&ao(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&co(e[i]);)i+=1;let s=e.slice(o,i);if(Yc(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function lo(e){return Wc(e).replaceAll(Kc,"bearer [redacted_token]").replaceAll(qc,"[redacted_ip]")}function Xc(e){let t=lo(e),r=oo(t),n=io(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function Jc(e){let t=lo(e),r=oo(t),n=io(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function ir(e,t="redacted"){return t==="max"?Jc(e):Xc(e)}function Qc(e){let t=e?.trim().toLowerCase();return t==="minimal"||t==="redacted"||t==="max"?t:"redacted"}function ce(e){return Uc.has((e??"").trim().toLowerCase())}function Wn(){let e=process.env[Pc]?.trim();if(!e)return Gn;let t=Number(e);return Number.isFinite(t)?Math.min(Dc,Math.max(Mc,Math.trunc(t))):Gn}async function uo(e,t,r){let n=new URL(e);if(globalThis.fetch!==$c){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},Wn())});try{return(await Promise.race([globalThis.fetch(e,{method:"POST",headers:t,body:r,signal:i.signal}),a])).status}finally{clearTimeout(s)}}let o=n.protocol==="https:"?Tc:n.protocol==="http:"?Sc:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=Wn(),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 Zc(e){let t=await v(e);if(!t.telemetry.enabled||Ce().telemetry_disabled)return null;if(t.telemetry.installation_id.trim().length===0){if(Kr(e))return null;t.telemetry.installation_id=sr.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:Qc(t.telemetry.capture_level)}}function mo(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 fo(e){let t=Math.min(xc*2**Math.max(e-1,0),Lc);return new Date(Date.now()+t).toISOString()}function po(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 ed(e){return po(e.next_attempt_after)}function _o(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*Oc}function td(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 dr(e,t){let r=_o(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Qn||td(i,r)||i.attempts>=Zn){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function yo(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(
|
|
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=
|
|
16
|
+
`:"";for(let o=0;;o+=1)try{await I(it(e),n,{createParentDirectories:!ce(process.env[ae])});return}catch(i){let s=eo[o];if(s===void 0||!go(i))throw i;await ho(s)}}function go(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function ho(e){return new Promise(t=>{setTimeout(t,e)})}function rd(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return sr.createHash("sha256").update(t).digest("hex").slice(0,32)}function wo(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=rd(o)),t.push(o))}catch{}}return t}function nd(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 bo(e,t){let r=_o(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Qn||nd(i,r)||i.attempts>=Zn){o+=1;continue}n.push(i)}if(n.length>Bn){let i=n.length-Bn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function od(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(ar(e),n,{createParentDirectories:!ce(process.env[ae])});return}catch(i){let s=eo[o];if(s===void 0||!go(i))throw i;await ho(s)}}async function Xn(e,t,r,n){return Re(async()=>{let o=await S(ar(e)),i=o===null?[]:bo(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}=wo(s,t);return await nd(e,a),a.length},e)}async function od(e,t){let r=await S(ar(e));if(r===null||r.trim().length===0){await F(e,{pending_otel_spans:0});return}let n=bo(r),{entries:o,prunedCount:i}=wo(n,t),s=o.filter(g=>po(g.next_attempt_after)).slice(0,Ac);if(s.length===0){let g=i>0?await Xn(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 uo(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?or(y.message,"redacted"):"local_otel_export_failed";let h=g.attempts+1;d.set(g.id,{attempts:h,next_attempt_after:fo(h)})}}));let p=await Xn(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 id(e,t,r){try{await cd(e,t,r)}catch{}try{await od(e,r)}catch{}}async function sd(e,t=Oc){try{let r=qc(e),n=await wc(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 Jn(s)).mtimeMs<o&&await sr(s,{force:!0})}))}catch{}}async function Re(e,t=fe(process.cwd()),r=5e3){let n=Yn.catch(()=>{}).then(()=>Rr(async()=>{let o=await Oe(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!ce(process.env[ae])});try{return Vr(t),await e()}finally{await o()}}));return Yn=n.catch(()=>{}),n}async function dr(e){let t=await S(ot(e));return t===null||t.trim().length===0?[]:mo(t)}async function nr(e,t,r){return Re(async()=>{let n=await dr(e),{entries:o}=cr(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await yo(e,i),i},e)}async function ad(e,t,r,n){return Re(async()=>{let o=await dr(e),{entries:i}=cr(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:fo(c)}});return await yo(e,s),s},e)}async function cd(e,t,r){await sd(e);let n=t.trim();if(n.length===0)return;let o=await S(ot(e));if(o===null||o.trim().length===0){await F(e,{endpoint:n,queue_entries:0});return}let i=mo(o);if(i.length===0){await F(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=cr(i,r);if(s.length===0){let _=await nr(e,new Set,r);await F(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>Zc(_)).slice(0,Rc);if(c.length===0){let _=a>0?await nr(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 uo(n,u,JSON.stringify({schema_version:Cc,events:c.map(g=>g.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let g=await ad(e,d,l,r),y=_ instanceof Error?or(_.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 nr(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?or(_.message,"redacted"):"telemetry_flush_failed",y=await dr(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 dd(e){let t=no(e);ce(process.env[ae])||await rr(L.dirname(t),{recursive:!0});try{return await rr(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await Jn(t);return Date.now()-r.mtimeMs<Nc?!1:(await sr(t,{recursive:!0,force:!0}),await rr(t),!0)}catch{return!1}}function ld(e){try{bc(e,{recursive:!0,force:!0})}catch{}}function ud(e){ld(Hc(e))}async function md(e,t,r){let n=await dd(e);if(ud(e),!!n)try{await id(e,t,r)}finally{try{await sr(no(e),{recursive:!0,force:!0})}catch{}}}async function Qf(e=fe(process.cwd())){if(!Ce().telemetry_disabled)try{await vt(e,async()=>{if(!(await v(e)).telemetry.enabled)return;let t=await Re(()=>Qc(e),e);t&&await md(e,t.endpoint,t.retentionDays)},()=>ce(process.env[ae]))}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]="a3b93077-f162-5874-b81b-5d6b8be427b5")}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 it(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 Eo(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new f(`${t} filter must be 0..4`,m.USAGE);return n}function ih(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 lr(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 ke(e,t){let r=lr(e,t);return r===void 0?void 0:new Set(r)}function So(e,t,r="--type"){let n=lr(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 To(e,t="--priority"){let r=lr(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Eo(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function vo(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function Ro(e){return{isTerminal(t){return e.terminal_statuses.has(vo(t,e))},classify(t){let r=vo(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 ur(e){return T(e.acceptance_criteria)===void 0}function mr(e){return!Number.isFinite(e.estimated_minutes)}function ko(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function pd(e){return T(e.reviewer)===void 0}function _d(e){return T(e.risk)===void 0}function yd(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function gd(e){return T(e.sprint)===void 0}function hd(e){return T(e.release)===void 0}function fr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function bd(e,t,r){return[[t.acMissing,ur(e)],[t.estimatesMissing,mr(e)],[t.resolutionMissing,ko(e,r)],[t.reviewerMissing,pd(e)],[t.riskMissing,_d(e)],[t.confidenceMissing,yd(e)],[t.sprintMissing,gd(e)],[t.releaseMissing,hd(e)]].every(([n,o])=>n!==!0||o)}function wd(e,t){return ur(e)||mr(e)||ko(e,t)}function Lo(e,t,r){return fr(t)?!(!bd(e,t,r)||t.metadataMissing&&!wd(e,r)):!0}var pr=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Ed(e,t){switch(t){case"acceptance_criteria":return!ur(e);case"estimated_minutes":return!mr(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 Sd(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function Td(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Io(){let e={};for(let t of pr)e[t]={present:0,applicable:0,percent:100};return e}function Ao(e,t,r){for(let n of pr){if(!Sd(t,n,r))continue;let o=e[n];o.applicable+=1,Ed(t,n)&&(o.present+=1)}}function Co(e){for(let t of pr){let r=e[t];r.percent=Td(r.present,r.applicable)}}function fh(e,t){let r=Io(),n={};for(let o of e){Ao(r,o,t);let i=n[o.type]??(n[o.type]=Io());Ao(i,o,t)}Co(r);for(let o of Object.values(n))Co(o);return{overall:r,by_type:n}}var vd={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Id(e){return vd[e]}function Ad(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Cd(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 ph(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 Cd(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Id(t),key:d,buckets:Ad(),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 X(e){return Array.isArray(e)&&e.length>0}function Rd(e){return typeof e=="string"&&e.trim().length>0}function kd(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 Mo(e,t){switch(t){case"notes":return X(e.notes);case"learnings":return X(e.learnings);case"files":return X(e.files);case"docs":return X(e.docs);case"tests":return X(e.tests);case"comments":return X(e.comments);case"deps":return X(e.dependencies);case"body":return Rd(e.body);case"linked_command":return kd(e.tests)}}function Do(e){return de.some(t=>e[t]!==void 0)}function Oo(e,t){for(let r of de){let n=t[r];if(n===void 0)continue;let o=Mo(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function No(e){return de.some(t=>t!=="body"&&e[t]!==void 0)}function Fo(e){return e.body!==void 0}function xo(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Ld(){let e={};for(let t of de)e[t]={present:0,total:0,percent:100};return e}function yh(e){let t=Ld(),r=e.length;for(let s of e)for(let a of de)Mo(s,a)&&(t[a].present+=1);for(let s of de)t[s].total=r,t[s].percent=xo(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:xo(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]="d638f294-7d4b-5fdc-9a86-d70c2cbdd9f4")}catch{}})();var jo=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}),Po=[{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"}],yr=e=>{let t=Po.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(Po.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},$o=["priority","deadline","updated_at","created_at","title","parent"],Uo=["asc","desc"],Ko=new Set(Gr);function xd(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 Md(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Dd=[{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"}],Od=[{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 qo(e,t){for(let r of Dd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Ho(e,t){for(let r of Od)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Nd(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 Bo(e){let t={};return qo(t,e),t}function Go(e){let t={};return Ho(t,e),t}var Fd=[{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"}],Pd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],$d=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],Ud="-7d";function Yo(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"),Nd(c,r,Fd),Xo(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),Ho(c,r),qo(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),Md(a)&&(c.runtime_filters=a),c}function gr(e,t,r){let n=q(e.status,r),o=q(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=te(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function zd(e,t){return[...e].sort((r,n)=>gr(r,n,t))}function zo(e,t){if(e!==void 0)return De(e,new Date,t)}function Le(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return De(r,new Date,t)}function Wo(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?Le(Ud,"recent"):Le(e.updatedAfter,"updated-after")}function Xo(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Jo(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 hr(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 Qo(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 Zo(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=Qo(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:[...yt]}:r?{mode:"compact",fields:[..._t]}:i?{mode:"fields",fields:[...new Set(i.map(s=>V(s)))]}:{mode:"full",fields:[]}}function V(e){return e.startsWith("item.")?e.slice(5):e}function Vd(e,t,r){if(e.mode!=="fields")return;let n=gt(t),o=new Set(n.map(s=>V(s))),i=e.fields.filter(s=>!o.has(V(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:Lr(s),suggested_retry_args:s}})}}var jd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function ei(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=jd.get(t);if(r)return r;if(!$o.includes(t))throw new f(`Sort field must be one of ${$o.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function ti(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Uo.includes(t))throw new f(`Sort order must be one of ${Uo.join("|")}`,m.USAGE);return t}function Kd(e){return it(e,"--tree-depth")}function ri(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 Vo(e,t){return zt(e,t,{strict:!0})}function ni(e){return ke(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function qd(e,t,r){let n=ni(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 Hd(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 Bd(e,t,r,n){let o=ke(t.assignee,{label:"--assignee"}),i=ri(t.assigneeFilter);Hd(o,i);let s=jo(t),a=yr(t);return{idsFilter:Jo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:So(t.type,r),tagFilters:ni(t.tag),priorityFilter:To(t.priority),deadlineBefore:zo(t.deadlineBefore,"deadline-before"),deadlineAfter:zo(t.deadlineAfter,"deadline-after"),updatedAfter:Wo(t),updatedBefore:Le(t.updatedBefore,"updated-before"),createdAfter:Le(t.createdAfter,"created-after"),createdBefore:Le(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:ke(t.sprint,{label:"--sprint"}),releaseFilter:ke(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:fr(s),lifecycleClassifier:Ro(n),contentFieldFilters:a,contentFiltersActive:Do(a)}}function Gd(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&q(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 Yd(e,t){return Or(e,t)}function Wd(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 Xd(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 Jd(e,t,r,n,o){return!(!Gd(e,t,r)||!Yd(e,t)||!Wd(e,t)||!Xd(e,t,o)||t.missingMetadataActive&&!Lo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Oo(e,t.contentFieldFilters)||!jt(e,n))}function oi(e,t,r,n,o,i,s){let a=Bd(t,r,n,o);return e.filter(c=>Jd(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 _r(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 Qd(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 Zd(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 ii(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=Qd(e,n),a=Zd(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(_r(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(_r(p,0,s.get(_)?.length??0)))}return c}function si(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function ai(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function ci(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return ai(e.deadline??null,t.deadline??null);case"updated_at":return te(e.updated_at,t.updated_at);case"created_at":return te(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return si(e.parent??null,t.parent??null);default:return 0}}function di(e,t,r,n){return t?[...e].sort((o,i)=>{let s=ci(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=gr(o,i,n);return r==="desc"?-a:a}):zd(e,n)}function li(e,t,r=!1){let n=V(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 br(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=li(n,i,r);return o})}function ui(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function mi(e,t){if(e.noTruncate!==!0)return it(e.limit)??(t>=1e4?20:void 0)}function el(e,t,r){return t.after===void 0?hr(t.offset)??0:Dr(e,t.after,r,n=>n.id)}function fi(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function tl(e,t){let r=R(process.cwd(),t.path);await ne(r);let n=await v(r),o=ee(n.schema),i=ft(n.schema),s=e.projectionCommand??"list",a=Zo(e,s);return Vd(a,ui(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Vt(e,i,"list"),typeRegistry:A(n,P()),projection:a}}async function rl(e,t,r){let n=t.projection.fields.some(c=>V(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Ko.has(V(c))),i=yr(e),s=No(i),a=Fo(i);return e.includeBody||n||a?await Yr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await Rt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await oe(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function nl(e){let t=ei(e.sort),r=ti(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?Kd(e.treeDepth):void 0,parentRoot:n?le(e.parent):void 0}}function ol(e,t,r){let n=Vo(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??Vo(e,r),s=In(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 il(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=mi(t,e.length),s=el(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=br(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?pt(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:fi(i,l,u)}}function pi(e,t,r,n){return Mr("list",{pmRoot:n,status:e,options:xr(t,Ir),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function sl(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=V(_);return g==="body"||Ko.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,kr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([_,g])=>g!==void 0&&!i.has(_))].includes(!0))return null;let a=await ge(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!a)return null;let c=it(t.limit),d=hr(t.offset)??0,l=await It({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?pt(pi(n.filtersStatus,t,o,r.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:br(l.items,r.projection,!1),totalMatched:l.total,pageExtras:fi(c,u,p)}}function al(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 Pd){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of $d)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Go(r),Bo(r)),Xo(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 Gh(e,t,r){let n=await tl(t,r),o=[],i=nl(t),s=ol(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await sl({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let g=await rl(t,n,o),y=i.treeEnabled||le(t.parent)!==void 0?Qr(Jr(g,Xr())):void 0;qd(g,t.tag,o);let h=oi(g,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,y?.parents_by_child),w=t.dependencyBlocked===!0?(()=>{let j=Wr(g,n.statusRegistry);return h.filter(K=>j.has(K.id.trim().toLowerCase()))})():h,C=di(w,i.sortField,i.sortOrder,n.statusRegistry),x=i.treeEnabled?ii(C,i.parentRoot,i.treeDepth,y,g):C;d=il(x,t,n.projection,i.treeEnabled,pi(s.filtersStatus,t,i,n.pmRoot))}let l=M(),u=[...new Set(o)].sort((g,y)=>g.localeCompare(y)),p=xd(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let g=Yo({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:al({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 Yh={applyFilters:oi,buildCompactListFilterSummary:Yo,buildContentFilterEcho:Bo,buildGovernanceMissingFilterEcho:Go,resolveContentFieldFilters:yr,resolveMissingMetadataFilters:jo,compareBySortField:ci,compareDefaultSort:gr,compareNullableString:si,compareNullableTimestamp:ai,normalizeProjectionField:V,parseAssigneeFilter:ri,parseFieldSelectors:Qo,parseIdsFilter:Jo,parseOffset:hr,parseProjectionConfig:Zo,resolveListUpdatedAfter:Wo,resolveListPageLimit:mi,parseSortField:ei,parseSortOrder:ti,orderItemsAsTree:ii,projectListItems:br,readListFieldValue:li,runtimeMetadataKeysForProjection:ui,sortItems:di,trimNonEmpty:le,withTreeMetadata:_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]="59842825-3a81-53f4-845d-db2257ec6286")}catch{}})();async function ab(e){let t=R(process.cwd(),e);await ne(t);let r=await v(t),n=A(r,P());return{pmRoot:t,settings:r,typeRegistry:n}}async function _i(e,t,r,n){pe(e,Pe(t));let o=await he(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:pe(e,o.id),located:o};let i=re(t,r.id_prefix),s=Pe(t),a=i===s?[i]:[i,s];for(let c of a){let d=pe(e,c);if(await U(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 Cb(e,t){let r=Tt(e),n=e.length>0?e[e.length-1].after_hash:Et(),o=t===void 0||r.item_hash_version===void 0?void 0:$r(t,r.item_hash_version,Nr(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?wt(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 Rb(e,t,r={}){let n=R(r.cwd??process.cwd(),r.pmRoot);await ne(n);let o=await v(n),i=A(o,P()),s=await _i(n,e,o,i.type_to_folder),a=await ye(s.historyPath,s.id);if(a.length===0)throw new f(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let c=qr(t,a),d=Br(Hr(a,c.historyIndex),c),l=St(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=Kr(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 st=1e6;function wr(e,t=st,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)cl(e,l,y,r,i)}return o}function cl(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 dl=3,yi=20,ll=.8,ul=100,gi=1e3;function Zb(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 ml(e,t){let r=e.items[0],n=R(t.cwd??process.cwd(),t.pmRoot),o=ee((await v(n)).schema);return q(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 Er(e){let t=e.limit??dl,r=e.threshold??ll;if(!Number.isSafeInteger(t)||t<0||t>yi)throw new f(`Similarity limit must be an integer from 0 to ${yi}.`,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 hi(e){let t=e.limit??ul;if(!Number.isSafeInteger(t)||t<0||t>gi)throw new f(`Duplicate cluster limit must be an integer from 0 to ${gi}.`,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 fl(e,t){let r=R(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=ee(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=_e(u,s);if(!p)throw new f(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,m.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new f('The "all" status cannot be combined with other statuses.',m.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await oe(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 ew={buildDuplicateClusters:wi,collectDuplicateCandidatePairs:wr,createDuplicateUnionFind:bi};function bi(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 pl(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=je(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 wi(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 _l(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,...Ve(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 yl(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}=Er(t),i=R(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=A(s),c=await ge(i,Object.values(a.type_to_folder)),d=Se(r),l=c&&d.length>0?await At({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await oe(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=_l(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function gl(e,t={}){let{threshold:r}=Er({...t,limit:void 0}),{limit:n}=hi(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=wr(i,st,r,t.exhaustive===!0),a=bi(i.length),c=pl(i,s,r,a),d=wi(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:st,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function tw(e={}){Er({...e,limit:void 0});let{since:t}=hi(e),{items:r,statuses:n}=await fl(e,t);return{...gl(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function rw(e,t){if(t.mode==="off")return;let r=await yl(e,t);if(r.count===0)return;let n=await ml(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 ow(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{os as a,as as b,ds as c,us as d,ms as e,cu as f,fs as g,ps as h,mu as i,_n as j,_s as k,ys as l,gs as m,hs as n,vs as o,Cs as p,fu as q,Rs as r,wn as s,Ls as t,xs as u,pu as v,Ms as w,qe as x,_u as y,He as z,Os as A,Ns as B,Pt as C,Ps as D,$t as E,$s as F,Lu as G,zs as H,Sn as I,Vs as J,js as K,Hs as L,Pu as M,Ys as N,zt as O,Zs as P,Zr as Q,Vt as R,jt as S,Ye as T,Sa as U,Il as V,kt as W,nn as X,Lt as Y,Ni as Z,Fi as _,Rl as $,on as aa,ie as ba,xt as ca,Dt as da,Xt as ea,um as fa,Jt as ga,Ze as ha,Nn as ia,et as ja,Qt as ka,Zt as la,er as ma,tr as na,Vn as oa,jn as pa,Mm as qa,rt as ra,Ce as sa,Gi as ta,dn as ua,Yi as va,Wi as wa,Xi as xa,Ul as ya,Vl as za,we as Aa,ze as Ba,Se as Ca,Ee as Da,Ve as Ea,je as Fa,ln as Ga,rs as Ha,lc as Ia,fc as Ja,_c as Ka,yc as La,Cc as Ma,Zn as Na,Re as Oa,Qf as Pa,it as Qa,Eo as Ra,ih as Sa,lr as Ta,ke as Ua,So as Va,To as Wa,Ro as Xa,fr as Ya,Lo as Za,fh as _a,ph as $a,Do as ab,Oo as bb,yh as cb,jo as db,yr as eb,$o as fb,Uo as gb,Nd as hb,Bo as ib,Go as jb,Gh as kb,Yh as lb,ab as mb,_i as nb,Cb as ob,Rb as pb,Zb as qb,ew as rb,yl as sb,gl as tb,tw as ub,rw as vb,ow as wb};
|
|
20
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
`:"";for(let o=0;;o+=1)try{await I(cr(e),n,{createParentDirectories:!ce(process.env[ae])});return}catch(i){let s=eo[o];if(s===void 0||!go(i))throw i;await ho(s)}}async function Xn(e,t,r,n){return Re(async()=>{let o=await S(cr(e)),i=o===null?[]:wo(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}=bo(s,t);return await od(e,a),a.length},e)}async function id(e,t){let r=await S(cr(e));if(r===null||r.trim().length===0){await F(e,{pending_otel_spans:0});return}let n=wo(r),{entries:o,prunedCount:i}=bo(n,t),s=o.filter(g=>po(g.next_attempt_after)).slice(0,Cc);if(s.length===0){let g=i>0?await Xn(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 uo(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?ir(y.message,"redacted"):"local_otel_export_failed";let h=g.attempts+1;d.set(g.id,{attempts:h,next_attempt_after:fo(h)})}}));let p=await Xn(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 sd(e,t,r){try{await dd(e,t,r)}catch{}try{await id(e,r)}catch{}}async function ad(e,t=Nc){try{let r=Hc(e),n=await Ec(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=x.join(r,i.name);(await Jn(s)).mtimeMs<o&&await ar(s,{force:!0})}))}catch{}}async function Re(e,t=fe(process.cwd()),r=5e3){let n=Yn.catch(()=>{}).then(()=>kr(async()=>{let o=await Oe(t,"telemetry-queue",60,"telemetry",!1,!1,r,{createParentDirectories:!ce(process.env[ae])});try{return jr(t),await e()}finally{await o()}}));return Yn=n.catch(()=>{}),n}async function lr(e){let t=await S(it(e));return t===null||t.trim().length===0?[]:mo(t)}async function or(e,t,r){return Re(async()=>{let n=await lr(e),{entries:o}=dr(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await yo(e,i),i},e)}async function cd(e,t,r,n){return Re(async()=>{let o=await lr(e),{entries:i}=dr(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:fo(c)}});return await yo(e,s),s},e)}async function dd(e,t,r){await ad(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=mo(o);if(i.length===0){await F(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=dr(i,r);if(s.length===0){let _=await or(e,new Set,r);await F(e,{endpoint:n,queue_entries:_.length});return}let c=s.filter(_=>ed(_)).slice(0,kc);if(c.length===0){let _=a>0?await or(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 uo(n,u,JSON.stringify({schema_version:Rc,events:c.map(g=>g.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let g=await cd(e,d,l,r),y=_ instanceof Error?ir(_.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 or(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?ir(_.message,"redacted"):"telemetry_flush_failed",y=await lr(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 ld(e){let t=no(e);ce(process.env[ae])||await nr(x.dirname(t),{recursive:!0});try{return await nr(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await Jn(t);return Date.now()-r.mtimeMs<Fc?!1:(await ar(t,{recursive:!0,force:!0}),await nr(t),!0)}catch{return!1}}function ud(e){try{bc(e,{recursive:!0,force:!0})}catch{}}function md(e){ud(Bc(e))}async function fd(e,t,r){let n=await ld(e);if(md(e),!!n)try{await sd(e,t,r)}finally{try{await ar(no(e),{recursive:!0,force:!0})}catch{}}}async function Zf(e=fe(process.cwd())){if(!Ce().telemetry_disabled)try{await vt(e,async()=>{if(!(await v(e)).telemetry.enabled)return;let t=await Re(()=>Zc(e),e);t&&await fd(e,t.endpoint,t.retentionDays)},()=>ce(process.env[ae]))}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]="a3b93077-f162-5874-b81b-5d6b8be427b5")}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 st(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 Eo(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new f(`${t} filter must be 0..4`,m.USAGE);return n}function sh(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 ur(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 ke(e,t){let r=ur(e,t);return r===void 0?void 0:new Set(r)}function So(e,t,r="--type"){let n=ur(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 To(e,t="--priority"){let r=ur(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Eo(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f9d73d74-7c4e-5ea9-b34c-c984b4c15ab3")}catch{}})();function vo(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function Ro(e){return{isTerminal(t){return e.terminal_statuses.has(vo(t,e))},classify(t){let r=vo(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 mr(e){return T(e.acceptance_criteria)===void 0}function fr(e){return!Number.isFinite(e.estimated_minutes)}function ko(e,t){return t.isTerminal(e.status)?T(e.resolution)===void 0:!1}function _d(e){return T(e.reviewer)===void 0}function yd(e){return T(e.risk)===void 0}function gd(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):T(e.confidence)===void 0}function hd(e){return T(e.sprint)===void 0}function wd(e){return T(e.release)===void 0}function pr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function bd(e,t,r){return[[t.acMissing,mr(e)],[t.estimatesMissing,fr(e)],[t.resolutionMissing,ko(e,r)],[t.reviewerMissing,_d(e)],[t.riskMissing,yd(e)],[t.confidenceMissing,gd(e)],[t.sprintMissing,hd(e)],[t.releaseMissing,wd(e)]].every(([n,o])=>n!==!0||o)}function Ed(e,t){return mr(e)||fr(e)||ko(e,t)}function Lo(e,t,r){return pr(t)?!(!bd(e,t,r)||t.metadataMissing&&!Ed(e,r)):!0}var _r=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function Sd(e,t){switch(t){case"acceptance_criteria":return!mr(e);case"estimated_minutes":return!fr(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 Td(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function vd(e,t){return t===0?100:Math.round(e/t*1e3)/10}function Io(){let e={};for(let t of _r)e[t]={present:0,applicable:0,percent:100};return e}function Ao(e,t,r){for(let n of _r){if(!Td(t,n,r))continue;let o=e[n];o.applicable+=1,Sd(t,n)&&(o.present+=1)}}function Co(e){for(let t of _r){let r=e[t];r.percent=vd(r.present,r.applicable)}}function ph(e,t){let r=Io(),n={};for(let o of e){Ao(r,o,t);let i=n[o.type]??(n[o.type]=Io());Ao(i,o,t)}Co(r);for(let o of Object.values(n))Co(o);return{overall:r,by_type:n}}var Id={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function Ad(e){return Id[e]}function Cd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function Rd(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 _h(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 Rd(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??Ad(t),key:d,buckets:Cd(),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 X(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 Mo(e,t){switch(t){case"notes":return X(e.notes);case"learnings":return X(e.learnings);case"files":return X(e.files);case"docs":return X(e.docs);case"tests":return X(e.tests);case"comments":return X(e.comments);case"deps":return X(e.dependencies);case"body":return kd(e.body);case"linked_command":return Ld(e.tests)}}function Do(e){return de.some(t=>e[t]!==void 0)}function Oo(e,t){for(let r of de){let n=t[r];if(n===void 0)continue;let o=Mo(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function No(e){return de.some(t=>t!=="body"&&e[t]!==void 0)}function Fo(e){return e.body!==void 0}function xo(e,t){return t===0?100:Math.round(e/t*1e3)/10}function xd(){let e={};for(let t of de)e[t]={present:0,total:0,percent:100};return e}function gh(e){let t=xd(),r=e.length;for(let s of e)for(let a of de)Mo(s,a)&&(t[a].present+=1);for(let s of de)t[s].total=r,t[s].percent=xo(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:xo(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]="d638f294-7d4b-5fdc-9a86-d70c2cbdd9f4")}catch{}})();var jo=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}),Po=[{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"}],gr=e=>{let t=Po.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(Po.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},$o=["priority","deadline","updated_at","created_at","title","parent"],Uo=["asc","desc"],Ko=new Set(Yr);function Md(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 Dd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var Od=[{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"}],Nd=[{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 qo(e,t){for(let r of Od)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Ho(e,t){for(let r of Nd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function Fd(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 Bo(e){let t={};return qo(t,e),t}function Go(e){let t={};return Ho(t,e),t}var Pd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],$d=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],Ud=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],zd="-7d";function Yo(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"),Fd(c,r,Pd),Xo(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),Ho(c,r),qo(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),Dd(a)&&(c.runtime_filters=a),c}function hr(e,t,r){let n=q(e.status,r),o=q(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=te(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function Vd(e,t){return[...e].sort((r,n)=>hr(r,n,t))}function zo(e,t){if(e!==void 0)return De(e,new Date,t)}function Le(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return De(r,new Date,t)}function Wo(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?Le(zd,"recent"):Le(e.updatedAfter,"updated-after")}function Xo(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function Jo(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 wr(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 Qo(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 Zo(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=Qo(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:[...gt]}:r?{mode:"compact",fields:[...yt]}: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 jd(e,t,r){if(e.mode!=="fields")return;let n=ht(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:xr(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 ei(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Kd.get(t);if(r)return r;if(!$o.includes(t))throw new f(`Sort field must be one of ${$o.join("|")} (aliases: updated->updated_at, created->created_at)`,m.USAGE);return t}function ti(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!Uo.includes(t))throw new f(`Sort order must be one of ${Uo.join("|")}`,m.USAGE);return t}function qd(e){return st(e,"--tree-depth")}function ri(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 Vo(e,t){return zt(e,t,{strict:!0})}function ni(e){return ke(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function Hd(e,t,r){let n=ni(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 Bd(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 Gd(e,t,r,n){let o=ke(t.assignee,{label:"--assignee"}),i=ri(t.assigneeFilter);Bd(o,i);let s=jo(t),a=gr(t);return{idsFilter:Jo(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:So(t.type,r),tagFilters:ni(t.tag),priorityFilter:To(t.priority),deadlineBefore:zo(t.deadlineBefore,"deadline-before"),deadlineAfter:zo(t.deadlineAfter,"deadline-after"),updatedAfter:Wo(t),updatedBefore:Le(t.updatedBefore,"updated-before"),createdAfter:Le(t.createdAfter,"created-after"),createdBefore:Le(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:ke(t.sprint,{label:"--sprint"}),releaseFilter:ke(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:pr(s),lifecycleClassifier:Ro(n),contentFieldFilters:a,contentFiltersActive:Do(a)}}function Yd(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&q(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 Wd(e,t){return Nr(e,t)}function Xd(e,t){return t.assigneeModeFilter==="assigned"&&!e.assignee||t.assigneeModeFilter==="unassigned"&&e.assignee?!1:t.assigneeFilter===void 0||e.assignee!==void 0&&t.assigneeFilter.has(e.assignee)}function 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 Qd(e,t,r,n,o){return!(!Yd(e,t,r)||!Wd(e,t)||!Xd(e,t)||!Jd(e,t,o)||t.missingMetadataActive&&!Lo(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!Oo(e,t.contentFieldFilters)||!jt(e,n))}function oi(e,t,r,n,o,i,s){let a=Gd(t,r,n,o);return e.filter(c=>Qd(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 yr(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 Zd(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 el(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 ii(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=Zd(e,n),a=el(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(yr(p,_,h.length,g)),!(r!==void 0&&_>=r))for(let b of[...h].reverse())u.push({node:b,depth:_+1,parentId:l.get(y)})}if(t===void 0&&r===void 0)for(let p of e){let _=p.id.trim().toLowerCase();d.has(_)||(d.add(_),c.push(yr(p,0,s.get(_)?.length??0)))}return c}function si(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function ai(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function ci(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return ai(e.deadline??null,t.deadline??null);case"updated_at":return te(e.updated_at,t.updated_at);case"created_at":return te(e.created_at,t.created_at);case"title":return(e.title??"").localeCompare(t.title??"");case"parent":return si(e.parent??null,t.parent??null);default:return 0}}function di(e,t,r,n){return t?[...e].sort((o,i)=>{let s=ci(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=hr(o,i,n);return r==="desc"?-a:a}):Vd(e,n)}function li(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 br(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=li(n,i,r);return o})}function ui(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function mi(e,t){if(e.noTruncate!==!0)return st(e.limit)??(t>=1e4?20:void 0)}function tl(e,t,r){return t.after===void 0?wr(t.offset)??0:Or(e,t.after,r,n=>n.id)}function fi(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function rl(e,t){let r=k(process.cwd(),t.path);await ne(r);let n=await v(r),o=ee(n.schema),i=pt(n.schema),s=e.projectionCommand??"list",a=Zo(e,s);return jd(a,ui(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:Vt(e,i,"list"),typeRegistry:A(n,P()),projection:a}}async function nl(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Ko.has(j(c))),i=gr(e),s=No(i),a=Fo(i);return e.includeBody||n||a?await Wr(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await Rt(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await oe(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function ol(e){let t=ei(e.sort),r=ti(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?qd(e.treeDepth):void 0,parentRoot:n?le(e.parent):void 0}}function il(e,t,r){let n=Vo(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??Vo(e,r),s=An(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 sl(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=mi(t,e.length),s=tl(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=br(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?_t(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:fi(i,l,u)}}function pi(e,t,r,n){return Dr("list",{pmRoot:n,status:e,options:Mr(t,Ar),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function al(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"||Ko.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,Lr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([_,g])=>g!==void 0&&!i.has(_))].includes(!0))return null;let a=await ge(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!a)return null;let c=st(t.limit),d=wr(t.offset)??0,l=await It({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?_t(pi(n.filtersStatus,t,o,r.pmRoot),l.items.at(-1).id,d+l.items.length-1):void 0;return{projected:br(l.items,r.projection,!1),totalMatched:l.total,pageExtras:fi(c,u,p)}}function cl(e){let{filtersStatus:t,options:r,noTruncate:n,treeEnabled:o,treeDepth:i,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),r.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=r;for(let u of $d){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of Ud)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Go(r),Bo(r)),Xo(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 Yh(e,t,r){let n=await rl(t,r),o=[],i=ol(t),s=il(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await al({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let g=await nl(t,n,o),y=i.treeEnabled||le(t.parent)!==void 0?Zr(Qr(g,Jr())):void 0;Hd(g,t.tag,o);let h=oi(g,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,y?.parents_by_child),b=t.dependencyBlocked===!0?(()=>{let U=Xr(g,n.statusRegistry);return h.filter(K=>U.has(K.id.trim().toLowerCase()))})():h,C=di(b,i.sortField,i.sortOrder,n.statusRegistry),R=i.treeEnabled?ii(C,i.parentRoot,i.treeDepth,y,g):C;d=sl(R,t,n.projection,i.treeEnabled,pi(s.filtersStatus,t,i,n.pmRoot))}let l=M(),u=[...new Set(o)].sort((g,y)=>g.localeCompare(y)),p=Md(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let g=Yo({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:cl({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 Wh={applyFilters:oi,buildCompactListFilterSummary:Yo,buildContentFilterEcho:Bo,buildGovernanceMissingFilterEcho:Go,resolveContentFieldFilters:gr,resolveMissingMetadataFilters:jo,compareBySortField:ci,compareDefaultSort:hr,compareNullableString:si,compareNullableTimestamp:ai,normalizeProjectionField:j,parseAssigneeFilter:ri,parseFieldSelectors:Qo,parseIdsFilter:Jo,parseOffset:wr,parseProjectionConfig:Zo,resolveListUpdatedAfter:Wo,resolveListPageLimit:mi,parseSortField:ei,parseSortOrder:ti,orderItemsAsTree:ii,projectListItems:br,readListFieldValue:li,runtimeMetadataKeysForProjection:ui,sortItems:di,trimNonEmpty:le,withTreeMetadata:yr};(function(){try{var e=typeof window<"u"?window:typeof 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 cw(e){let t=k(process.cwd(),e);await ne(t);let r=await v(t),n=A(r,P());return{pmRoot:t,settings:r,typeRegistry:n}}async function _i(e,t,r,n){pe(e,$e(t));let o=await he(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:pe(e,o.id),located:o};let i=re(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 Rw(e,t){let r=Tt(e),n=e.length>0?e[e.length-1].after_hash:Et(),o=t===void 0||r.item_hash_version===void 0?void 0:Ur(t,r.item_hash_version,Fr(e.at(-1)?.hash_algorithm)),i=t===void 0?void 0:o===void 0?bt(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 kw(e,t,r={}){let n=k(r.cwd??process.cwd(),r.pmRoot);await ne(n);let o=await v(n),i=A(o,P()),s=await _i(n,e,o,i.type_to_folder),a=await ye(s.historyPath,s.id);if(a.length===0)throw new f(`No history exists for ${s.id}; point-in-time reads are unavailable.`,m.NOT_FOUND);let c=Hr(t,a),d=Gr(Br(a,c.historyIndex),c),l=St(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=qr(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 at=1e6;function Er(e,t=at,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)dl(e,l,y,r,i)}return o}function dl(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 ll=3,yi=20,ul=.8,ml=100,gi=1e3;function eb(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 fl(e,t){let r=e.items[0],n=k(t.cwd??process.cwd(),t.pmRoot),o=ee((await v(n)).schema);return q(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 Sr(e){let t=e.limit??ll,r=e.threshold??ul;if(!Number.isSafeInteger(t)||t<0||t>yi)throw new f(`Similarity limit must be an integer from 0 to ${yi}.`,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 hi(e){let t=e.limit??ml;if(!Number.isSafeInteger(t)||t<0||t>gi)throw new f(`Duplicate cluster limit must be an integer from 0 to ${gi}.`,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 pl(e,t){let r=k(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=ee(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=_e(u,s);if(!p)throw new f(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,m.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new f('The "all" status cannot be combined with other statuses.',m.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await oe(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 tb={buildDuplicateClusters:bi,collectDuplicateCandidatePairs:Er,createDuplicateUnionFind:wi};function wi(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 _l(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=Ke(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 bi(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 yl(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 gl(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}=Sr(t),i=k(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=A(s),c=await ge(i,Object.values(a.type_to_folder)),d=Se(r),l=c&&d.length>0?await At({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await oe(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=yl(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function hl(e,t={}){let{threshold:r}=Sr({...t,limit:void 0}),{limit:n}=hi(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=Er(i,at,r,t.exhaustive===!0),a=wi(i.length),c=_l(i,s,r,a),d=bi(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:at,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function rb(e={}){Sr({...e,limit:void 0});let{since:t}=hi(e),{items:r,statuses:n}=await pl(e,t);return{...hl(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function nb(e,t){if(t.mode==="off")return;let r=await gl(e,t);if(r.count===0)return;let n=await fl(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 ib(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{os as a,as as b,ds as c,us as d,ms as e,du as f,fs as g,ps as h,fu as i,yn as j,_s as k,ys as l,gs as m,hs as n,vs as o,Cs as p,pu as q,Rs as r,En as s,Ls as t,xs as u,_u as v,Ms as w,He as x,yu as y,Be as z,Os as A,Ns as B,Pt as C,Ps as D,$t as E,$s as F,xu as G,zs as H,Tn as I,Vs as J,js as K,Hs as L,$u as M,Ys as N,zt as O,Zs as P,en as Q,Vt as R,jt as S,We as T,Sa as U,Al as V,kt as W,on as X,Lt as Y,Ni as Z,Fi as _,kl as $,sn as aa,ie as ba,xt as ca,Dt as da,Xt as ea,mm as fa,Jt as ga,et as ha,Fn as ia,tt as ja,Qt as ka,Zt as la,er as ma,tr as na,jn as oa,Kn as pa,Dm as qa,nt as ra,Ce as sa,Gi as ta,ln as ua,Yi as va,Wi as wa,Xi as xa,zl as ya,jl as za,be as Aa,Ve as Ba,Se as Ca,Ee as Da,je as Ea,Ke as Fa,un as Ga,rs as Ha,lc as Ia,pc as Ja,yc as Ka,gc as La,Rc as Ma,Zn as Na,Re as Oa,Zf as Pa,st as Qa,Eo as Ra,sh as Sa,ur as Ta,ke as Ua,So as Va,To as Wa,Ro as Xa,pr as Ya,Lo as Za,ph as _a,_h as $a,Do as ab,Oo as bb,gh as cb,jo as db,gr as eb,$o as fb,Uo as gb,Fd as hb,Bo as ib,Go as jb,Yh as kb,Wh as lb,cw as mb,_i as nb,Rw as ob,kw as pb,eb as qb,tb as rb,gl as sb,hl as tb,rb as ub,nb as vb,ib as wb};
|
|
20
|
+
//# sourceMappingURL=chunk-JGFSSR3G.js.map
|