@unbrained/pm-cli 2026.9.11 → 2026.9.12
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 +22 -0
- package/dist/cli/error-guidance.d.ts +10 -0
- package/dist/cli/error-guidance.js +1 -1
- package/dist/cli/option-values.d.ts +3 -0
- package/dist/cli/option-values.js +2 -0
- package/dist/cli/register-mutation.d.ts +5 -0
- package/dist/cli/register-mutation.js +2 -16
- package/dist/cli/schema/registration.d.ts +4 -0
- package/dist/cli/schema/registration.js +16 -0
- package/dist/cli-bundle/bundle-manifest.json +155 -147
- package/dist/cli-bundle/chunks/{chunk-TDKWJQD7.js → chunk-2JAY4LFI.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QER6OSOP.js → chunk-3ZJDGTYC.js} +53 -53
- package/dist/cli-bundle/chunks/{chunk-DAWH7TGV.js → chunk-67H4PKQ5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BN5QVWNY.js → chunk-7H33WPDF.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-7KF6HCRC.js +20 -0
- package/dist/cli-bundle/chunks/chunk-DEGRLB6Y.js +235 -0
- package/dist/cli-bundle/chunks/{chunk-RJQSCK74.js → chunk-GKY655T7.js} +6 -6
- package/dist/cli-bundle/chunks/{chunk-JMQKJ7CJ.js → chunk-I6VQUHK6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-IRUNFLLG.js → chunk-PTX2JRFR.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-VFKBNGF6.js → chunk-TAGDYARO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-SGAKQIGQ.js → chunk-X6POOZKD.js} +27 -27
- package/dist/cli-bundle/chunks/{chunk-TFVKBJJ4.js → chunk-YU75JRTW.js} +103 -103
- package/dist/cli-bundle/chunks/{register-list-query-U6MY437C.js → register-list-query-KEZPDR6X.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-HEXA3ZDM.js +20 -0
- package/dist/cli-bundle/chunks/{register-operations-EHWIZW3X.js → register-operations-TEZT65JF.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-BZYL3HBL.js → register-setup-IIL74WUG.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-VS6MR2HT.js → chunk-2BQ4JSJQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-BEQAW7OT.js → chunk-5CRND7UA.js} +4 -4
- package/dist/cli-bundle/focused-chunks/chunk-5PSYV3AT.js +164 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7WISPJRZ.js → chunk-7EKXAUKF.js} +52 -52
- package/dist/cli-bundle/focused-chunks/{chunk-TWE3GPQM.js → chunk-BIOWOU6S.js} +17 -17
- package/dist/cli-bundle/focused-chunks/{chunk-6JF66HAG.js → chunk-EIXGDI77.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ONDKO4EL.js → chunk-GAKFECOQ.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-HFAW3FJQ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-HM6JS6Q3.js → chunk-IURELABV.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UJCQXUD2.js → chunk-KK7KSXUP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-MOT32PR2.js → chunk-LWJBBM6X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-MFVABYEU.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-GKUF7TM5.js → chunk-PERRTPIY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FJDEFA64.js → chunk-SDQOOL34.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TGMSSI3Z.js → chunk-TTRB47KM.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-VWMP6W7Y.js +20 -0
- package/dist/cli-bundle/focused-chunks/chunk-YNBACVQ2.js +2 -0
- package/dist/cli-bundle/main.js +4 -4
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +37 -37
- 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 +42 -42
- 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 +8 -8
- package/dist/core/history/history.js +1 -1
- package/dist/core/history/operation-contract.d.ts +30 -0
- package/dist/core/history/operation-contract.js +2 -0
- package/dist/core/history/tombstone.d.ts +3 -0
- package/dist/core/history/tombstone.js +2 -0
- package/dist/core/item/id.d.ts +8 -7
- package/dist/core/item/id.js +1 -1
- package/dist/core/output/mutation-projection.d.ts +1 -0
- package/dist/core/output/mutation-projection.js +1 -1
- package/dist/core/shared/command-line.d.ts +10 -0
- package/dist/core/shared/command-line.js +2 -0
- package/dist/core/shared/errors.d.ts +13 -0
- package/dist/core/shared/errors.js +1 -1
- package/dist/core/store/item-store.d.ts +5 -1
- package/dist/core/store/item-store.js +1 -1
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +3 -0
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +1 -1
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/command-line.d.ts +1 -6
- package/dist/sdk/command-line.js +1 -1
- package/dist/sdk/comments.js +1 -1
- package/dist/sdk/contracts.d.ts +1 -0
- package/dist/sdk/contracts.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
- package/dist/sdk/governance/storage-integrity.js +1 -1
- package/dist/sdk/governance/workflow-completeness.js +1 -1
- package/dist/sdk/governance/workflow-policy.js +2 -2
- package/dist/sdk/index.d.ts +1 -0
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/learnings.js +1 -1
- package/dist/sdk/lifecycle/claim.d.ts +2 -0
- package/dist/sdk/lifecycle/claim.js +1 -1
- package/dist/sdk/lifecycle/mcp-actions.d.ts +4 -0
- package/dist/sdk/lifecycle/mcp-actions.js +1 -1
- package/dist/sdk/lifecycle/task-composition.d.ts +2 -0
- package/dist/sdk/lifecycle/task-composition.js +1 -1
- package/dist/sdk/merge/reconcile.js +1 -1
- package/dist/sdk/merge/three-way.js +2 -2
- package/dist/sdk/notes.js +1 -1
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/projection-contracts.d.ts +1 -1
- package/dist/sdk/query/projection-contracts.js +1 -1
- package/dist/sdk/runtime.js +1 -1
- package/docs/AGENT_UX_CONTRACTS.md +8 -0
- package/docs/ARCHITECTURE.md +7 -0
- package/docs/HISTORY_OPERATIONS.md +46 -0
- package/docs/HISTORY_RECOVERY.md +27 -2
- package/docs/LIFECYCLE_COMMANDS.md +19 -2
- package/docs/MERGE_SAFETY.md +64 -3
- package/docs/WORKFLOW_POLICIES.md +47 -3
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +6 -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/README.md +22 -0
- 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-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-FBY6PEIR.js +0 -20
- package/dist/cli-bundle/chunks/chunk-RJZFAXBW.js +0 -235
- package/dist/cli-bundle/chunks/register-mutation-HAPHD4S7.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-3JVTLBCW.js +0 -20
- package/dist/cli-bundle/focused-chunks/chunk-DZ3ATEFS.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-M74YW332.js +0 -164
- package/dist/cli-bundle/focused-chunks/chunk-YOPNRWSX.js +0 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{a as ct,b as dt,d as lt}from"./chunk-MFVABYEU.js";import{t as _r}from"./chunk-GAKFECOQ.js";import{$ as mt,Ba as vr,I as Er,J as Sr,Jb as Cr,Kb as Lr,Nb as kr,Qa as Ae,Ra as v,S as ue,Sa as Ce,U as B,Ua as Le,Va as re,X as ut,Y as ft,jb as pt,kc as Mr,lb as _t,nb as Ir,pb as fe,tb as ke,ua as Tr,ub as me,vb as yt,xb as ht,yb as ne,zb as Ar}from"./chunk-5PSYV3AT.js";import{m as ee,o as st}from"./chunk-TTRB47KM.js";import{$ as f,Aa as M,Ba as ce,Ga as F,Ia as rt,Ic as q,Ja as nt,Ka as ot,La as mr,Lc as ve,Ma as de,Oc as yr,Pa as w,Qa as S,Ra as le,Rd as R,Sa as Z,Ta as E,V as tt,Va as pr,Vd as te,Wd as br,Xd as Ie,aa as m,ad as hr,bd as gr,cd as at,gd as wr,i as et,ja as U,la as J,ma as I,na as T,pa as Te,qb as it}from"./chunk-BIOWOU6S.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="df9abedd-6e84-5712-8e5e-4e510ec3ed60")}catch{}})();function Rr(e,t="--limit"){if(e===void 0)return;let r=Number(e);if(!Number.isFinite(r)||r<0)throw new m(`${t} must be a non-negative number`,f.USAGE);return Math.floor(r)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="960053d8-8ed1-50c3-a0fb-bd035ff5c1b8")}catch{}})();var Zo=/\b(?:gh[pousr]_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,})\b/,ei=/\bnpm_[A-Za-z0-9]{36}\b/,ti=/\bxox[baprs]-(?=[A-Za-z0-9-]{20,80}\b)(?=[A-Za-z0-9-]*\d)[A-Za-z0-9-]{20,80}\b/,ri=/-----BEGIN (?:[A-Z0-9]+ )?PRIVATE KEY-----/,ni=/\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/,xr=/\b(?:token|secret|password|passwd|api[_-]?key)\s*[:=]\s*["']?([A-Za-z0-9+/=_-]{24,})/gi,oi=[{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"}],wt=new Map(oi.map(e=>[e.action,e]));function ii(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);let r=0;for(let n of t.values()){let o=n/e.length;r-=o*Math.log2(o)}return r}function gt(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)=>gt(n,`${t}[${o}]`,r)):Object.entries(e).flatMap(([n,o])=>gt(o,`${t}.${n}`,r)))}function Dr(e){let t=[];for(let r of gt(e)){Zo.test(r.value)&&t.push({rule:"github_token",path:r.path}),ei.test(r.value)&&t.push({rule:"npm_token",path:r.path}),ti.test(r.value)&&t.push({rule:"slack_token",path:r.path}),ri.test(r.value)&&t.push({rule:"private_key",path:r.path}),ni.test(r.value)&&t.push({rule:"aws_access_key",path:r.path}),xr.lastIndex=0;for(let n of r.value.matchAll(xr)){let o=n[1];if(ii(o)>=3.5){t.push({rule:"high_entropy_assignment",path:r.path});break}}}return t.filter((r,n,o)=>o.findIndex(i=>i.rule===r.rule&&i.path===r.path)===n)}function si(e){let t=e.author.trim()||"unknown";if(e.settings.require_attributed_author&&t.toLowerCase()==="unknown")throw new m("Mutation author is required by workspace policy.",f.USAGE,{code:"mutation_author_required",required:"Pass --author <id>, set PM_AUTHOR, or configure author_default.",nextSteps:["Retry with --author <stable-agent-id>.","Set PM_AUTHOR for this agent session."]});if(e.settings.secret_guard==="off")return{author:t,findings:[],warnings:[],override_applied:!1};let r;try{r=Dr(e.payload)}catch{return{author:t,findings:[],warnings:["secret_guard_scan_failed_open"],override_applied:!1}}if(r.length===0)return{author:t,findings:r,warnings:[],override_applied:!1};let n=[...new Set(r.map(o=>o.rule))].sort().join(",");if(e.settings.secret_guard==="block"&&e.force!==!0)throw new m(`Mutation blocked by secret guard (${n}). No detected value was logged.`,f.CONFLICT,{code:"mutation_secret_guard_blocked",required:"Remove the credential-shaped content or retry with --force after explicit review.",nextSteps:["Replace the value with a secret-manager reference.","Use pm history-redact if equivalent content already entered history."],recovery:{recovery_mode:"compact",attempted_command:"pm <mutation> [REDACTED]",normalized_args:["[REDACTED]"],suggested_retry:"Remove credential-shaped content, then retry the mutation."}});return{author:t,findings:r,warnings:[`secret_guard_detected:${r.length}:rules=${n}`,...e.settings.secret_guard==="block"&&e.force===!0?["secret_guard_force_override"]:[]],override_applied:e.settings.secret_guard==="block"&&e.force===!0}}function ai(e){return wt.has(e.trim().toLowerCase())}function ci(){return[...wt.keys()].sort((e,t)=>e.localeCompare(t))}function ol(e){return wt.get(e.trim().toLowerCase())}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c18e4dfc-d3e3-5185-9470-9d46b4dca893")}catch{}})();function di(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function sl(e){return di(e).split(/[^a-z0-9]+/).filter(t=>t.length>0)}function pe(e,t){if(e.length===0&&t.length===0)return 1;if(e.length===0||t.length===0)return 0;let r=new Set(e),n=new Set(t),o=0;for(let s of r)n.has(s)&&(o+=1);let i=new Set([...r,...n]).size;return o/i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="54784ad1-36bd-5a10-aa00-ad0b09e935a7")}catch{}})();var li=/\b[a-z][a-z0-9]*-\d+(?:-[a-z0-9]+)*\b/giu;function Me(e){return e.trim().toLowerCase().replace(/\s+/g," ")}function ye(e){return[...new Set(Me(e).match(/[\p{L}\p{N}]+/gu)??[])]}function _e(e){let t=Me(e);return{normalized:t,tokens:ye(t),issueCodes:[...new Set(t.match(li)?.map(r=>r.toLowerCase())??[])]}}function Re(e,t){return xe(_e(e),_e(t))}function xe(e,t){if(e.normalized===t.normalized)return{score:1,reason:"exact_title"};let r=new Set(e.issueCodes);return t.issueCodes.some(n=>r.has(n))?{score:.99,reason:"issue_code"}:{score:pe(e.tokens,t.tokens),reason:"title_token_jaccard"}}import ui from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cdae67c6-8316-5e97-84ca-0be4460ffd57")}catch{}})();function De(e){return(e??"in_progress").trim().toLowerCase().replaceAll("-","_")}function fi(e,t){return[e.updated_at,t].map(n=>({value:n,time:Date.parse(n??"")})).filter(n=>typeof n.value=="string"&&Number.isFinite(n.time)).sort((n,o)=>o.time-n.time)[0]?.value??e.updated_at}function Or(e,t){let r=Math.max(1,Math.trunc(t.threshold_hours)),n=(t.now??new Date).getTime(),o=De(t.in_progress_status),i=[];for(let s of e){if(De(String(s.status))!==o||(s.assignee?.trim().length??0)>0)continue;let a=fi(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 mi(e,t,r){let n=new Map;return await Promise.all(t.filter(o=>De(String(o.status))===De(r.in_progress_status)&&(o.assignee?.trim().length??0)===0).map(async o=>{let i;try{i=await mt(ui.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)})),Or(t,{...r,last_history_activity:o=>n.get(o.id)})}import{mkdir as pi,readFile as _i}from"node:fs/promises";import Nr from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9d3152f0-afc9-5be8-9303-b02ea2666631")}catch{}})();function yi(e){let t=e.trim();if(!t)throw new m("--rollback requires a non-empty checkpoint ID",f.USAGE);if(!/^[a-zA-Z0-9._-]+$/.test(t))throw new m("--rollback checkpoint ID must match [a-zA-Z0-9._-]+",f.USAGE);return t}function hi(e,t){let r=t.replace(/[-:.TZ]/g,"").slice(0,14),n=Math.random().toString(36).slice(2,8);return`${e}-${r}-${n}`}function Fr(e,t){return Nr.join(e,"checkpoints",t)}function Pr(e,t,r){return Nr.join(Fr(e,t),`${r}.json`)}async function gi(e,t,r,n){let o=Fr(e,t);await pi(o,{recursive:!0});let i=Pr(e,t,r);return await T(i,`${JSON.stringify(n,null,2)}
|
|
2
|
+
`),i}function wi(e,t){if(!Array.isArray(e.items))throw new m(`Checkpoint ${t} is missing items`,f.GENERIC_FAILURE);return e.items.map(r=>{if(!r||typeof r!="object")throw new m(`Checkpoint ${t} contains an invalid item entry`,f.GENERIC_FAILURE);let n=r;if(typeof n.id!="string"||n.id.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without ID`,f.GENERIC_FAILURE);if(typeof n.target_updated_at!="string"||n.target_updated_at.trim().length===0)throw new m(`Checkpoint ${t} contains an item entry without target_updated_at`,f.GENERIC_FAILURE);return{id:n.id.trim(),target_updated_at:n.target_updated_at.trim()}})}async function bi(e,t,r,n){let o=yi(r),i=Pr(e,t,o);if(!await U(i))throw new m(`Checkpoint ${o} not found`,f.NOT_FOUND);let s=await _i(i,"utf8"),a;try{a=JSON.parse(s)}catch(l){throw new m(`Checkpoint ${o} contains invalid JSON: ${E(l)}`,f.GENERIC_FAILURE)}if(!a||typeof a!="object")throw new m(`Checkpoint ${o} is invalid`,f.GENERIC_FAILURE);let c=a;if(c.schema_version!==n)throw new m(`Checkpoint ${o} has unsupported schema version`,f.GENERIC_FAILURE);let d=wi(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:R(),author:typeof c.author=="string"?c.author:"unknown"}}async function Ei(e,t){let r=[],n=[];for(let o of e)try{let i=await t(o.id,o.target_updated_at);r.push({id:o.id,status:"restored",changed_fields:i.changed_fields,warnings:i.warnings}),n.push(o.id)}catch(i){r.push({id:o.id,status:"failed",error:E(i)})}return{rows:r,restored_ids:n,failed_count:r.filter(o=>o.status==="failed").length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdacd8ac-787a-5639-84d5-a32b6ce79d41")}catch{}})();function V(e){if(typeof e!="string")return null;let t=e.trim().toLowerCase();return t.length>0?t:null}function Sl(e,t){let r=V(t);return!e||!r?null:[...e.assurance_providers??[]].reverse().find(n=>V(n.definition.id)===r)??null}function Si(e,t){let r=V(t);return!e||!r?null:[...e.search_providers].reverse().find(o=>(V(o.runtime_definition?.name)??V(o.definition?.name))===r)??null}function Ti(e,t){let r=V(t);return!e||!r?null:[...e.vector_store_adapters].reverse().find(o=>(V(o.runtime_definition?.name)??V(o.definition?.name))===r)??null}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74ce3524-6c25-5646-b1a0-5ca8a3759034")}catch{}})();var P="-",zr=new Set(["actual_result","body","cmd","command","customer_impact","description","environment","expected_result","impact","location","message","note","outcome","repro_steps","resolution","text","title","unblock_note","value","why_now"]);function Al(e,t){if(e.startsWith("```")||e.includes(`
|
|
3
|
+
`))return!0;let r=t.map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|");return new RegExp(`^(?:[-*+]\\s+)?(?:${r})\\s*[:=]`,"i").test(e)}function Ur(e){let t=e.trim();if(t==="")return[];let n=(Li(t)??t.split(",")).map(o=>o.trim()).filter(Boolean).map(o=>o.toLowerCase());return Array.from(new Set(n)).sort((o,i)=>o.localeCompare(i))}function Vr(e){if(!Array.isArray(e)||e.length===0)return[];let t=[];for(let r of e)if(typeof r=="string")for(let n of Ur(r))t.push(n);return Array.from(new Set(t)).sort((r,n)=>r.localeCompare(n))}function jr(e){return Array.isArray(e)?e.filter(t=>typeof t=="string").map(t=>t.trim().toLowerCase()).filter(Boolean):[]}function vi(e){return typeof e!="string"?[]:e.split(";").map(t=>t.trim()).filter(Boolean)}function Ii(e,t,r){let n=e.map(s=>s.trim()).filter(Boolean);for(let s of t??[]){let a=s.trim();if(a.includes(";"))throw new m('Acceptance criteria added with --add-ac cannot contain ";" because semicolons delimit stored criteria',f.USAGE,{code:"acceptance_criteria_semicolon_forbidden",required:"Pass one semicolon-free criterion per --add-ac value",why:"A semicolon inside one criterion would be re-read as multiple criteria",nextSteps:["Split the text into repeated --add-ac values, or replace the semicolon with punctuation that is not the storage delimiter"]});a.length>0&&!n.includes(a)&&n.push(a)}let o=[],i=n;for(let s of r??[]){let a=s.trim();if(a.length!==0){if(!i.includes(a)){o.push(a);continue}i=i.filter(c=>c!==a)}}return{criteria:i,unmatchedRemovals:o}}function Ai(e,t){let r=jr(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 Vr(t))n.add(o);return Array.from(n).sort((o,i)=>o.localeCompare(i))}function Ci(e,t){let r=Array.from(new Set(jr(e))).sort((o,i)=>o.localeCompare(i));if(!t||t.length===0)return r;let n=new Set(Vr(t));return n.size===0?r:r.filter(o=>!n.has(o))}function Li(e){if(!e.startsWith("["))return null;let t;try{t=JSON.parse(e)}catch{return null}return t.map(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean"?String(n):"").filter(n=>n.length>0)}function bt(e){return e.replace(/\r\n/g,`
|
|
4
|
+
`)}function Kr(e){let t=bt(e).trim();if(!t.startsWith("```"))return e;let r=t.split(`
|
|
5
|
+
`);return r.length<2||r.at(-1)?.trim()!=="```"?e:r.slice(1,-1).join(`
|
|
6
|
+
`)}function ki(e){let t=[],r="",n=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(i==="\\"&&e[o+1]===","){r+=",",o+=1;continue}if(i==="\\"&&e[o+1]!==void 0){r+=`${i}${e[o+1]}`,o+=1;continue}if(i==='"'){n=!n,r+=i;continue}if(i===","&&!n){t.push(r),r="";continue}r+=i}return r.trim()&&t.push(r),t}function qr(e){let t=e.trim();if(t.startsWith('"')&&t.endsWith('"')){try{let r=JSON.parse(t);if(typeof r=="string")return r}catch{}return t.slice(1,-1).replace(/\\"/g,'"')}return e}function Mi(e){let t=e.indexOf("="),r=e.indexOf(":"),n=t>=0,o=r>=0;return n&&o?Math.min(t,r):n?t:o?r:-1}function Ri(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 $r(e,t){let r=e.replaceAll(/\s+/g," ").trim(),n=r.length>160?`${r.slice(0,157)}...`:r,o=Ri(e,t);return`Invalid ${t} value "${n}". Expected key=value entries separated by commas. `+o+`Also accepts markdown-style key/value lines (for example "- path: README.md"). Use ${t} ${P} to read piped stdin input.`}function xi(e){let t=Kr(e).trim();if(t.length===0||!t.includes(`
|
|
7
|
+
`)&&!t.startsWith("-")&&!t.startsWith("*")&&!t.startsWith("+"))return null;let r={},n,o=bt(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]=qr(s[3].trim()),n=a;continue}if(n&&zr.has(n.toLowerCase())){r[n]=`${r[n]}
|
|
9
|
+
${i}`;continue}return null}return r}function Di(e,t){let r=Kr(e).trim();if(!r)throw new m(`${t} cannot be empty`,f.USAGE);let n=xi(r);if(n)return n;let o={},i,s=ki(r);for(let a of s){let c=Mi(a);if(c>=0){let d=a.slice(0,c).trim();if(!d)throw new m($r(e,t),f.USAGE);let l=qr(a.slice(c+1).trim());o[d]=l,i=d;continue}if(i&&zr.has(i.toLowerCase())){o[i]=`${o[i]},${a}`;continue}throw new m($r(e,t),f.USAGE)}return o}var Oi=/^[A-Za-z]:[\\/]/,Ni=/^(?:[-*+]\s+)?[A-Za-z_][A-Za-z0-9_.-]*\s*=/;function Fi(e){let t=e.trim();return Oi.test(t)?!1:Ni.test(t)}function Cl(e,t,r,n){if(!(n||!e.includes(",")))throw new m(`${t} received an ambiguous comma-bearing bare ${r}. Repeat ${t} for multiple values, or quote or escape literal commas in a structured key=<value> entry.`,f.USAGE,{code:"bare_comma_entry_ambiguous",required:`Use one ${t} per bare ${r}, or quote or escape literal commas in a structured key=<value> entry.`})}function Pi(e,t,r){let n=new Set(r.map(i=>i.toLowerCase())),o=Object.keys(e).filter(i=>!n.has(i.toLowerCase()));if(o.length>0)throw new m(`${t} does not recognize key${o.length>1?"s":""} ${o.map(i=>`"${i}"`).join(", ")}. Allowed keys: ${r.join(", ")}.`,f.USAGE);for(let i of Object.keys(e)){let s=i.toLowerCase();if(s!==i){if(Object.hasOwn(e,s))throw new m(`${t} provides key "${i}" more than once after case normalization.`,f.USAGE);e[s]=e[i],delete e[i]}}}async function $i(e){if(process.stdin.isTTY===!0)throw new m(`${e} value "${P}" requires piped stdin input. Pipe content into the command, or end manual stdin with Ctrl+D (Unix/macOS) or Ctrl+Z then Enter (Windows).`,f.USAGE);return process.stdin.setEncoding("utf8"),await new Promise((t,r)=>{let n="";process.stdin.on("data",o=>{n+=o}),process.stdin.on("end",()=>{t(bt(n))}),process.stdin.on("error",o=>{r(o)})})}var H=Symbol("all-mutation-stdin-fields"),C=new WeakMap;function Br(e){return C.set(e,H),e}function zi(e,t){let r=C.get(e);return r===H||C.set(e,new Set([...r??[],...t])),e}function Ui(e,t){let r=C.get(e);return r===void 0||C.set(t,r===H?r:new Set(r)),t}function Ll(e,t){let r=C.get(e),n=C.get(t);return r===void 0||n===H?t:r===H?(C.set(t,r),t):(C.set(t,new Set([...n??[],...r])),t)}function Vi(e){return C.get(e)!==H}function Oe(e,t){let r=C.get(e);return r!==H&&!r?.has(t)}function ji(e){let t;for(let r of e){if(r.resolveToken===!1||r.value===void 0)continue;let o=(Array.isArray(r.value)?r.value:[r.value]).filter(i=>i.trim()===P).length;if(o>1)throw new m(`${r.optionName} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);if(o!==0){if(t!==void 0&&t!==r.optionName)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);t=r.optionName}}}async function kl(e,t,r){let n=e,o=[...t,...r];ji(o.map(([a,c])=>({value:n[a],optionName:c,resolveToken:Oe(e,a)})));let i=Ne(),s={...n};for(let[a,c]of t)s[a]=await i.resolveValue(n[a],c,Oe(e,a));for(let[a,c]of r)s[a]=await i.resolveList(n[a],c,Oe(e,a));return Br(s)}function Ne(){let e,t,r=async i=>{if(t&&t!==i)throw new m(`Only one option may use "${P}" stdin token per command invocation. Already used by ${t}.`,f.USAGE);return t=i,e||(e=$i(i)),await e};return{resolveValue:async(i,s,a=!0)=>{if(!a)return i;if(i!==void 0)return i.trim()!==P?i:await r(s)},resolveList:async(i,s,a=!0)=>{if(!a)return i;if(!i)return;let c=i.map((u,p)=>u.trim()===P?p:-1).filter(u=>u>=0);if(c.length===0)return i;if(c.length>1)throw new m(`${s} accepts "${P}" stdin token at most once per command invocation`,f.USAGE);let d=await r(s),l=[...i];return l[c[0]]=d,l}}}function Ki(e,t){let r=Number(e);if(!Number.isFinite(r))throw new m(`Invalid ${t} value "${e}"`,f.USAGE);return r}function qi(e,t){let r=e.trim(),n=Number(r);if(r===""||!Number.isInteger(n)||n<0)throw new m(`Invalid ${t} value "${e}". Expected a non-negative integer.`,f.USAGE);return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="854a0596-b0ec-5d2e-85b1-5444d8d7b622")}catch{}})();function Et(e){return[...new Set(e.split(/[,\r\n]+/).map(t=>t.trim()).filter(t=>t.length>0))]}function Bi(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=Et(t.join(`
|
|
10
|
+
`));return r.length>0?r.join(","):""}function Hi(e){if(e===void 0)return;if(typeof e=="number")return Number.isFinite(e)?String(e):"";if(Array.isArray(e))return Bi(e);if(typeof e!="string")return"";let t=Et(e);return t.length>0?t.join(","):""}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0ab458f-0faf-5653-9862-43cbe9cf8f1f")}catch{}})();function Hr(e){return e.replaceAll("~1","/").replaceAll("~0","~")}function St(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?Hr(r):"metadata"}let t=e.replace(/^\//,"").split("/")[0];return t?Hr(t):"root"}function Fe(e,t){return t==="body"?e.body:t==="metadata"?e.metadata:t==="root"?e:e.metadata[t]}function Gi(e,t){let r=t?.windowStartIndex??0,n=t?.field;if(e.length===0||r>=e.length)return[];let o=Tr(),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(St(_.path)),_.from!==void 0&&u.add(St(_.from));let p=[...u].sort((_,h)=>_.localeCompare(h));if(s>=r)if(n!==void 0){if(!u.has(n))continue;let _={field:n,before:Fe(c,n),after:Fe(l,n)};i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:[n],changes:[_]})}else{let _=p.map(h=>({field:h,before:Fe(c,h),after:Fe(l,h)}));i.push({index:s+1,ts:a.ts,op:a.op,author:a.author,patch_ops:a.patch.length,changed_fields:p,changes:_})}}return i}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e6571e4b-c436-5af7-be01-c3fce3a9c5d3")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91874535-458b-5a33-a68a-96f44bd2e1f8")}catch{}})();var Yi=new Set(["none","null","undefined"]);function ql(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set parent-reference-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function Wi(e){if(typeof e!="string")throw new m("--parent must be a string. Use --unset parent to clear this field.",f.USAGE);let t=e.trim();if(t.length===0)throw new m("--parent must not be empty. Use --parent none to unset.",f.USAGE);if(Gr(t))throw new m(`--parent must not use placeholder token "${t}". Use --unset parent to clear this field.`,f.USAGE);return t}function Gr(e){return Yi.has(e.trim().toLowerCase())}function Xi(e,t){if(t==="strict_error")throw new m(`Parent item "${e}" was not found. Create it first or use --parent none.`,f.USAGE);return{warnings:[`validation_warning:parent_reference_missing:${e}`]}}function Qi(e,t,r){let n=re(e,r),o=re(t,r);if(n!==o)return;let i=t!==o||e!==n?` (normalized from parent "${t}" and item "${e}")`:"";throw new m(`Parent item "${o}" cannot be the same as item "${n}"${i}. Use --unset parent to clear this field.`,f.USAGE)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b0306587-b3bb-5f82-bb56-7939d1976870")}catch{}})();var Tt={critical:0,high:1,medium:2,low:3,minimal:4},Ji=Object.keys(Tt),Zi=`numbers 0..4 (0=critical, 1=high, 2=medium, 3=low, 4=minimal) or names (${Ji.join(", ")}), case-insensitive`;function Pe(e){return new m(`Invalid priority "${e}". Accepted values: ${Zi}.`,f.USAGE)}function es(e){if(typeof e=="number"){if(Number.isInteger(e)&&e>=0&&e<=4)return e;throw Pe(String(e))}if(typeof e!="string")throw Pe(String(e));let t=e.trim();if(t.length===0)throw Pe(e);let r=t.toLowerCase();if(Object.prototype.hasOwnProperty.call(Tt,r))return Tt[r];if(/^[0-4]$/.test(t))return Number(t);throw Pe(e)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bfb46357-04de-55a0-b132-779c153314de")}catch{}})();var ts=/^[A-Za-z0-9][A-Za-z0-9._/-]*$/,rs=64;function Ql(e){let t=e?.trim().toLowerCase().replaceAll("-","_");if(t==="warn"||t==="strict_error")return t;if(t==="strict")return"strict_error";throw new m("Config set sprint-release-format-policy requires --policy with one of: warn, strict_error (alias: strict)",f.USAGE)}function ns(e,t,r){let n=t.trim();if(n.length===0)throw new m(`--${e} must not be empty. Use --${e} none to unset.`,f.USAGE);if(n.length<=rs&&ts.test(n))return{value:n,warnings:[]};let i="Expected 1-64 characters matching [A-Za-z0-9][A-Za-z0-9._/-]* (no spaces).";if(r==="strict_error")throw new m(`Invalid --${e} value "${n}". ${i}`,f.USAGE);return{value:n,warnings:[`validation_warning:${e}_format:${n}`]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0eff4d63-2691-5130-bc12-4957218393b5")}catch{}})();var Yr={open:"open_status",closed:"close_status",canceled:"canceled_status",cancelled:"canceled_status"},Wr="all";function Xr(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]===Wr}function os(e,t){let r=e.trim().toLowerCase();if(r.length===0)return;let n=Yr[r];return n?t[n]:ue(e,t)}function is(e){let t=new Set(Object.keys(Yr));for(let r of e.definitions){t.add(r.id);for(let n of r.aliases)t.add(n)}return[...t]}function ss(e,t){let r=e.trim().toLowerCase(),n,o=Number.POSITIVE_INFINITY;for(let i of is(t)){let s=et(r,i.toLowerCase(),2);s!==null&&s<o&&(n=i,o=s)}return n}function vt(e,t,r){if(typeof e!="string")return;let n=r?.strict===!0,o=r?.flagLabel??"--status",i=e.split(",").map(c=>c.trim()).filter(c=>c.length>0);if(i.length===0)return;if(i.filter(c=>c.trim().toLowerCase()===Wr).length>0){if(i.length===1)return;throw new m(`Invalid ${o} value "all". Use it by itself, or omit ${o} to search every status.`,f.USAGE)}let a=[];for(let c of i){let d=os(c,t);if(d===void 0){if(n){let l=ss(c,t);throw new m(`Invalid ${o} value "${c}". Use open|closed|canceled or a configured status id${l?`. Did you mean "${l}"?`:"."}`,f.USAGE)}a.push(c);continue}a.push(d)}return[...new Set(a)]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb151177-d326-5ce4-9624-87f6393046e0")}catch{}})();var as={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 cs(e){if(e!==void 0)return as[e.trim().toLowerCase()]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="41196e9d-00c2-5473-848d-7563463c42a7")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7778b388-1b28-53e7-a06e-ef6441b0ed68")}catch{}})();function Qr(e,t){return it(e,t)}function It(e,t,r){let n={};for(let o of t.command_to_fields.get(r)??[]){let i=Er(e,o);i!==void 0&&(n[o.metadata_key]=Sr(o,i))}return n}function At(e,t){for(let[r,n]of Object.entries(t)){let o=e[r];if(Array.isArray(n)){if(Array.isArray(o)){let i=o.map(a=>String(a));if(!n.map(a=>String(a)).every(a=>i.includes(a)))return!1;continue}if(!Qr(o,n[n.length-1]))return!1;continue}if(!Qr(o,n))return!1}return!0}import{spawnSync as Zr}from"node:child_process";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02a573c3-251d-5f42-abcc-63b5aa263aa1")}catch{}})();var ds="PM_DISABLE_OLLAMA_AUTO_DEFAULTS",ls="PM_OLLAMA_MODEL",us="http://localhost:11434",fs="qwen3-embedding:0.6b",ms=".agents/pm/search/lancedb/",ps=1500,_s=2500,ys=/qwen.*(?:embed|embedding)|(?:embed|embedding).*qwen/i,hs=/embed|embedding/i,x=w;function gs(){let e=x(process.env[ds]);if(!e)return!1;let t=e.toLowerCase();return t==="1"||t==="true"||t==="yes"}function Jr(e){return e.some(t=>x(t)!==null)}function ws(e){let t=x(e);return!!(t&&t.toLowerCase()!=="ollama")}function bs(e){let t=x(e);return!!(t&&t.toLowerCase()!=="lancedb")}function Es(e){return ws(e.search?.provider)||bs(e.vector_store?.adapter)||Jr([e.providers?.openai?.base_url,e.providers?.openai?.model,e.providers?.openai?.api_key])?!0:Jr([e.vector_store?.qdrant?.url,e.vector_store?.qdrant?.api_key])}function Ss(){let e=Zr("ollama",["--version"],{encoding:"utf8",timeout:ps});return e.error?!1:e.status===0}function Ts(e){let t=e.split(/\r?\n/).map(i=>i.trim()).filter(i=>i.length>0);if(t.length===0)return null;let r=t.map(i=>i.split(/\s+/)[0]?.trim()).filter(i=>!!(i&&i.length>0)).filter(i=>i.toUpperCase()!=="NAME");if(r.length===0)return null;let n=r.find(i=>ys.test(i));return n||(r.find(i=>hs.test(i))??null)}function vs(e){let t=x(e.providers?.ollama?.model);if(t)return t;let r=x(process.env[ls]);if(r)return r;let n=Zr("ollama",["list"],{encoding:"utf8",timeout:_s});if(!n.error&&n.status===0){let o=Ts(typeof n.stdout=="string"?n.stdout:"");if(o)return o}return null}function Is(e){return{baseUrl:x(e.providers?.ollama?.base_url)===null,model:x(e.providers?.ollama?.model)===null,lancedbPath:x(e.vector_store?.lancedb?.path)===null,embeddingModel:x(e.search?.embedding_model)===null}}function As(e){return e.baseUrl||e.model||e.lancedbPath||e.embeddingModel}function Cs(e,t,r){if(!t.baseUrl&&!t.model)return;let n=e.providers??={},o=n.ollama??={};t.baseUrl&&(o.base_url=us),t.model&&(o.model=r)}function Ls(e,t){if(!t.lancedbPath)return;let r=e.vector_store??={},n=r.lancedb??={};n.path=ms}function ks(e,t,r){if(!t.embeddingModel)return;let n=e.search??={};n.embedding_model=r}function $e(e){let t={settings:e,auto_ollama_defaults_applied:!1};if(gs()||Es(e))return t;let r=Is(e);if(!As(r)||r.model&&!Ss())return t;let n=structuredClone(e),o=vs(n);return o?(Cs(n,r,o),Ls(n,r),ks(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 ${fs} or configure providers.ollama.model explicitly (and search.embedding_model if you need an override).`}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="22112449-f1ab-5b6b-a9bb-37e5d3c5b83a")}catch{}})();var xs="reindex";import _n from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="74cee8e6-1785-50f4-94d8-fc0b29055dc2")}catch{}})();var Ds=3e4;function G(e,t,r=Ds){let n=e??r;if(!Number.isFinite(n)||n<=0)throw new Error(`${t} timeout must be a positive finite number`);return Math.floor(n)}function Y(e,t){if(e)return e;if(typeof globalThis.fetch=="function")return globalThis.fetch.bind(globalThis);throw new Error(`${t} execution requires a fetch implementation`)}async function Os(e){try{return(await e.text()).replaceAll(/\s+/g," ").trim()}catch(t){return`(failed to read response body: ${E(t)})`}}async function ze(e){let t=new AbortController,r=setTimeout(()=>{t.abort()},e.timeoutMs);try{let n;try{n=await e.fetcher(e.endpoint,{method:e.method,headers:e.headers,body:JSON.stringify(e.body),signal:t.signal})}catch(o){throw o instanceof Error&&o.name==="AbortError"?new Error(`${e.requestLabel} timed out after ${e.timeoutMs}ms`):new Error(`${e.requestLabel} execution failed: ${E(o)}`)}if(!n.ok){let o=await Os(n),i=o.length>0?`: ${o}`:"";throw new Error(`${e.requestLabel} failed with status ${n.status} ${n.statusText}${i}`)}try{return await n.json()}catch(o){throw new Error(`${e.responseLabel} JSON parse failed: ${E(o)}`)}}finally{clearTimeout(r)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2c36f008-53c4-5ee7-bc87-6bfb7aeb8f42")}catch{}})();function vu(e,t){let r=w(e);if(!r)return"unconfigured";let n=w(t);return n&&n.toLowerCase()===r.toLowerCase()?"configured":"auto-detected"}function Ns(e){let t=le(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 Fs(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 Ps(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 $s(e){let t=[],r=[],n=new Map;for(let o of e){let i=n.get(o);if(i===void 0){let s=t.length;t.push(o),n.set(o,s),r.push(s);continue}r.push(i)}return{uniqueInputs:t,originalToUniqueIndex:r}}function zs(e){let t=e.map((n,o)=>({embedding:n.embedding,index:n.index,position:o}));if(t.some(n=>n.index!==void 0)){for(let n of t)if(!Number.isInteger(n.index))throw new TypeError(`OpenAI embedding response entry at position ${n.position} is missing a valid integer index`);return[...t].sort((n,o)=>{let i=n.index-o.index;return i!==0?i:n.position-o.position})}return t}function Ct(e){let t=Fs(e),r=Ps(e),n=[t,r].filter(a=>a!==null),o=w(e.search?.provider),i=o?o.toLowerCase():null;return{active:(i?n.find(a=>a.name===i):void 0)??n[0]??null,available:n}}function tn(e){let t=le(e.base_url);return e.name==="openai"?{provider:"openai",endpoint:Ns(t),model:e.model}:{provider:"ollama",endpoint:`${t}/api/embed`,model:e.model}}function Us(e,t){let r=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 Vs(e,t){if(e.name==="openai"){let o=t.data;if(!Array.isArray(o)||o.length===0)throw new Error("OpenAI embedding response must include a non-empty data array");return zs(o).map((s,a)=>{let c=s.embedding;if(!Z(c))throw new Error(`OpenAI embedding response entry at index ${a} is missing a numeric embedding vector`);return[...c]})}let r=t.embedding;if(Z(r))return[[...r]];let n=t.embeddings;if(Array.isArray(n)&&n.length>0)return n.map((o,i)=>{if(!Z(o))throw new Error(`Ollama embedding response entry at index ${i} is missing a numeric embedding vector`);return[...o]});throw new Error("Ollama embedding response must include embedding or embeddings vectors")}async function on(e,t,r={}){let n=G(r.timeout_ms,"Embedding request"),o=Y(r.fetcher,"Embedding request"),i=nn(t),s=$s(i),a=Us(e,s.uniqueInputs),c=await ze({endpoint:a.target.endpoint,method:a.method,headers:a.headers,body:a.body,timeoutMs:n,fetcher:o,requestLabel:"Embedding request",responseLabel:"Embedding response"}),d=Vs(e,c);if(d.length!==s.uniqueInputs.length)throw new Error(`Embedding response cardinality mismatch: expected ${s.uniqueInputs.length} vector(s), received ${d.length}`);return s.originalToUniqueIndex.map(l=>[...d[l]])}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16c567d7-0065-5401-a768-0913cec6d5f4")}catch{}})();var 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 js=8e3,kt=3200,W="...[semantic corpus truncated]",Ks="search_embedding_corpus_max_characters_invalid:using_provider_default";function O(e){return e.map(t=>t==null?"":String(t).trim()).filter(t=>t.length>0).join(" ")}function qs(e){return(e.reminders??[]).map(t=>O([t.at,t.text]))}function Bs(e){return(e.events??[]).map(t=>O([t.start_at,t.end_at,t.title,t.description,t.location,t.all_day===!0?"all day":void 0,t.timezone,t.recurrence?.freq,t.recurrence?.interval,t.recurrence?.count,t.recurrence?.until,t.recurrence?.by_weekday?.join(" "),t.recurrence?.by_month_day?.join(" "),t.recurrence?.exdates?.join(" ")]))}function Hs(e,t){e.push(t.title,t.body,t.status,t.owner,t.evidence,t.blocked_reason,t.superseded_by);for(let r of t.linked_items??[])e.push(`${r.kind} ${r.id}`,r.note);for(let r of t.files??[])e.push(r.path,r.note);for(let r of t.tests??[])e.push(r.command,r.path,r.note);for(let r of t.docs??[])e.push(r.path,r.note)}function Gs(e,t){for(let r of t.plan_decisions??[])e.push(r.decision,r.rationale,r.evidence);for(let r of t.plan_discoveries??[])e.push(r.text);for(let r of t.plan_validation??[])e.push(r.text,r.command,r.expected)}function Cu(e){let t=[];t.push(e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context);for(let r of e.plan_steps??[])Hs(t,r);return Gs(t,e),t.filter(r=>typeof r=="string"&&r.length>0).join(" ")}function Ys(e){let t=(e.plan_steps??[]).map(s=>O([s.order,s.id,s.title,s.body,s.status,s.owner,s.evidence,s.blocked_reason,s.superseded_by,(s.linked_items??[]).map(a=>O([a.kind,a.id,a.note])).join(" "),(s.files??[]).map(a=>O([a.path,a.note])).join(" "),(s.tests??[]).map(a=>O([a.command,a.path,a.note])).join(" "),(s.docs??[]).map(a=>O([a.path,a.note])).join(" ")])),r=(e.plan_decisions??[]).map(s=>O([s.decision,s.rationale,s.evidence,s.step_id])),n=(e.plan_discoveries??[]).map(s=>O([s.text,s.step_id])),o=(e.plan_validation??[]).map(s=>O([s.text,s.command,s.expected]));if([e.plan_mode,e.plan_scope,e.plan_harness,e.plan_resume_context,...t,...r,...n,...o].some(s=>s!==void 0))return{mode:e.plan_mode,scope:e.plan_scope,harness:e.plan_harness,resume_context:e.plan_resume_context,steps:t,decisions:r,discoveries:n,validation:o}}function D(e){return typeof e=="string"&&e.trim().length>0}var Ws={title:e=>e.metadata.title,description:e=>e.metadata.description,tags:e=>e.metadata.tags,status:e=>e.metadata.status,type:e=>e.metadata.type,priority:e=>typeof e.metadata.priority=="number"?e.metadata.priority:void 0,assignee:e=>D(e.metadata.assignee)?e.metadata.assignee:void 0,parent:e=>D(e.metadata.parent)?e.metadata.parent:void 0,goal:e=>D(e.metadata.goal)?e.metadata.goal:void 0,value:e=>D(e.metadata.value)?e.metadata.value:void 0,why_now:e=>D(e.metadata.why_now)?e.metadata.why_now:void 0,risk:e=>D(e.metadata.risk)?e.metadata.risk:void 0,confidence:e=>e.metadata.confidence!==void 0&&e.metadata.confidence!==null?e.metadata.confidence:void 0,estimated_minutes:e=>typeof e.metadata.estimated_minutes=="number"?e.metadata.estimated_minutes:void 0,acceptance_criteria:e=>D(e.metadata.acceptance_criteria)?e.metadata.acceptance_criteria:void 0,resolution:e=>D(e.metadata.resolution)?e.metadata.resolution:void 0,expected_result:e=>D(e.metadata.expected_result)?e.metadata.expected_result:void 0,actual_result:e=>D(e.metadata.actual_result)?e.metadata.actual_result:void 0,body:e=>e.body,comments:e=>(e.metadata.comments??[]).map(t=>t.text),notes:e=>(e.metadata.notes??[]).map(t=>t.text),learnings:e=>(e.metadata.learnings??[]).map(t=>t.text),reminders:e=>qs(e.metadata),events:e=>Bs(e.metadata),dependencies:e=>(e.metadata.dependencies??[]).map(t=>({id:t.id,kind:t.kind})),plan:e=>Ys(e.metadata)};function sn(e,t={}){let r=t.fields??Ue,n={};for(let o of r){let i=Ws[o];if(!i)continue;let s=i(e);s!==void 0&&(n[o]=s)}return n}function Xs(e){return e?.trim().toLowerCase()==="ollama"?kt:js}function oe(e,t){let r=Xs(e),n=pr(t);return n!==null?{maxCharacters:n,warning:null}:{maxCharacters:r,warning:t==null?null:Ks}}function Mt(e,t={}){let r=JSON.stringify(sn(e,{fields:t.fields})),n=oe(t.providerName,t.maxCharacters).maxCharacters;if(r.length<=n)return r;if(n<=W.length)return W.slice(0,n);let o=Math.max(0,n-W.length);return`${r.slice(0,o)}${W}`}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f0edf7da-87cc-5e66-9f9f-c9a25e21808e")}catch{}})();function Qs(e,t){let r=e.search.embedding_batch_size,n=e.search.embedding_timeout_ms,o=e.search.scanner_max_batch_retries,i=Number.isFinite(r)&&r>0?Math.floor(r):1,s=Number.isFinite(n)&&n>0?Math.floor(n):3e4,a=Number.isFinite(o)&&o>=0?Math.floor(o):0;return{batchSize:i,timeoutMs:s,maxRetries:a,maxBatchInputCharacters:Number.POSITIVE_INFINITY,maxInputCharacters:t}}function Js(e,t,r){let n=[],o=[],i=0;for(let s of e){let a=o.length>=t,c=o.length>0&&Number.isFinite(r)&&i+s.length>r;(a||c)&&(n.push(o),o=[],i=0),o.push(s),i+=s.length}return n.push(o),n}function Zs(e,t){return e.name!=="ollama"?t:{...t,maxBatchInputCharacters:kt}}function ea(e,t){if(!Number.isFinite(t)||t<=0||e.length<=t)return e;let r=Math.max(0,t-W.length);return`${e.slice(0,r)}${W}`.slice(0,t)}function an(e){let t=E(e).toLowerCase();return t.includes("timed out")||t.includes("timeout")}function ta(e,t,r,n,o,i){let s=`Embedding batch ${t} failed after ${o} attempt(s): ${E(i)}`,a=`provider=${e.name} model=${e.model} batch_size=${r} timeout_ms=${n}`;return 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})`}async function Rt(e,t,r,n,o,i){let s=null;for(let a=0;a<=o;a+=1)try{let c=await on(e,t,{timeout_ms:n});return a>0&&i.push(`search_embedding_batch_retry_succeeded:batch=${r}:attempt=${a+1}:size=${t.length}`),c}catch(c){if(s=c,an(c)&&t.length>1){let d=Math.ceil(t.length/2),l=t.slice(0,d),u=t.slice(d);return i.push(`search_embedding_batch_split_after_timeout:batch=${r}:size=${t.length}:parts=${l.length}|${u.length}`),[...await Rt(e,l,`${r}.1`,n,o,i),...await Rt(e,u,`${r}.2`,n,o,i)]}if(a<o){let d=Math.min(1e3*2**a,8e3);await new Promise(l=>setTimeout(l,d))}}throw new Error(ta(e,r,t.length,n,o+1,s))}async function xt(e,t,r,n={}){if(r.length===0)return{vectors:[],warnings:[]};let o=[],i=oe(e.name,t.search.embedding_corpus_max_characters);i.warning&&o.push(i.warning);let s=Zs(e,Qs(t,i.maxCharacters)),a=0,c=r.map(p=>{let _=ea(p,s.maxInputCharacters);return _.length<p.length&&(a+=1),_});a>0&&o.push(`search_embedding_input_truncated:count=${a}:max_characters=${s.maxInputCharacters}`);let d=Js(c,s.batchSize,s.maxBatchInputCharacters),l=[],u=0;for(let p=0;p<d.length;p+=1){let _=d[p];n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"start"}),l.push(...await Rt(e,_,String(p+1),s.timeoutMs,s.maxRetries,o)),u+=_.length,n.onProgress?.({batch_index:p+1,batch_total:d.length,batch_size:_.length,completed_inputs:u,total_inputs:c.length,phase:"complete"})}return{vectors:l,warnings:o}}import{mkdir as ra,readFile as na,stat as Nt,unlink as oa}from"node:fs/promises";import{basename as cn,dirname as Dt,isAbsolute as ia,join as sa,resolve as Ft}from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="887ac66e-679f-5a07-a6a2-8a19a4007198")}catch{}})();var Pt="pm_items",aa=/[^a-zA-Z0-9_-]/g,ca=128,da=".pm-cli-local-vectors",Ot=1,X=new Map;function ge(e){return(w(e.collection_name)??Pt).replaceAll(aa,"_").slice(0,ca)}function Ve(e){if(!Z(e)||e.length===0)throw new Error("Vector values must be a non-empty numeric array");return[...e]}function ln(e){if(!Number.isFinite(e)||e<=0)throw new Error("Vector query limit must be a positive number");return Math.floor(e)}function la(e){let t=e.result;if(!Array.isArray(t))throw new TypeError("Qdrant query response must include a result array");let r=t.map((n,o)=>{let i=n.id,s=typeof i=="number"?String(i):i,a=w(s);if(!a)throw new Error(`Qdrant query response entry at index ${o} is missing a non-empty id`);let c=n.score;if(typeof c!="number"||!Number.isFinite(c))throw new TypeError(`Qdrant query response entry at index ${o} is missing a finite numeric score`);let d=n.payload;if(d!==void 0&&(typeof d!="object"||d===null||Array.isArray(d)))throw new Error(`Qdrant query response entry at index ${o} must provide payload as an object when set`);return{id:a,score:c,...d?{payload:d}:{}}});return r.sort((n,o)=>n.score!==o.score?o.score-n.score:n.id.localeCompare(o.id)),r}function $t(e){let t=w(e.result?.status);if(t)return{status:t};let r=w(e.status);if(r)return{status:r};throw new Error("Qdrant upsert response must include status metadata")}async function he(e,t,r,n,o){return await ze({endpoint:e,method:t.method,headers:t.headers,body:t.body,timeoutMs:r,fetcher:n,requestLabel:`Vector ${o} request`,responseLabel:`Vector ${o} response`})}function ua(e){let t=w(e.vector_store?.qdrant?.url);if(!t)return null;let r=w(e.vector_store?.collection_name),n=w(e.vector_store?.qdrant?.api_key);return{name:"qdrant",url:t,...r&&r!==Pt?{collection_name:r}:{},...n?{api_key:n}:{}}}function fa(e){let t=Ft(e),r=Dt(t);return cn(t)==="pm"&&cn(r)===".agents"?Dt(r):t}function ma(e,t){return!t||ia(e)?e:Ft(fa(t),e)}function pa(e,t){let r=w(e.vector_store?.lancedb?.path);if(!r)return null;let n=w(e.vector_store?.collection_name);return{name:"lancedb",path:ma(r,t),...n&&n!==Pt?{collection_name:n}:{}}}function _a(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector upsert records must include at least one entry");return e.map((t,r)=>{let n=w(t.id);if(!n)throw new Error(`Vector upsert record at index ${r} is missing a non-empty id`);let o=Ve(t.vector),i=t.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`Vector upsert record at index ${r} must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}})}function ya(e){if(!Array.isArray(e)||e.length===0)throw new Error("Vector delete ids must include at least one entry");let t=e.map((n,o)=>{let i=w(n);if(!i)throw new Error(`Vector delete id at index ${o} is missing a non-empty value`);return i}).sort((n,o)=>n.localeCompare(o)),r=[];for(let n of t)r.at(-1)!==n&&r.push(n);return r}function ha(e){return e.replace(/\/points\?wait=true$/,"/points/delete?wait=true")}function ga(e){return e.replace(/\/points\?wait=true$/,"")}function je(e){return{"content-type":"application/json",...e.api_key?{"api-key":e.api_key}:{}}}function Ke(e,t){return ie(e,t)}function ie(e,t){return sa(Ft(e),da,`${t}.json`)}function wa(e,t,r){let n=w(e.id);if(!n)throw new Error(`LanceDB local snapshot '${r}' record at index ${t} is missing a non-empty id`);let o=Ve(e.vector),i=e.payload;if(i!==void 0&&(typeof i!="object"||i===null||Array.isArray(i)))throw new Error(`LanceDB local snapshot '${r}' record '${n}' must provide payload as an object when set`);return{id:n,vector:o,...i?{payload:i}:{}}}function ba(e,t,r){let n;try{n=JSON.parse(r)}catch(c){throw new Error(`LanceDB local snapshot at '${e}' is not valid JSON: ${E(c)}`)}if(typeof n!="object"||n===null||Array.isArray(n))throw new Error(`LanceDB local snapshot at '${e}' must be a JSON object`);if(n.version!==Ot)throw new Error(`LanceDB local snapshot at '${e}' must include version=${Ot}`);let i=w(n.table);if(!i)throw new Error(`LanceDB local snapshot at '${e}' must include a non-empty table value`);if(i!==t)throw new Error(`LanceDB local snapshot at '${e}' table mismatch: expected '${t}', received '${i}'`);let s=n.records;if(!Array.isArray(s))throw new TypeError(`LanceDB local snapshot at '${e}' must include a records array`);let a=new Map;for(let c=0;c<s.length;c+=1){let d=wa(s[c],c,e);a.set(d.id,d)}return a}async function Ea(e){try{let t=await Nt(e);return{mtimeMs:t.mtimeMs,size:t.size}}catch(t){if(!J(t))throw t;return null}}function Sa(e,t){if(!t)return null;if(t.mtimeMs===null&&t.size===null&&t.records.size===0)return t.records;let r=new Map;return X.set(e,{records:r,mtimeMs:null,size:null}),r}function Ta(e,t){return e!==void 0&&t!==null&&e.mtimeMs===t.mtimeMs&&e.size===t.size}async function zt(e,t){let r=Ke(e,t),n=ie(e,t),o=await Ea(n),i=X.get(r);if(!o){let a=Sa(r,i);if(a)return a}if(Ta(i,o))return i.records;let s=new Map;try{let a=await na(n,"utf8");s=ba(n,t,a)}catch(a){if(!J(a))throw a}return X.set(r,{records:s,mtimeMs:o?.mtimeMs??null,size:o?.size??null}),s}function va(e){let t=[...e.values()];return t.sort((r,n)=>r.id.localeCompare(n.id)),t.map(r=>({id:r.id,vector:[...r.vector],...r.payload?{payload:r.payload}:{}}))}async function un(e){try{await oa(e)}catch(t){if(!J(t))throw new Error(`LanceDB local snapshot delete failed at '${e}': ${E(t)}`)}}async function fn(e,t,r){let n=ie(e,t);if(r.size===0){await un(n);return}let o=Dt(n);try{await ra(o,{recursive:!0})}catch(s){throw new Error(`LanceDB local snapshot directory create failed at '${o}': ${E(s)}`)}let i=`${JSON.stringify({version:Ot,table:t,records:va(r)})}
|
|
11
|
+
`;try{await T(n,i)}catch(s){throw new Error(`LanceDB local snapshot write failed at '${n}': ${E(s)}`)}}async function Ia(e,t){let r=Ke(e,t),n=ie(e,t);await un(n),X.delete(r)}function dn(e){let t=0;for(let r=0;r<e.length;r+=1)t+=e[r]*e[r];return Math.sqrt(t)}function Aa(e,t){let r=0;for(let i=0;i<e.length;i+=1)r+=e[i]*t[i];let n=dn(e),o=dn(t);return n===0||o===0?0:r/(n*o)}function Ut(e,t){let r=ua(e),n=pa(e,t),o=[r,n].filter(c=>c!==null),i=w(e.vector_store?.adapter),s=i?i.toLowerCase():null;return{active:(s?o.find(c=>c.name===s):void 0)??o[0]??null,available:o}}function qe(e){let t=ge(e);if(e.name==="qdrant"){let o=le(e.url),i=encodeURIComponent(t);return{store:"qdrant",query_target:`${o}/collections/${i}/points/search`,upsert_target:`${o}/collections/${i}/points?wait=true`}}let r=encodeURIComponent(e.path),n=encodeURIComponent(t);return{store:"lancedb",query_target:`lancedb://${r}#${n}`,upsert_target:`lancedb://${r}#${n}`}}function Ca(e,t,r){let n=qe(e),o=Ve(t),i=ln(r);return e.name==="qdrant"?{target:n,method:"POST",headers:je(e),body:{vector:o,limit:i,with_payload:!0}}:{target:n,method:"LOCAL",headers:{},body:{table:ge(e),vector:o,limit:i}}}function La(e,t){let r=qe(e),n=_a(t);return e.name==="qdrant"?{target:r,method:"POST",headers:je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),records:n}}}function ka(e,t){let r=qe(e),n=ya(t);return e.name==="qdrant"?{target:r,method:"POST",headers:je(e),body:{points:n}}:{target:r,method:"LOCAL",headers:{},body:{table:ge(e),ids:n}}}async function $u(e,t,r,n={}){let o=Ca(e,t,r);if(o.method==="LOCAL"){let c=e,d=o.body,l=await zt(c.path,d.table);if(l.size===0)return[];let u=Ve(d.vector),p=ln(d.limit),_=[],h=0;for(let y of l.values()){if(y.vector.length!==u.length){h++;continue}_.push({id:y.id,score:Aa(u,y.vector),...y.payload?{payload:y.payload}:{}})}return h>0&&n.warnings&&n.warnings.push(`vector_dimension_mismatch:${h} records skipped (expected ${u.length} dimensions)`),_.sort((y,g)=>y.score!==g.score?g.score-y.score:y.id.localeCompare(g.id)),_.slice(0,p)}let i=G(n.timeout_ms,"Vector request"),s=Y(n.fetcher,"Vector request"),a=await he(o.target.query_target,{method:"POST",headers:o.headers,body:o.body},i,s,"query");return la(a)}async function Vt(e,t,r={}){let n=La(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Ke(a.path,c.table),l=await zt(a.path,c.table);for(let _ of c.records)l.set(_.id,_);await fn(a.path,c.table,l);let u=ie(a.path,c.table),p=await Nt(u);return X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size}),{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await he(n.target.upsert_target,{method:"POST",headers:n.headers,body:n.body},o,i,"upsert");return $t(s)}async function Be(e,t,r={}){let n=ka(e,t);if(n.method==="LOCAL"){let a=e,c=n.body,d=Ke(a.path,c.table),l=await zt(a.path,c.table);if(l.size===0)return{status:"ok"};for(let u of c.ids)l.delete(u);if(await fn(a.path,c.table,l),l.size===0)X.delete(d);else{let u=ie(a.path,c.table),p=await Nt(u);X.set(d,{records:l,mtimeMs:p.mtimeMs,size:p.size})}return{status:"ok"}}let o=G(r.timeout_ms,"Vector request"),i=Y(r.fetcher,"Vector request"),s=await he(ha(n.target.upsert_target),{method:"POST",headers:n.headers,body:n.body},o,i,"delete");return $t(s)}async function mn(e,t=[],r={},n){if(e.name==="lancedb")return await Ia(e.path,ge(e)),{status:"ok"};if(n!==void 0){if(!Number.isInteger(n)||n<=0)throw new Error("Vector reset dimension must be a positive integer when provided");let i=qe(e),s=ga(i.upsert_target),a=G(r.timeout_ms,"Vector request"),c=Y(r.fetcher,"Vector request"),d=je(e);try{await he(s,{method:"DELETE",headers:d,body:{}},a,c,"delete")}catch(u){if(!E(u).includes("failed with status 404"))throw u}let l=await he(s,{method:"PUT",headers:d,body:{vectors:{size:n,distance:"Cosine"}}},a,c,"upsert");return $t(l)}let o=t.map(i=>i.trim()).filter(i=>i.length>0);return o.length===0?{status:"ok"}:await Be(e,o,r)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f4a214b6-02f4-5fc4-bfcd-90c0ca940842")}catch{}})();function He(e,t){let r=w(e),n=w(t);return!r||!n?null:{provider:r,model:n}}function 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=He(e.provider,e.model),r=e.vector_dimension;if(!t||typeof r!="number"||!Number.isInteger(r)||r<=0)throw new Error("Vectorization embedding metadata must include provider, model, and positive vector_dimension");return{...t,vector_dimension:r}}function jt(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 Kt(e,t){return!e||e.provider!==t.provider||e.model!==t.model}function qt(e,t){return!!(e&&e.vector_dimension!==t)}function Bt(e,t){if(e.length===0)throw new Error(`${t} returned no vectors`);let n=e[0].length;if(!Number.isInteger(n)||n<=0)throw new Error(`${t} returned an empty vector`);for(let o=1;o<e.length;o+=1)if(e[o]?.length!==n)throw new Error(`${t} returned mixed vector dimensions`);return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b382ab50-682e-5e53-a32d-277c5ccf8bef")}catch{}})();var yn="search/vectorization-status.json";function be(e){return[...new Set([...e].map(t=>t.trim()).filter(t=>t.length>0))].sort((t,r)=>t.localeCompare(r))}function hn(e){return typeof e=="string"&&e.trim().length>0&&Number.isFinite(Date.parse(e))}function gn(e){let t=new Map;for(let[r,n]of Object.entries(e)){let o=r.trim();o.length===0||!hn(n)||t.set(o,n)}return Object.fromEntries([...t.entries()].sort((r,n)=>r[0].localeCompare(n[0])))}async function wn(e){let t=_n.join(e,yn),r=await I(t);if(r===null||r.trim().length===0)return{entries:{},embedding:null,warnings:[]};let n;try{n=JSON.parse(r)}catch{return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]}}if(typeof n!="object"||n===null||n.version!==1||!Array.isArray(n.items))return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let o=new Map;for(let s of n.items){if(typeof s!="object"||s===null)return{entries:{},embedding:null,warnings:["search_vectorization_status_ledger_invalid"]};let a=s.id,c=s.updated_at;if(typeof a!="string"||a.trim().length===0||!hn(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 bn(e,t,r){let n=gn(t),o=_n.join(e,yn),i=`${JSON.stringify({version:1,generated_at:R(),...r?{embedding:r}:{},items:Object.entries(n).map(([s,a])=>({id:s,updated_at:a}))},null,2)}
|
|
12
|
+
`;await T(o,i)}function Ma(e){return{id:e.id,type:e.type,status:e.status,priority:e.priority,updated_at:e.updated_at}}function Ra(e){let t=He(e.name,e.model);if(!t)throw new Error("Embedding provider must include a provider name and model");return t}function we(e,t){return{refreshed:[],skipped:e,warnings:[t]}}async function xa(e,t,r){if(!r.settings&&!await U(nt(e)))return we(t,"search_semantic_refresh_skipped:settings_not_initialized");let n;try{if(r.settings)n=r.settings;else{let a=await Ae(e),c=a.warnings.find(d=>d.startsWith("settings_read_"));if(c)return we(t,`search_semantic_refresh_skipped:settings_read_failed:${c}`);n=a.settings}}catch(a){return we(t,`search_semantic_refresh_skipped:settings_read_failed:${E(a)}`)}let o=r.apply_runtime_defaults?$e(n).settings:n,i=Ct(o).active;if(!i)return we(t,"search_semantic_refresh_skipped:provider_unconfigured");let s=Ut(o,e).active;return s?{settings:o,provider:i,vectorStore:s}:we(t,"search_semantic_refresh_skipped:vector_store_unconfigured")}async function Da(e,t,r,n,o,i){let s=[],a=new Set,c=new Set,d=[];for(let l of n){let u=await me(e,l,t,r,o);if(!u){c.add(l);continue}try{let p=await yt(u,{schema:i});d.push({id:p.document.metadata.id,document:p.document})}catch(p){a.add(u.id),s.push(`search_semantic_refresh_item_read_failed:${u.id}:${E(p)}`)}}return d.sort((l,u)=>l.id.localeCompare(u.id)),{documents:d,missingIds:be(c),skippedIds:be(a),warnings:s}}async function Oa(e,t,r){let n=oe(t.name,e.search.embedding_corpus_max_characters).maxCharacters,o=Lt(e),i=r.map(a=>Mt(a.document,{providerName:t.name,maxCharacters:n,fields:o})),s=await xt(t,e,i);return{vectors:s.vectors,vector_dimension:Bt(s.vectors,"Semantic refresh embedding"),warnings:s.warnings}}async function Na(e,t,r){return await Vt(e,t.map((n,o)=>({id:n.id,vector:r[o],payload:Ma(n.document.metadata)}))),{refreshed:t.map(n=>n.id),skipped:[],warnings:[]}}async function Fa(e,t){if(t.length===0)return{refreshed:[],skipped:[],warnings:[]};try{return await Be(e,t),{refreshed:[],skipped:[],warnings:[]}}catch(r){return{refreshed:[],skipped:t,warnings:[`search_semantic_refresh_delete_failed:${E(r)}`]}}}async function sf(e,t,r={}){let n=be(t);if(n.length===0)return{refreshed:[],skipped:[],warnings:[]};let o=await xa(e,n,r);if(!("settings"in o))return o;let i=M(o.settings,q()),s=await Da(e,o.settings.id_prefix,o.settings.item_format,n,i.type_to_folder,o.settings.schema),a=s.documents.length>0||s.missingIds.length>0?await wn(e):{entries:{},embedding:null,warnings:[]},c=Ra(o.provider),d=a.entries,l={refreshed:[],skipped:[],warnings:[]},u=a.embedding;if(s.documents.length>0)if(a.embedding&&Kt(a.embedding,c))l={refreshed:[],skipped:s.documents.map(g=>g.id),warnings:["search_semantic_refresh_requires_reindex:embedding_identity_changed"]};else try{let g=await Oa(o.settings,o.provider,s.documents);if(qt(a.embedding,g.vector_dimension))l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[...g.warnings,"search_semantic_refresh_requires_reindex:vector_dimension_changed"]};else{u=jt(c,g.vector_dimension);let b=await Na(o.vectorStore,s.documents,g.vectors);l={refreshed:b.refreshed,skipped:b.skipped,warnings:[...g.warnings,...b.warnings]}}}catch(g){l={refreshed:[],skipped:s.documents.map(b=>b.id),warnings:[`search_semantic_refresh_failed:${E(g)}`]}}let p=await Fa(o.vectorStore,s.missingIds),_=new Set(l.refreshed),h=Object.fromEntries(s.documents.filter(g=>_.has(g.id)).map(g=>[g.id,g.document.metadata.updated_at])),y=[];if(Object.keys(h).length>0||s.missingIds.length>0){let g={...d,...gn(h)};for(let b of s.missingIds)delete g[b];try{await bn(e,g,u)}catch(b){y.push(`search_vectorization_status_ledger_write_failed:${E(b)}`)}y.push(...a.warnings)}return{refreshed:be([...l.refreshed,...p.refreshed]),skipped:be([...s.skippedIds,...l.skipped,...p.skipped]),warnings:[...s.warnings,...l.warnings,...p.warnings,...y]}}import{createRequire as $a}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]="f5bf9c68-8526-5c19-ac46-655cf348f0bb")}catch{}})();var za=/(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|credentials|bearer|dsn)/i,lf=new RegExp(`\\b(${za.source})\\s*[:=]\\s*([^\\s,;]+)`,"giu");var uf=$a(import.meta.url);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4e329152-7e9e-5cf2-a4cf-35260a599360")}catch{}})();var pf=new Map([[f.USAGE,"invalid_command_usage"],[f.NOT_FOUND,"item_not_found"],[f.CONFLICT,"lock_conflict"],[f.DEPENDENCY_FAILED,"dependency_failed"]]);(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="199c4791-6ca7-50c4-b2cd-aa96c0ab2408")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="eb1afbe5-eb0a-56d2-bb94-80fd427325f7")}catch{}})();var Sf=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]="4873876d-67b4-5f79-a984-756b7e539e9b")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3940f646-f84d-5eb0-8db1-de64ca0a5985")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f3edff87-6ea5-5108-a749-eeb380870601")}catch{}})();function Va(e,t){if(e==null)return[];let r=t?.separators??/,/,o=e.split(r).map(a=>a.trim()).filter(a=>a.length>0),s=t?.unique!==!1?Array.from(new Set(o)):o;return t?.sort===!0?[...s].sort():s}import Sn from"node:fs/promises";import Ge from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1ad4a739-f29d-5b50-b1cf-f8590804e32b")}catch{}})();function ja(e){return"json_markdown"}function Tn(e,t){return Ge.relative(e,t).replaceAll("\\","/")}function Ka(e){return String(e).replaceAll(/[^a-zA-Z0-9._-]+/g,"_").slice(0,120)}async function qa(e,t,r="item_format:migrate",n=tt,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=ja(t),l=Object.entries(n);for(let[u,p]of l){let _=Ge.join(e,p),h=[];try{h=await Sn.readdir(_)}catch{continue}let y=new Map;for(let b of h){let A=Ge.join(_,b),k=mr(A);if(!k)continue;let $=Ge.extname(b),K=b.slice(0,b.length-$.length).trim();if(K.length===0)continue;let z=y.get(K)??{};z[k]=A,y.set(K,z)}let g=[...y.keys()].sort((b,A)=>b.localeCompare(A));for(let b of g){let A=y.get(b);c+=1;let k=A[d];if(!k)continue;let $=A[t]??k,K=$===A[t]?t:d;try{let z=await Sn.readFile($,"utf8"),Je=ut(z,{format:K,schema:o,onWarning:Jo=>a.push(`item_format_migration_parse_warning:${b}:${Jo}`)}),Ze=ot(e,u,b,t,n),fr=ft(Je,{format:t,schema:o});await I(Ze)!==fr&&(await T(Ze,fr),a.push(...await ve({path:Ze,scope:"project",op:r})),i.add(b)),await Te(k),s.add(Tn(e,k)),a.push(...await ve({path:k,scope:"project",op:`${r}:remove`})),i.add(b)}catch(z){a.push(`item_format_migration_skipped:${Tn(e,$)}:${Ka(z)}`)}}}return{target_format:t,scanned:c,migrated:[...i].sort((u,p)=>u.localeCompare(p)),removed:[...s].sort((u,p)=>u.localeCompare(p)),warnings:a}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d2940263-a7b4-5d29-b1e5-631fe1072a5b")}catch{}})();var Ba=new Set(["completed","superseded"]);function Ha(e){return e!==void 0&&Ba.has(e)}function Ga(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 Pf 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]="faaf2443-4a68-5a89-be9a-65eade438e4d")}catch{}})();import Yt from"node:crypto";import{mkdirSync as Hf,rmSync as Xa,statSync as Gf}from"node:fs";import{mkdir as Ht,readdir as Qa,rm as Wt,stat as Mn}from"node:fs/promises";import{request as Ja}from"node:http";import{request as Za}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]="18834273-7639-5a1e-b8ea-39a0ea945de1")}catch{}})();var ec=L.join("runtime","telemetry","events.jsonl"),tc=L.join("runtime","telemetry","state.json"),rc=L.join("runtime","telemetry","otel-spans.jsonl"),nc=8,vn=500,oc=1;var ic=100,sc=36e5,ac=3e4,In=2e4,cc=1e3,dc=25e3,lc=864e5,Rn=65536;var xn=15;var Dn=[25,50,100,200],uc=3600*1e3,fc=6e4;var mc="PM_TELEMETRY_DISABLED",pc="PM_NO_TELEMETRY",An=new Set(["1","true","yes","on"]);var _c="PM_TELEMETRY_HTTP_TIMEOUT_MS",yc=globalThis.fetch,hc=["user","automation","test","dogfood"],sm=Promise.resolve(),Cn=Promise.resolve();var am=new Set(hc);var cm=Yt.randomUUID();var On="(?:token|secret|password|passwd|api[_-]?key|apikey|authorization|cookie|session|credentials|bearer|literals?|regex(?:es)?|replacements?)",gc=new RegExp(`\\b(${On})\\s*([:=])\\s*([^\\s,;]+)`,"giu"),wc=new RegExp(`(--${On})(=|\\s+)([^\\s,;]+)`,"giu"),bc=/(^|[\s"'`(=])\/(?:[^\s"'`),;]+)/g,Ec=/bearer\s+[a-z0-9._=-]+/giu,Sc=/\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 We(e){return L.join(e,ec)}function Xt(e){return L.join(e,rc)}function Tc(e){return L.dirname(We(e))}function Nn(e){return L.join(e,tc)}function Fn(e){return L.join(e,"runtime","telemetry","flush.lock")}function vc(e){return L.join(e,"runtime","telemetry","flush.spawn.lock")}async function Ic(e){let t=await I(Nn(e));if(!t||t.trim().length===0)return{};try{let r=JSON.parse(t);return typeof r!="object"||r===null||Array.isArray(r)?{}:r}catch{return{}}}async function N(e,t){try{let n={...await Ic(e),...t},o=Object.fromEntries(Object.entries(n).filter(([,i])=>i!==void 0).sort((i,s)=>i[0].localeCompare(s[0])));await T(Nn(e),`${JSON.stringify(o,null,2)}
|
|
13
|
+
`)}catch{}}function Pn(e){return e.replaceAll(gc,(r,n,o)=>`${n}${o}[redacted]`).replaceAll(wc,(r,n,o)=>`${n}${o}[redacted]`)}function $n(e){return e.replaceAll(bc,(t,r)=>`${r}[redacted_path]`)}function zn(e){let t=e>=65&&e<=90,r=e>=97&&e<=122,n=e>=48&&e<=57;return t||r||n}function Un(e){if(!e)return!1;let t=e.charCodeAt(0);return zn(t)?!0:e==="."||e==="_"||e==="%"||e==="+"||e==="-"}function Vn(e){if(!e)return!1;let t=e.charCodeAt(0);return zn(t)?!0:e==="."||e==="-"}function Ac(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(!Un(i))return!1;for(let i of n)if(!Vn(i))return!1;return!0}function Cc(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&&Un(e[o]);)o-=1;o+=1;let i=n+1;for(;i<e.length&&Vn(e[i]);)i+=1;let s=e.slice(o,i);if(Ac(s)){t+=e.slice(r,o),t+="[redacted_email]",r=i;continue}t+=e.slice(r,n+1),r=n+1}return t}function jn(e){return Cc(e).replaceAll(Ec,"bearer [redacted_token]").replaceAll(Sc,"[redacted_ip]")}function Lc(e){let t=jn(e),r=Pn(t),n=$n(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>512?`${n.slice(0,509)}...`:n}function kc(e){let t=jn(e),r=Pn(t),n=$n(r),o=n.trim();return o.startsWith("/")&&o.length>1?"[redacted_path]":n.length>2048?`${n.slice(0,2045)}...`:n}function Gt(e,t="redacted"){return t==="max"?kc(e):Lc(e)}function Ln(){let e=process.env[_c]?.trim();if(!e)return In;let t=Number(e);return Number.isFinite(t)?Math.min(dc,Math.max(cc,Math.trunc(t))):In}async function Kn(e,t,r){let n=new URL(e);if(globalThis.fetch!==yc){let i=new AbortController,s,a=new Promise((c,d)=>{s=setTimeout(()=>{i.abort(),d(new Error("telemetry_http_timeout"))},Ln())});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:"?Za:n.protocol==="http:"?Ja:void 0;if(!o)throw new Error(`telemetry_http_protocol_unsupported_${n.protocol}`);return new Promise((i,s)=>{let a=Ln(),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)})}function Mc(){return An.has((process.env[mc]??"").trim().toLowerCase())||An.has((process.env[pc]??"").trim().toLowerCase())}async function Rc(e){let t=await v(e),r=!1;return t.telemetry.installation_id.trim().length===0&&(t.telemetry.installation_id=Yt.randomUUID(),r=!0),r&&await Ce(e,t,"telemetry:install_id"),{installationId:t.telemetry.installation_id,endpoint:t.telemetry.endpoint,retentionDays:Math.max(1,Math.trunc(t.telemetry.retention_days))}}function qn(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 Bn(e){let t=Math.min(ac*2**Math.max(e-1,0),sc);return new Date(Date.now()+t).toISOString()}function Hn(e){if(typeof e!="string"||e.trim().length===0)return!0;let t=Date.parse(e);return Number.isNaN(t)?!0:t<=Date.now()}function xc(e){return Hn(e.next_attempt_after)}function Gn(e){let t=Number.isFinite(e)?Math.max(1,Math.trunc(e)):1;return Date.now()-t*lc}function Dc(e,t){let r=e.event?.occurred_at;if(typeof r!="string"||r.trim().length===0)return!1;let n=Date.parse(r);return Number.isNaN(n)?!1:n<t}function Qt(e,t){let r=Gn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Rn||Dc(i,r)||i.attempts>=xn){o+=1;continue}n.push(i)}return{entries:n,prunedCount:o}}async function Ye(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
|
|
15
|
+
`),n=r.length>0?`${r}
|
|
16
|
+
`:"";for(let o=0;;o+=1)try{await T(We(e),n);return}catch(i){let s=Dn[o];if(s===void 0||!Yn(i))throw i;await Wn(s)}}function Yn(e){if(typeof e!="object"||e===null||!("code"in e))return!1;let t=e.code;return t==="EACCES"||t==="EBUSY"||t==="EPERM"}function Wn(e){return new Promise(t=>{setTimeout(t,e)})}function Oc(e){let t=JSON.stringify([e.endpoint,e.enqueued_at,e.payload]);return Yt.createHash("sha256").update(t).digest("hex").slice(0,32)}function Xn(e){let t=[];for(let r of e.split(`
|
|
17
|
+
`)){let n=r.trim();if(n.length!==0)try{let o=JSON.parse(n);o&&typeof o=="object"&&typeof o.endpoint=="string"&&o.endpoint.trim().length>0&&"payload"in o&&typeof o.attempts=="number"&&Number.isFinite(o.attempts)&&((typeof o.id!="string"||o.id.length===0)&&(o.id=Oc(o)),t.push(o))}catch{}}return t}function Nc(e,t){if(typeof e.enqueued_at!="string"||e.enqueued_at.trim().length===0)return!1;let r=Date.parse(e.enqueued_at);return Number.isNaN(r)?!1:r<t}function Qn(e,t){let r=Gn(t),n=[],o=0;for(let i of e){if(JSON.stringify(i).length>Rn||Nc(i,r)||i.attempts>=xn){o+=1;continue}n.push(i)}if(n.length>vn){let i=n.length-vn;return o+=i,{entries:n.slice(i),prunedCount:o}}return{entries:n,prunedCount:o}}async function Fc(e,t){let r=t.map(o=>JSON.stringify(o)).join(`
|
|
18
|
+
`),n=r.length>0?`${r}
|
|
19
|
+
`:"";for(let o=0;;o+=1)try{await T(Xt(e),n);return}catch(i){let s=Dn[o];if(s===void 0||!Yn(i))throw i;await Wn(s)}}async function kn(e,t,r,n){return Jt(async()=>{let o=await I(Xt(e)),i=o===null?[]:Xn(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}=Qn(s,t);return await Fc(e,a),a.length})}async function Pc(e,t){let r=await I(Xt(e));if(r===null||r.trim().length===0){await N(e,{pending_otel_spans:0});return}let n=Xn(r),{entries:o,prunedCount:i}=Qn(n,t),s=o.filter(h=>Hn(h.next_attempt_after)).slice(0,nc);if(s.length===0){let h=i>0?await kn(e,t,new Set,new Map):o.length;await N(e,{pending_otel_spans:h});return}let a=R(),c=new Set,d=new Map,l=0,u;await Promise.all(s.map(async h=>{try{let y=await Kn(h.endpoint,{"content-type":"application/json"},JSON.stringify(h.payload));if(y<200||y>=300)throw new Error(`local_otel_export_http_${y}`);c.add(h.id),l+=1}catch(y){u=y instanceof Error?Gt(y.message,"redacted"):"local_otel_export_failed";let g=h.attempts+1;d.set(h.id,{attempts:g,next_attempt_after:Bn(g)})}}));let p=await kn(e,t,c,d),_={pending_otel_spans:p,last_otel_attempt_at:a};l>0&&(_.last_otel_success_at=a),u!==void 0?(_.last_otel_failure_at=a,_.last_otel_failure_error=u):p===0&&(_.last_otel_failure_at=void 0,_.last_otel_failure_error=void 0),await N(e,_)}async function $c(e,t,r){try{await jc(e,t,r)}catch{}try{await Pc(e,r)}catch{}}async function zc(e,t=uc){try{let r=Tc(e),n=await Qa(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 Mn(s)).mtimeMs<o&&await Wt(s,{force:!0})}))}catch{}}async function Jt(e){let t=Cn.catch(()=>{}).then(e);return Cn=t.catch(()=>{}),t}async function Zt(e){let t=await I(We(e));return t===null||t.trim().length===0?[]:qn(t)}async function Uc(e,t,r){return Jt(async()=>{let n=await Zt(e),{entries:o}=Qt(n,r),i=o.filter(s=>!t.has(s.event.event_id));return await Ye(e,i),i})}async function Vc(e,t,r,n){return Jt(async()=>{let o=await Zt(e),{entries:i}=Qt(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:Bn(c)}});return await Ye(e,s),s})}async function jc(e,t,r){await zc(e);let n=t.trim();if(n.length===0)return;let o=await I(We(e));if(o===null||o.trim().length===0){await N(e,{endpoint:n,queue_entries:0});return}let i=qn(o);if(i.length===0){await N(e,{endpoint:n,queue_entries:0});return}let{entries:s,prunedCount:a}=Qt(i,r);if(s.length===0){await Ye(e,[]),await N(e,{endpoint:n,queue_entries:0});return}let c=s.filter(_=>xc(_)).slice(0,ic);if(c.length===0){a>0&&await Ye(e,s),await N(e,{endpoint:n,queue_entries:s.length});return}let d=new Set(c.map(_=>_.event.event_id)),l=R(),u={"content-type":"application/json"},p=process.env.PM_TELEMETRY_INGEST_KEY?.trim();p&&(u["x-pm-telemetry-key"]=p);try{let _=await Kn(n,u,JSON.stringify({schema_version:oc,events:c.map(h=>h.event)}));if(_<200||_>=300)throw new Error(`telemetry_flush_http_${_}`)}catch(_){let h=await Vc(e,d,l,r),y=_ instanceof Error?Gt(_.message,"redacted"):"telemetry_flush_failed";await N(e,{endpoint:n,queue_entries:h.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:y});return}try{let _=await Uc(e,d,r);await N(e,{endpoint:n,queue_entries:_.length,last_attempted_flush_at:l,last_successful_flush_at:l,last_failed_flush_at:void 0,last_failed_flush_error:void 0})}catch(_){let h=_ instanceof Error?Gt(_.message,"redacted"):"telemetry_flush_failed",y=await Zt(e).catch(()=>s);await N(e,{endpoint:n,queue_entries:y.length,last_attempted_flush_at:l,last_failed_flush_at:l,last_failed_flush_error:h})}}async function Kc(e){let t=Fn(e);await Ht(L.dirname(t),{recursive:!0});try{return await Ht(t),!0}catch(r){if(typeof r!="object"||r===null||!("code"in r)||r.code!=="EEXIST")throw r}try{let r=await Mn(t);return Date.now()-r.mtimeMs<fc?!1:(await Wt(t,{recursive:!0,force:!0}),await Ht(t),!0)}catch{return!1}}function qc(e){try{Xa(e,{recursive:!0,force:!0})}catch{}}function Bc(e){qc(vc(e))}async function Hc(e,t,r){let n=await Kc(e);if(Bc(e),!!n)try{await $c(e,t,r)}finally{try{await Wt(Fn(e),{recursive:!0,force:!0})}catch{}}}async function dm(e=rt(process.cwd())){if(!Mc())try{if(!(await v(e)).telemetry.enabled)return;let{endpoint:r,retentionDays:n}=await Rc(e);await Hc(e,r,n)}catch{}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d27383c3-03c8-51ff-98c5-700cc6c2c114")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdc16f69-f63f-5e17-9139-35d54db7bab5")}catch{}})();function Xe(e,t="--limit"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0)throw new m(`${t} must be a non-negative integer`,f.USAGE);return n}function Jn(e,t="--priority"){if(e===void 0)return;let r=String(e).trim(),n=r.length===0?Number.NaN:Number(r);if(!Number.isInteger(n)||n<0||n>4)throw new m(`${t} filter must be 0..4`,f.USAGE);return n}function wh(e,t,r="--type"){if(e===void 0)return;let n=ce(e,t);if(!n)throw new m(`${r} filter must be one of ${t.types.join("|")}`,f.USAGE);return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e524f0ad-faad-5d89-b8f5-1283979919ad")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="b03f0596-8c1f-59ec-a20e-8919cf8bbb98")}catch{}})();function er(e,t){if(e===void 0)return;let r=[],n="";for(let s=0;s<e.length;s+=1){let a=e[s];if(a==="\\"){let c=e[s+1];if(c===","||c==="\\"){n+=c,s+=1;continue}n+=a;continue}if(a===","){r.push(n),n="";continue}n+=a}r.push(n);let o=r.map(s=>s.trim());if(o.some(s=>s.length===0))throw new m(`${t.label} requires at least one non-empty value`,f.USAGE);let i=o.map(s=>t.normalize?.(s)??s);return[...new Set(i)]}function Ee(e,t){let r=er(e,t);return r===void 0?void 0:new Set(r)}function Zn(e,t,r="--type"){let n=er(e,{label:r});if(n===void 0)return;let o=n.map(i=>{let s=ce(i,t);if(!s)throw new m(`${r} filter token "${i}" must be one of ${t.types.join("|")}`,f.USAGE);return s});return new Set(o)}function eo(e,t="--priority"){let r=er(e,{label:t});if(r!==void 0)return new Set(r.map(n=>Jn(n,t)))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="81a10252-4fa3-5c14-878d-7d78717419a4")}catch{}})();function to(e,t){let r=e.trim().toLowerCase();return t.alias_to_id.get(r)??r}function io(e){return{isTerminal(t){return e.terminal_statuses.has(to(t,e))},classify(t){let r=to(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 tr(e){return S(e.acceptance_criteria)===void 0}function rr(e){return!Number.isFinite(e.estimated_minutes)}function so(e,t){return t.isTerminal(e.status)?S(e.resolution)===void 0:!1}function Yc(e){return S(e.reviewer)===void 0}function Wc(e){return S(e.risk)===void 0}function Xc(e){return typeof e.confidence=="number"?!Number.isFinite(e.confidence):S(e.confidence)===void 0}function Qc(e){return S(e.sprint)===void 0}function Jc(e){return S(e.release)===void 0}function nr(e){return!!(e.acMissing||e.estimatesMissing||e.resolutionMissing||e.reviewerMissing||e.riskMissing||e.confidenceMissing||e.sprintMissing||e.releaseMissing||e.metadataMissing)}function Zc(e,t,r){return[[t.acMissing,tr(e)],[t.estimatesMissing,rr(e)],[t.resolutionMissing,so(e,r)],[t.reviewerMissing,Yc(e)],[t.riskMissing,Wc(e)],[t.confidenceMissing,Xc(e)],[t.sprintMissing,Qc(e)],[t.releaseMissing,Jc(e)]].every(([o,i])=>o!==!0||i)}function ed(e,t){return tr(e)||rr(e)||so(e,t)}function ao(e,t,r){return nr(t)?!(!Zc(e,t,r)||t.metadataMissing&&!ed(e,r)):!0}var or=["acceptance_criteria","estimated_minutes","resolution","tags","parent"];function td(e,t){switch(t){case"acceptance_criteria":return!tr(e);case"estimated_minutes":return!rr(e);case"resolution":return S(e.resolution)!==void 0;case"tags":return Array.isArray(e.tags)&&e.tags.length>0;default:return S(e.parent)!==void 0}}function rd(e,t,r){return t==="resolution"?r.isTerminal(e.status):!0}function nd(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ro(){let e={};for(let t of or)e[t]={present:0,applicable:0,percent:100};return e}function no(e,t,r){for(let n of or){if(!rd(t,n,r))continue;let o=e[n];o.applicable+=1,td(t,n)&&(o.present+=1)}}function oo(e){for(let t of or){let r=e[t];r.percent=nd(r.present,r.applicable)}}function Oh(e,t){let r=ro(),n={};for(let o of e){no(r,o,t);let i=n[o.type]??(n[o.type]=ro());no(i,o,t)}oo(r);for(let o of Object.values(n))oo(o);return{overall:r,by_type:n}}var od={assignee:"(unassigned)",priority:"(no priority)",tag:"(untagged)",parent:"(unparented)",type:"(untyped)",status:"(no status)"};function id(e){return od[e]}function sd(){return{open:0,in_progress:0,blocked:0,draft:0,closed:0,canceled:0,other:0}}function ad(e,t,r){switch(t){case"assignee":return[S(e.assignee)??null];case"parent":return[S(e.parent)??null];case"type":return[S(e.type)??null];case"status":return[S(e.status)??null];case"priority":return[typeof e.priority=="number"?`P${e.priority}`:null];default:{let n=r.tagPrefix?.trim(),i=(Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string"&&s.length>0&&(!n||s.startsWith(n)));return i.length>0?i:[null]}}}function Nh(e,t,r,n={}){let o=new Map,i=0;for(let a of e){i+=1;let c=r.classify(a.status);for(let d of ad(a,t,n)){let l=d??"\0empty",u=o.get(l);u||(u={label:d??id(t),key:d,buckets:sd(),total:0},o.set(l,u)),u.buckets[c]+=1,u.total+=1}}let s=[...o.values()].sort((a,c)=>c.total!==a.total?c.total-a.total:a.key===null?1:c.key===null?-1:a.label.localeCompare(c.label));return{dimension:t,rows:s,total_items:i}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2e200f74-0e6c-58ac-ab8c-da49071465ff")}catch{}})();var se=["notes","learnings","files","docs","tests","comments","deps","body","linked_command"];function Q(e){return Array.isArray(e)&&e.length>0}function cd(e){return typeof e=="string"&&e.trim().length>0}function dd(e){return Array.isArray(e)?e.some(t=>{if(typeof t!="object"||t===null)return!1;let r=t.command;return typeof r=="string"&&r.trim().length>0}):!1}function lo(e,t){switch(t){case"notes":return Q(e.notes);case"learnings":return Q(e.learnings);case"files":return Q(e.files);case"docs":return Q(e.docs);case"tests":return Q(e.tests);case"comments":return Q(e.comments);case"deps":return Q(e.dependencies);case"body":return cd(e.body);case"linked_command":return dd(e.tests)}}function uo(e){return se.some(t=>e[t]!==void 0)}function fo(e,t){for(let r of se){let n=t[r];if(n===void 0)continue;let o=lo(e,r);if(n==="present"&&!o||n==="absent"&&o)return!1}return!0}function mo(e){return se.some(t=>t!=="body"&&e[t]!==void 0)}function po(e){return e.body!==void 0}function co(e,t){return t===0?100:Math.round(e/t*1e3)/10}function ld(){let e={};for(let t of se)e[t]={present:0,total:0,percent:100};return e}function Ph(e){let t=ld(),r=e.length;for(let s of e)for(let a of se)lo(s,a)&&(t[a].present+=1);for(let s of se)t[s].total=r,t[s].percent=co(t[s].present,r);let n=t.body,o=r-n.present,i={present:o,total:r,percent:co(o,r)};return{total_items:r,fields:t,body_populated:n,empty_body:i}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="9957767d-cc97-58ad-a46e-3f88a18a3c8c")}catch{}})();var bo=e=>({acMissing:e.filterAcMissing===!0,estimatesMissing:e.filterEstimatesMissing===!0,resolutionMissing:e.filterResolutionMissing===!0,metadataMissing:e.filterMetadataMissing===!0,reviewerMissing:e.filterReviewerMissing===!0,riskMissing:e.filterRiskMissing===!0,confidenceMissing:e.filterConfidenceMissing===!0,sprintMissing:e.filterSprintMissing===!0,releaseMissing:e.filterReleaseMissing===!0}),_o=[{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"}],sr=e=>{let t=_o.find(r=>e[r.presentKey]===!0&&e[r.absentKey]===!0);if(t)throw new m(`Cannot combine ${t.presentFlag} with ${t.absentFlag} for the same field.`,f.USAGE);return Object.fromEntries(_o.flatMap(r=>e[r.presentKey]===!0?[[r.field,"present"]]:e[r.absentKey]===!0?[[r.field,"absent"]]:[]))},yo=["priority","deadline","updated_at","created_at","title","parent"],ho=["asc","desc"],Eo=new Set(Ir);function ud(e,t,r){let n=e.filter(s=>s.startsWith("item_list_item_read_failed:")).length,o=e.filter(s=>s.startsWith("item_list_directory_read_failed:")).length,i={status:t?"unchecked":n+o>0?"partial":"complete",unreadable_item_count:n,unreadable_directory_count:o};if(r&&i.status==="partial")throw new m(`List source is incomplete: ${n} item document(s) and ${o} item directory/directories could not be read.`,f.GENERIC_FAILURE,{code:"list_source_incomplete",why:"Strict list reads fail closed so agents and SDK consumers never treat an omitted item as a complete workspace.",nextSteps:["Run pm validate --check-storage-integrity to locate unreadable tracker artifacts.","Repair the reported files or align the installed decoder version, then retry."]});return i}function fd(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length>0}var md=[{key:"hasNotes",summaryKey:"has_notes"},{key:"hasLearnings",summaryKey:"has_learnings"},{key:"hasFiles",summaryKey:"has_files"},{key:"hasDocs",summaryKey:"has_docs"},{key:"hasTests",summaryKey:"has_tests"},{key:"hasComments",summaryKey:"has_comments"},{key:"hasDeps",summaryKey:"has_deps"},{key:"hasBody",summaryKey:"has_body"},{key:"hasLinkedCommand",summaryKey:"has_linked_command"},{key:"noNotes",summaryKey:"no_notes"},{key:"noLearnings",summaryKey:"no_learnings"},{key:"noFiles",summaryKey:"no_files"},{key:"noDocs",summaryKey:"no_docs"},{key:"noTests",summaryKey:"no_tests"},{key:"noComments",summaryKey:"no_comments"},{key:"noDeps",summaryKey:"no_deps"},{key:"emptyBody",summaryKey:"empty_body"},{key:"noLinkedCommand",summaryKey:"no_linked_command"}],pd=[{key:"filterReviewerMissing",summaryKey:"filter_reviewer_missing"},{key:"filterRiskMissing",summaryKey:"filter_risk_missing"},{key:"filterConfidenceMissing",summaryKey:"filter_confidence_missing"},{key:"filterSprintMissing",summaryKey:"filter_sprint_missing"},{key:"filterReleaseMissing",summaryKey:"filter_release_missing"}];function So(e,t){for(let r of md)t[r.key]===!0&&(e[r.summaryKey]=!0)}function To(e,t){for(let r of pd)t[r.key]===!0&&(e[r.summaryKey]=!0)}function _d(e,t,r){for(let n of r){let o=t[n.optionKey];o!==void 0&&(e[n.summaryKey]=n.normalize?n.normalize(o):o)}}function vo(e){let t={};return So(t,e),t}function Io(e){let t={};return To(t,e),t}var yd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"}],hd=[{optionKey:"type",summaryKey:"type"},{optionKey:"tag",summaryKey:"tag"},{optionKey:"priority",summaryKey:"priority"},{optionKey:"deadlineBefore",summaryKey:"deadline_before"},{optionKey:"deadlineAfter",summaryKey:"deadline_after"},{optionKey:"updatedAfter",summaryKey:"updated_after"},{optionKey:"updatedBefore",summaryKey:"updated_before"},{optionKey:"createdAfter",summaryKey:"created_after"},{optionKey:"createdBefore",summaryKey:"created_before"},{optionKey:"ids",summaryKey:"ids"},{optionKey:"assignee",summaryKey:"assignee"},{optionKey:"assigneeFilter",summaryKey:"assignee_filter"},{optionKey:"parent",summaryKey:"parent"},{optionKey:"sprint",summaryKey:"sprint"},{optionKey:"release",summaryKey:"release"},{optionKey:"limit",summaryKey:"limit"},{optionKey:"offset",summaryKey:"offset"},{optionKey:"includeBody",summaryKey:"include_body"},{optionKey:"compact",summaryKey:"compact"},{optionKey:"fields",summaryKey:"fields"}],gd=[{key:"filterAcMissing",summaryKey:"filter_ac_missing"},{key:"filterEstimatesMissing",summaryKey:"filter_estimates_missing"},{key:"filterResolutionMissing",summaryKey:"filter_resolution_missing"},{key:"filterMetadataMissing",summaryKey:"filter_metadata_missing"}],wd="-7d";function Ao(e){let{filtersStatus:t,options:r,treeEnabled:n,treeDepth:o,sortField:i,sortOrder:s,runtimeFieldFilters:a}=e,c={};return t!==null&&(c.status=t),r.dependencyBlocked===!0&&(c.blocked_semantics="status_or_dependency"),_d(c,r,yd),Lo(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),To(c,r),So(c,r),r.limit!==void 0&&(c.limit=r.limit),r.offset!==void 0&&(c.offset=r.offset),r.includeBody===!0&&(c.include_body=!0),r.fields!==void 0&&(c.fields=r.fields),n&&(c.tree=!0,o!==void 0&&(c.tree_depth=o)),i!==void 0&&(c.sort=i,c.order=s),fd(a)&&(c.runtime_filters=a),c}function ar(e,t,r){let n=B(e.status,r),o=B(t.status,r);if(n!==o)return n?1:-1;let i=e.priority-t.priority;if(i!==0)return i;let s=te(t.updated_at,e.updated_at);return s!==0?s:(e.id??"").localeCompare(t.id??"")}function bd(e,t){return[...e].sort((r,n)=>ar(r,n,t))}function go(e,t){if(e!==void 0)return Ie(e,new Date,t)}function Se(e,t){if(e==null)return;let r=String(e).trim();if(r.length!==0)return Ie(r,new Date,t)}function Co(e){let t=e.updatedAfter!=null&&String(e.updatedAfter).trim().length>0;if([e.today===!0,e.recent===!0,t].filter(n=>n).length>1)throw new m("Choose only one updated_at window: --today, --recent, or --updated-after.",f.USAGE);if(e.today===!0){let n=new Date;return n.setHours(0,0,0,0),n.toISOString()}return e.recent===!0?Se(wd,"recent"):Se(e.updatedAfter,"updated-after")}function Lo(e,t){t.today===!0&&(e.today=!0),t.recent===!0&&(e.recent=!0)}function ko(e){if(e==null)return;let t=String(e).trim();if(t.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);let r=t.split(",").map(n=>n.trim()).filter(n=>n.length>0);if(r.length===0)throw new m("--ids requires at least one non-empty item ID",f.USAGE);return new Set(r)}function cr(e){if(e===void 0)return;let t=String(e).trim(),r=t.length===0?Number.NaN:Number(t);if(!Number.isInteger(r)||r<0)throw new m("Offset filter must be a non-negative integer",f.USAGE);return r}function Mo(e){if(e===void 0)return;let t=e.split(",").map(r=>r.trim()).filter(r=>r.length>0);if(t.length===0)throw new m("List --fields requires a comma-separated list of field names",f.USAGE);return[...new Set(t)]}function Ro(e,t=e.projectionCommand??"list"){let r=e.compact===!0,n=e.brief===!0,o=e.full===!0,i=Mo(e.fields);if(Number(r)+Number(n)+Number(o)+ +(i!==void 0)>1)throw new m("List projection options are mutually exclusive. Use one of --compact, --brief, --full, or --fields.",f.USAGE,{code:"projection_options_mutually_exclusive",recovery:{suggested_retry:`pm ${t} --brief`,suggested_retry_args:[t,"--brief"]}});return o?{mode:"full",fields:[]}:n?{mode:"brief",fields:[...dt]}:r?{mode:"compact",fields:[...ct]}:i?{mode:"fields",fields:[...new Set(i.map(a=>j(a)))]}:{mode:"full",fields:[]}}function j(e){return e.startsWith("item.")?e.slice(5):e}function Ed(e,t,r){if(e.mode!=="fields")return;let n=lt(t),o=new Set(n.map(s=>j(s))),i=e.fields.filter(s=>!o.has(j(s)));if(i.length>0)throw new m(`Unknown list --fields value(s): ${i.join(", ")}`,f.USAGE,{code:"unknown_field_projection",examples:["pm list-open --fields id,title,status,type,updated_at","pm list --fields id,title,parent,priority --limit 10","pm list-all --fields id,title,body --limit 5"],recovery:{allowed_values:n,suggested_retry:`pm ${r} --fields id,title,status --limit 10`,suggested_retry_args:[r,"--fields","id,title,status","--limit","10"]}})}var Sd=new Map([["updated","updated_at"],["update","updated_at"],["modified","updated_at"],["created","created_at"],["create","created_at"]]);function xo(e){if(e===void 0)return;let t=e.trim().toLowerCase(),r=Sd.get(t);if(r)return r;if(!yo.includes(t))throw new m(`Sort field must be one of ${yo.join("|")} (aliases: updated->updated_at, created->created_at)`,f.USAGE);return t}function Do(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!ho.includes(t))throw new m(`Sort order must be one of ${ho.join("|")}`,f.USAGE);return t}function Td(e){return Xe(e,"--tree-depth")}function Oo(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(!t)throw new m("Assignee filter must be one of assigned|unassigned",f.USAGE);if(t!=="assigned"&&t!=="unassigned")throw new m(`Invalid assignee filter "${e}". Allowed: assigned|unassigned`,f.USAGE);return t}function wo(e,t){return vt(e,t,{strict:!0})}function No(e){return Ee(e,{label:"--tag",normalize:t=>t.toLowerCase()})}function vd(e,t,r){let n=No(t);if(n===void 0)return;let o=new Set(e.flatMap(s=>s.tags.map(a=>a.trim().toLowerCase()))),i=[...n].filter(s=>!o.has(s));i.length>0&&r.push(`unknown_tags:${i.join(",")}`)}function Id(e,t){if(e&&[...e].some(r=>r.toLowerCase()==="none"||r.toLowerCase()==="null"))throw new m('--assignee no longer accepts "none" or "null". Use --assignee-filter unassigned.',f.USAGE);if(e!==void 0&&t==="unassigned")throw new m("Cannot combine --assignee with --assignee-filter unassigned",f.USAGE)}function Ad(e,t,r,n){let o=Ee(t.assignee,{label:"--assignee"}),i=Oo(t.assigneeFilter);Id(o,i);let s=bo(t),a=sr(t);return{idsFilter:ko(t.ids),statusSet:e&&e.length>0?new Set(e):void 0,excludeTerminal:t.excludeTerminal===!0,typeFilter:Zn(t.type,r),tagFilters:No(t.tag),priorityFilter:eo(t.priority),deadlineBefore:go(t.deadlineBefore,"deadline-before"),deadlineAfter:go(t.deadlineAfter,"deadline-after"),updatedAfter:Co(t),updatedBefore:Se(t.updatedBefore,"updated-before"),createdAfter:Se(t.createdAfter,"created-after"),createdBefore:Se(t.createdBefore,"created-before"),assigneeFilter:o,assigneeModeFilter:i,parentFilter:t.parent?.trim(),treeEnabled:t.tree===!0,sprintFilter:Ee(t.sprint,{label:"--sprint"}),releaseFilter:Ee(t.release,{label:"--release"}),missingMetadataFilters:s,missingMetadataActive:nr(s),lifecycleClassifier:io(n),contentFieldFilters:a,contentFiltersActive:uo(a)}}function Cd(e,t,r){return t.idsFilter&&!t.idsFilter.has(e.id)||t.statusSet&&!t.statusSet.has(e.status)||t.excludeTerminal&&B(e.status,r)||t.typeFilter&&!t.typeFilter.has(e.type)||t.tagFilters&&![...t.tagFilters].some(n=>(e.tags??[]).some(o=>o.trim().toLowerCase()===n))?!1:t.priorityFilter===void 0||t.priorityFilter.has(e.priority)}function Ld(e,t){return br(e,t)}function kd(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 Md(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 Rd(e,t,r,n,o){return!(!Cd(e,t,r)||!Ld(e,t)||!kd(e,t)||!Md(e,t,o)||t.missingMetadataActive&&!ao(e,t.missingMetadataFilters,t.lifecycleClassifier)||t.contentFiltersActive&&!fo(e,t.contentFieldFilters)||!At(e,n))}function Fo(e,t,r,n,o,i,s){let a=Ad(t,r,n,o);return e.filter(c=>Rd(c,a,o,i,s))}function ae(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function ir(e,t,r,n){let o=e,i=typeof o.title=="string"?o.title:"",s=n??ae(typeof o.parent=="string"?o.parent:void 0)??null;return{...e,tree_depth:t,tree_parent:s,tree_children:r,tree_title:`${" ".repeat(t)}${i}`}}function xd(e,t){let r=new Map,n=new Map;for(let o of e){let i=o.id.trim().toLowerCase();r.set(i,o);let s=t?t.parents_by_child.get(i)??[]:[ae(o.parent)?.toLowerCase()].filter(a=>a!==void 0);for(let a of s){let c=n.get(a)??[];c.push(o),n.set(a,c)}}return{byId:r,childrenByParent:n}}function Dd(e,t,r,n,o){return t?[...n.get(t.toLowerCase())??[]]:e.filter(i=>(o?o.parents_by_child.get(i.id.trim().toLowerCase())??[]:[ae(i.parent)?.toLowerCase()].filter(a=>a!==void 0)).every(a=>!r.has(a)))}function Po(e,t,r,n,o=e){let{byId:i,childrenByParent:s}=xd(e,n),a=Dd(e,t,i,s,n),c=[],d=new Set,l=new Map(o.map(p=>[p.id.trim().toLowerCase(),p.id.trim()])),u=[...a].reverse().map(p=>({node:p,depth:0,parentId:t===void 0?void 0:l.get(t.trim().toLowerCase())??t.trim()}));for(;u.length>0;){let{node:p,depth:_,parentId:h}=u.pop(),y=p.id.trim().toLowerCase();if(d.has(y))continue;d.add(y);let g=s.get(y)??[];if(c.push(ir(p,_,g.length,h)),!(r!==void 0&&_>=r))for(let b of[...g].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(ir(p,0,s.get(_)?.length??0)))}return c}function $o(e,t){return e===t?0:e===null?1:t===null?-1:e.localeCompare(t)}function zo(e,t){return e===t?0:e===null?1:t===null?-1:te(e,t)}function Uo(e,t,r){switch(r){case"priority":return e.priority-t.priority;case"deadline":return zo(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 $o(e.parent??null,t.parent??null);default:return 0}}function Vo(e,t,r,n){return t?[...e].sort((o,i)=>{let s=Uo(o,i,t);if(s!==0)return r==="desc"?-s:s;let a=ar(o,i,n);return r==="desc"?-a:a}):bd(e,n)}function jo(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 dr(e,t,r=!1){return t.mode==="full"?e:e.map(n=>{let o={};for(let i of t.fields)o[i]=jo(n,i,r);return o})}function Ko(e){let t=[];for(let r of e)t.push(r.metadata_key);return t}function qo(e,t){if(e.noTruncate!==!0)return Xe(e.limit)??(t>=1e4?20:void 0)}function Od(e,t,r){return t.after===void 0?cr(t.offset)??0:wr(e,t.after,r,n=>n.id)}function Bo(e,t,r){return{...e!==void 0?{applied_limit:e}:{},has_more:t,truncated:t,next_cursor:r??null}}async function Nd(e,t){let r=F(process.cwd(),t.path);await ke(r);let n=await v(r),o=ee(n.schema),i=st(n.schema),s=e.projectionCommand??"list",a=Ro(e,s);return Ed(a,Ko(i.definitions),s),{pmRoot:r,settings:n,statusRegistry:o,runtimeFieldFilters:It(e,i,"list"),typeRegistry:M(n,q()),projection:a}}async function Fd(e,t,r){let n=t.projection.fields.some(c=>j(c)==="body"),o=t.projection.mode==="full"||t.projection.fields.some(c=>Eo.has(j(c))),i=sr(e),s=mo(i),a=po(i);return e.includeBody||n||a?await Ar(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):o||s?await ht(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema):await ne(t.pmRoot,t.settings.item_format,t.typeRegistry.type_to_folder,r,t.settings.schema)}function Pd(e){let t=xo(e.sort),r=Do(e.order)??"asc",n=e.tree===!0;if(!n&&e.treeDepth!==void 0)throw new m("List --tree-depth requires --tree",f.USAGE);if(!t&&e.order!==void 0)throw new m("List --order requires --sort",f.USAGE);return{sortField:t,sortOrder:r,treeEnabled:n,treeDepth:n?Td(e.treeDepth):void 0,parentRoot:n?ae(e.parent):void 0}}function $d(e,t,r){let n=wo(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??wo(e,r),s=Xr(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 zd(e,t,r,n,o){if(t.after!==void 0&&t.offset!==void 0)throw new m("List --after cannot be combined with --offset.",f.USAGE);let i=qo(t,e.length),s=Od(e,t,o),a=i===void 0?e.slice(s):e.slice(s,s+i),c=dr(a,r,n),d=e.length,l=a.length>0&&s+a.length<d,u=l&&a.length>0?at(o,a[a.length-1].id,s+a.length-1):void 0;return{projected:c,totalMatched:d,pageExtras:Bo(i,l,u)}}function Ho(e,t,r){return gr("list",{status:e,options:hr(t,_r),sort:r.sortField??"default",order:r.sortOrder,tree:r.treeEnabled,tree_depth:r.treeDepth??null})}async function Ud(e){let{options:t,runtime:r,statusSelection:n,ordering:o}=e,i=new Set(["status","limit","offset","compact","brief","full","fields","format","stream","includeBody","excludeTerminal","dependencyBlocked","lifecycleBucket","noTruncate","projectionCommand","truncate","notes","learnings","files","docs","tests","comments","deps","linkedCommand"]),s=[r.projection.mode==="full",r.projection.fields.some(h=>{let y=j(h);return y==="body"||Eo.has(y)})].includes(!0);if([t.limit===void 0,t.after!==void 0,t.noTruncate===!0,t.includeBody===!0,t.dependencyBlocked===!0,t.strictRead===!0,o.treeEnabled,o.sortField!==void 0,s,yr(),Object.keys(r.runtimeFieldFilters).length>0,Object.entries(t).some(([h,y])=>y!==void 0&&!i.has(h))].includes(!0))return null;let c=await fe(r.pmRoot,[...new Set(Object.values(r.typeRegistry.type_to_folder))]);if(!c)return null;let d=Xe(t.limit),l=cr(t.offset)??0,u=await pt({pmRoot:r.pmRoot,expectedSourceCursor:c.source_cursor,query:{statuses:n.resolvedStatus,excludeStatuses:n.resolvedStatus===void 0&&n.effectiveOptions.excludeTerminal===!0?[...r.statusRegistry.terminal_statuses]:void 0,terminalStatuses:[...r.statusRegistry.terminal_statuses],limit:d,offset:l}});if(!u)return null;let p=u.items.length>0&&l+u.items.length<u.total,_=p?at(Ho(n.filtersStatus,t,o),u.items.at(-1).id,l+u.items.length-1):void 0;return{projected:dr(u.items,r.projection,!1),totalMatched:u.total,pageExtras:Bo(d,p,_)}}function Vd(e){let{filtersStatus:t,options:r,noTruncate:n,treeEnabled:o,treeDepth:i,sortField:s,sortOrder:a,runtimeFieldFilters:c}=e,d={};t!==null&&(d.status=t),r.dependencyBlocked===!0&&(d.blocked_semantics="status_or_dependency");let l=r;for(let u of hd){let p=l[u.optionKey];p!=null&&(d[u.summaryKey]=p)}for(let u of gd)l[u.key]===!0&&(d[u.summaryKey]=!0);return Object.assign(d,Io(r),vo(r)),Lo(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 mg(e,t,r){let n=await Nd(t,r),o=[],i=Pd(t),s=$d(e,t,n.statusRegistry),a=t.noTruncate===!0,c=await Ud({options:t,runtime:n,statusSelection:s,ordering:i}),d=c;if(!d){let y=await Fd(t,n,o),b=i.treeEnabled||ae(t.parent)!==void 0?kr(Lr(y,Cr())):void 0;vd(y,t.tag,o);let A=Fo(y,s.resolvedStatus,s.effectiveOptions,n.typeRegistry,n.statusRegistry,n.runtimeFieldFilters,b?.parents_by_child),k=t.dependencyBlocked===!0?(()=>{let z=Mr(y,n.statusRegistry);return A.filter(Je=>z.has(Je.id.trim().toLowerCase()))})():A,$=Vo(k,i.sortField,i.sortOrder,n.statusRegistry),K=i.treeEnabled?Po($,i.parentRoot,i.treeDepth,b,y):$;d=zd(K,t,n.projection,i.treeEnabled,Ho(s.filtersStatus,t,i))}let l=R(),u=[...new Set(o)].sort((y,g)=>y.localeCompare(g)),p=ud(u,c!==null,t.strictRead===!0),_=n.projection.mode==="full"?null:[...n.projection.fields];if(n.projection.mode==="compact"&&t.compact===!0){let y=Ao({filtersStatus:s.filtersStatus,options:t,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters});return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:y,projection:{mode:"compact",fields:_},...u.length>0?{warnings:u}:{}}}return{items:d.projected,count:d.projected.length,total:d.totalMatched,...d.pageExtras,completeness:p,filters:Vd({filtersStatus:s.filtersStatus,options:t,noTruncate:a,treeEnabled:i.treeEnabled,treeDepth:i.treeDepth,sortField:i.sortField,sortOrder:i.sortOrder,runtimeFieldFilters:n.runtimeFieldFilters}),projection:{mode:n.projection.mode,fields:_},sorting:{sort:i.sortField??"default",order:i.sortField?i.sortOrder:"asc"},now:l,...u.length>0?{warnings:u}:{}}}var pg={applyFilters:Fo,buildCompactListFilterSummary:Ao,buildContentFilterEcho:vo,buildGovernanceMissingFilterEcho:Io,resolveContentFieldFilters:sr,resolveMissingMetadataFilters:bo,compareBySortField:Uo,compareDefaultSort:ar,compareNullableString:$o,compareNullableTimestamp:zo,normalizeProjectionField:j,parseAssigneeFilter:Oo,parseFieldSelectors:Mo,parseIdsFilter:ko,parseOffset:cr,parseProjectionConfig:Ro,resolveListUpdatedAfter:Co,resolveListPageLimit:qo,parseSortField:xo,parseSortOrder:Do,orderItemsAsTree:Po,projectListItems:dr,readListFieldValue:jo,runtimeMetadataKeysForProjection:Ko,sortItems:Vo,trimNonEmpty:ae,withTreeMetadata:ir};(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4e54ed7b-3bab-51a2-912b-1284eaf8187a")}catch{}})();var Qe=1e6;function lr(e,t=Qe,r=.8,n=!1){let o=new Set,i=(l,u)=>{if(o.add(`${l}:${u}`),o.size>t)throw new m(`Duplicate sweep exceeded ${t} candidate pairs; narrow it with statuses or since.`,f.CONFLICT,{code:"duplicate_sweep_cost_limit",required:"Narrow the duplicate query or increase its similarity threshold. No partial result was returned."})};if(n||r===0){for(let l=0;l<e.length;l+=1)for(let u=0;u<l;u+=1)i(u,l);return o}let s=new Map;for(let{prepared:l}of e)for(let u of l.tokens)s.set(u,(s.get(u)??0)+1);let a=new Map,c=new Map,d=new Map;for(let[l,{prepared:u}]of e.entries()){let p=[...u.tokens].sort((y,g)=>s.get(y)-s.get(g)||y.localeCompare(g)),_=p.length-Math.ceil(r*p.length-1e-12)+1,h=[{index:a,keys:[u.normalized],lengthFilter:!1},{index:c,keys:r<=.99?u.issueCodes:[],lengthFilter:!1},{index:d,keys:p.length===0?[""]:p.slice(0,_),lengthFilter:!0}];for(let y of h)jd(e,l,y,r,i)}return o}function jd(e,t,r,n,o){let i=e[t].prepared.tokens.length;for(let s of r.keys){let a=r.index.get(s)??[];for(let c of a){let d=e[c].prepared.tokens.length;r.lengthFilter&&Math.min(d,i)/Math.max(d,i)+1e-12<n||o(c,t)}a.push(t),r.index.set(s,a)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8d07624c-8663-5aba-8018-1b2c47997bef")}catch{}})();var Kd=3,Go=20,qd=.8,Bd=100,Yo=1e3;function xg(e){return e===void 0?[]:[`likely_duplicates:${e.result.items.map(t=>t.id).join(",")}`,`likely_duplicate_recovery:${e.recovery.action}:${e.recovery.item_id}`]}async function Hd(e,t){let r=e.items[0],n=F(t.cwd??process.cwd(),t.pmRoot),o=ee((await v(n)).schema);return B(r.status,o)?{action:"reopen",item_id:r.id,command:`pm item reopen ${r.id} "<recurrence reason>"`,args:["item","reopen",r.id,"<recurrence reason>"]}:{action:"reuse",item_id:r.id,command:`pm get ${r.id} --full`,args:["get",r.id,"--full"]}}function ur(e){let t=e.limit??Kd,r=e.threshold??qd;if(!Number.isSafeInteger(t)||t<0||t>Go)throw new m(`Similarity limit must be an integer from 0 to ${Go}.`,f.USAGE);if(!Number.isFinite(r)||r<0||r>1)throw new m("Similarity threshold must be a number from 0 to 1.",f.USAGE);return{limit:t,threshold:r}}function Wo(e){let t=e.limit??Bd;if(!Number.isSafeInteger(t)||t<0||t>Yo)throw new m(`Duplicate cluster limit must be an integer from 0 to ${Yo}.`,f.USAGE);let r=e.since===void 0?void 0:new Date(e.since);if(r&&Number.isNaN(r.getTime()))throw new m("Duplicate cluster --since must be a valid ISO timestamp.",f.USAGE);return{limit:t,since:r}}async function Gd(e,t){let r=F(e.cwd??process.cwd(),e.pmRoot),n=await v(r),o=M(n),i=e.statuses?.map(u=>u.trim().toLowerCase()).filter(Boolean);if(e.statuses!==void 0&&i?.length===0)throw new m("Duplicate cluster statuses must include at least one lifecycle status or all.",f.USAGE);let s=ee(n.schema),a=i?.map(u=>{if(u==="all")return u;let p=ue(u,s);if(!p)throw new m(`Unknown duplicate-cluster status "${u}". Allowed: all, ${s.definitions.map(_=>_.id).join(", ")}.`,f.USAGE);return p}),c=a?.includes("all")===!0;if(c&&a?.some(u=>u!=="all"))throw new m('The "all" status cannot be combined with other statuses.',f.USAGE);let d=c?void 0:a,l=d?new Set(d):void 0;return{items:(await ne(r,n.item_format,o.type_to_folder,void 0,n.schema)).filter(u=>(!l||l.has(u.status))&&(!t||new Date(u.created_at).getTime()>=t.getTime())),statuses:d}}var Dg={buildDuplicateClusters:Qo,collectDuplicateCandidatePairs:lr,createDuplicateUnionFind:Xo};function Xo(e){let t=Array.from({length:e},(n,o)=>o);return{parent:t,findRoot:n=>{let o=n;for(;t[o]!==o;)o=t[o];for(;t[n]!==n;){let i=t[n];t[n]=o,n=i}return o}}}function Yd(e,t,r,n){let o=[];for(let i of t){let[s,a]=i.split(":").map(u=>Number.parseInt(u,10)),c=xe(e[s].prepared,e[a].prepared);if(c.score<r)continue;let d=n.findRoot(s),l=n.findRoot(a);d!==l&&(n.parent[l]=d),o.push({left_id:e[s].item.id,right_id:e[a].item.id,...c})}return o}function Qo(e,t,r,n){let o=new Map;for(let a of e.keys()){let c=r.findRoot(a),d=o.get(c)??[];d.push(a),o.set(c,d)}let i=new Map(e.map(({item:a},c)=>[a.id,r.findRoot(c)])),s=new Map;for(let a of t){let c=i.get(a.left_id),d=s.get(c)??[];d.push(a),s.set(c,d)}return[...o.values()].filter(a=>a.length>1).map(a=>{let c=(s.get(r.findRoot(a[0]))??[]).sort((d,l)=>l.score-d.score||d.left_id.localeCompare(l.left_id)||d.right_id.localeCompare(l.right_id));return{id:e[a[0]].item.id,items:a.map(d=>{let l=e[d].item;return{id:l.id,title:l.title,status:l.status,type:l.type}}),matches:c,max_score:c[0]?.score??0}}).sort((a,c)=>c.max_score-a.max_score||a.id.localeCompare(c.id)).slice(0,n)}function Wd(e,t,r,n,o){return t.filter(i=>!r.has(i.id)).map(i=>({id:i.id,title:i.title,status:i.status,type:i.type,...Re(e,i.title)})).filter(i=>i.score>=n).sort((i,s)=>s.score-i.score||i.id.localeCompare(s.id)).slice(0,o)}async function Xd(e,t={}){let r=e.title.trim();if(r.length===0)throw new m("Similarity candidate title must not be empty.",f.USAGE);let{limit:n,threshold:o}=ur(t),i=F(t.cwd??process.cwd(),t.pmRoot),s=await v(i),a=M(s),c=await fe(i,Object.values(a.type_to_folder)),d=ye(r),l=c&&d.length>0?await _t({pmRoot:i,expectedSourceCursor:c.source_cursor,query:d.map(_=>`"${_.replaceAll('"','""')}"`).join(" OR "),limit:Math.max(n*10,50)}):null,u=l===null?await ne(i,s.item_format,a.type_to_folder,void 0,s.schema):l.items,p=Wd(r,u,new Set(e.excludeIds??[]),o,n);return{items:p,count:p.length,threshold:o,source:l?"persistent_index":"metadata_fallback"}}function Qd(e,t={}){let{threshold:r}=ur({...t,limit:void 0}),{limit:n}=Wo(t),o=new Set;for(let l of e){if(!l.id.trim()||o.has(l.id))throw new m("Duplicate analysis requires unique non-empty item ids.",f.USAGE);o.add(l.id)}let i=[...e].sort((l,u)=>l.id.localeCompare(u.id)).map(l=>({item:l,prepared:_e(l.title)})),s=lr(i,Qe,r,t.exhaustive===!0),a=Xo(i.length),c=Yd(i,s,r,a),d=Qo(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:Qe,recall_guarantee:"exact",candidate_pairs:s.size,scored_pairs:s.size}}}async function Og(e={}){ur({...e,limit:void 0});let{since:t}=Wo(e),{items:r,statuses:n}=await Gd(e,t);return{...Qd(r,e),source:"metadata_scan",filters:{statuses:n??null,since:e.since??null}}}async function Ng(e,t){if(t.mode==="off")return;let r=await Xd(e,t);if(r.count===0)return;let n=await Hd(r,t),o=t.mode==="strict"&&t.allowDuplicate===!0;if(t.mode==="strict"&&!o){let i=r.items.map(a=>`${a.id} (${a.status}): ${a.title}`).join("; "),s=n.action==="reopen"?"Reopen the canonical item":"Reuse the canonical item";throw new m(`Likely duplicate item(s) found: ${i}. ${s} or pass --allow-duplicate with explicit intent.`,f.CONFLICT,{code:"likely_duplicate",required:`${s}, or explicitly acknowledge the duplicate with --allow-duplicate.`,recovery:{suggested_flags:["--allow-duplicate"],suggested_retry:n.command,suggested_retry_args:n.args}})}return{mode:t.mode,bypassed:o,result:r,recovery:n}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e252abd5-9585-56f7-9fc2-7b20459a2238")}catch{}})();async function Yg(e){let t=F(process.cwd(),e);await ke(t);let r=await v(t),n=M(r,q());return{pmRoot:t,settings:r,typeRegistry:n}}async function Wg(e,t,r,n){de(e,Le(t));let o=await me(e,t,r.id_prefix,r.item_format,n);if(o)return{id:o.id,historyPath:de(e,o.id),located:o};let i=re(t,r.id_prefix),s=Le(t),a=i===s?[i]:[i,s];for(let c of a){let d=de(e,c);if(await U(d))return{id:c,historyPath:d,located:null}}throw new m(`Item ${t} not found`,f.NOT_FOUND)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e15abc24-c46a-512b-b859-015186c960df")}catch{}})();function Qg(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{Yg as a,Wg as b,hi as c,gi as d,bi as e,Ei as f,Sl as g,Si as h,Ti as i,Al as j,Ur as k,vi as l,Ii as m,Ai as n,Ci as o,Di as p,Fi as q,Cl as r,Pi as s,Br as t,zi as u,Ui as v,Ll as w,Vi as x,Oe as y,kl as z,Ne as A,Ki as B,qi as C,Et as D,Hi as E,St as F,Gi as G,ql as H,Wi as I,Gr as J,Xi as K,Qi as L,es as M,Ql as N,ns as O,vt as P,cs as Q,Rr as R,It as S,At as T,$e as U,xs as V,vu as W,Ct as X,on as Y,Lt as Z,qs as _,Bs as $,Cu as aa,sn as ba,oe as ca,Mt as da,xt as ea,Ut as fa,$u as ga,Vt as ha,Be as ia,mn as ja,He as ka,jt as la,Kt as ma,qt as na,Bt as oa,wn as pa,bn as qa,sf as ra,oi as sa,Dr as ta,si as ua,ai as va,ci as wa,ol as xa,sl as ya,pe as za,Me as Aa,ye as Ba,_e as Ca,Re as Da,xe as Ea,Or as Fa,mi as Ga,Va as Ha,qa as Ia,Ha as Ja,Ga as Ka,oc as La,xn as Ma,hc as Na,dm as Oa,Xe as Pa,Jn as Qa,wh as Ra,Qg as Sa,er as Ta,Ee as Ua,Zn as Va,eo as Wa,io as Xa,nr as Ya,ao as Za,Oh as _a,Nh as $a,uo as ab,fo as bb,Ph as cb,bo as db,sr as eb,yo as fb,ho as gb,_d as hb,vo as ib,Io as jb,mg as kb,pg as lb,xg as mb,Dg as nb,Xd as ob,Qd as pb,Og as qb,Ng as rb};
|
|
20
|
+
//# sourceMappingURL=chunk-VWMP6W7Y.js.map
|