@unbrained/pm-cli 2026.9.14 → 2026.9.15
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 +12 -0
- package/dist/cli-bundle/bundle-manifest.json +148 -148
- package/dist/cli-bundle/chunks/{chunk-5JIJAWIF.js → chunk-3AHONKLL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-DBHQIS6Z.js → chunk-3RB6Z7XE.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-ZYRN2OG3.js → chunk-5P5PYCZX.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-B6W5LIXK.js → chunk-BOZ4HVYL.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-J4DRE3WN.js +237 -0
- package/dist/cli-bundle/chunks/{chunk-GQMILIC5.js → chunk-RKPUO75B.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-O7SRS7Y3.js → chunk-RM2OGG65.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-D5AJQU7F.js → chunk-UKLOSZV6.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-XEV7BHH3.js → chunk-WDF7PP4P.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-A2Q64TGR.js → chunk-WLJJ4MAU.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BY3ID7QI.js → chunk-Y2P3DSSO.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NYE6EREL.js → chunk-YMMLKKEP.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-B2U36YWL.js → register-list-query-IWSPNFFD.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-GX42CQYR.js → register-mutation-3DVF4R64.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-ZV34KX5E.js → register-operations-LXP3MECQ.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-W4OS7IZW.js → register-setup-KFQSNBDX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-GGDO6VBT.js → chunk-4YTDKIPF.js} +17 -17
- package/dist/cli-bundle/focused-chunks/{chunk-ZFNRD7EN.js → chunk-533DCWPY.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FNLAQJES.js → chunk-5SBU4QDC.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-KWP3QTN7.js → chunk-63YRRGKX.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-N23WTRCC.js → chunk-6C3CUU2G.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-ENJH7CBZ.js → chunk-AXDAIBT3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-6WZBO4VQ.js → chunk-BMATJLPT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-FHQLQOUZ.js → chunk-JKJYXCT6.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-D4FQV6TY.js → chunk-MD7ADLME.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-7BUJABHB.js → chunk-OGGF2RBL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-CPQQIVDL.js → chunk-PBJC2ZNA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-UFSMYVZF.js → chunk-SHF57M2H.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-C5NQVXKE.js → chunk-UACMCSCC.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-LFGTCEHX.js → chunk-YBQTVE5S.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-O4EROPO3.js → chunk-ZHX3433X.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZOE2NSJB.js +20 -0
- package/dist/cli-bundle/main.js +2 -2
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +1 -1
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +40 -40
- 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 +1 -1
- package/dist/core/extensions/index.d.ts +7 -0
- package/dist/core/extensions/index.js +1 -1
- package/dist/core/lock/lock.js +2 -2
- package/dist/core/telemetry/policy.d.ts +2 -0
- package/dist/core/telemetry/policy.js +1 -1
- package/dist/core/telemetry/read-sampling.d.ts +8 -0
- package/dist/core/telemetry/read-sampling.js +3 -0
- package/dist/core/telemetry/runtime.js +2 -2
- package/docs/CONFIGURATION.md +6 -2
- package/marketplace.json +2 -2
- package/package.json +1 -1
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/dist/cli-bundle/chunks/chunk-33PER336.js +0 -236
- package/dist/cli-bundle/focused-chunks/chunk-CMCSUANO.js +0 -20
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as rn,f as It,h as St,i as Tt,k as Si,l as Ti,m as cn,n as Ci,o as Oi,p as xi}from"./chunk-7BUJABHB.js";import{h as un}from"./chunk-HFAW3FJQ.js";import{$ as b,$a as de,$c as Sr,A as fi,Aa as on,Ca as vi,Ee as _e,F as tn,Fa as sn,Fe as oe,G as nn,Ga as bi,H as yr,Ic as le,J as mi,Ja as kt,Jc as wr,Ka as vr,Kc as dn,La as br,Lc as ue,Ma as ce,Mc as Er,Nb as Ii,Nc as ve,Oa as wi,Oc as kr,P as ye,Qd as ji,Rc as Ct,Rd as be,Sb as Ri,Sd as fe,Td as Fi,Ua as Ei,Ud as Qe,V as Ne,Vd as me,W as _i,Wb as Ai,Xb as Di,Xc as Ir,Yd as $i,Z as k,Zc as Ni,Zd as Hi,_ as Ye,_d as Q,aa as v,bd as Li,cd as Pi,eb as ki,gd as Mi,i as Jt,ia as pi,ja as Le,ka as gr,la as te,ma as ge,na as K,oa as hi,pb as L,q as Qt,qb as Je,r as ci,rb as an,s as di,sb as T,t as li,ta as yi,td as ln,u as ui,ua as gi,ve as Tr,we as Cr,y as Zt,z as en}from"./chunk-GGDO6VBT.js";import{AsyncLocalStorage as Pc}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Or=new Pc,zi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function fn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Pe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=fn(n.id,128),o=fn(n.parent_id,128);if(r===void 0||!zi.test(r)||o!==void 0&&!zi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=fn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ze(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=fn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Mc(e,t,n){let r=Or.getStore(),o=Ze({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Pe(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...Ze(r?.provenance),...o,...Ze(e?.provenance)},a=Pe(e?.episode,!1)??Pe(n,!1)??i??Pe(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function xr(e,t){return Mc(e.session_context,t,e.client_info?.episode)??{}}function Lp(e,t){let n=Or.getStore(),r=Pe(e.episode,!0),o=Pe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ze(n?.provenance),...Ze(e.provenance)};return Or.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Pp(e){let t=Ze(e.provenance),n=Pe(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ur}from"node:async_hooks";import{createHash as zc}from"node:crypto";import V from"node:fs";import Xi from"node:os";import Fe from"node:path";import{createHash as Ui}from"node:crypto";import{existsSync as Rr,promises as Bi,readFileSync as jc}from"node:fs";import ie 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]="9cefffc1-c3d6-5c4a-980f-d9d3eaef0f58")}catch{}})();var Fc="session.json";function Ar(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Wi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Ar(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ar(c,128)),a=t.focused_item_id===void 0||Ar(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function $c(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Wi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Dr(e){return ie.join(wi(e),Fc)}async function mn(e){try{let t=await Bi.readFile(Dr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=$c(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Nr(e,t){let n=Dr(e);await Bi.mkdir(ie.dirname(n),{recursive:!0}),await K(n,JSON.stringify(t))}function Lr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Ui("sha256").update(e).digest("hex").slice(0,24)}`}function Pr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Ui("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function jr(e,t,n){let r=await mn(e),o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i;let s={...r};Object.keys(o).length===0?delete s.semantic_attribution:s.semantic_attribution=o,await Nr(e,s)}async function Up(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function Bp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Mr(r),confidence:o?"high":"medium",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Wp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Hc(e,t){let n=t.PM_PATH?.trim();if(n){let o=ie.resolve(e,n);if(Rr(ie.join(o,"settings.json")))return o;let i=ie.join(o,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i}let r=ie.resolve(e);for(let o=0;o<32;o+=1){let i=ie.join(r,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i;let s=ie.dirname(r);if(s===r)break;r=s}}function Vi(e){if(!e.key)return;let t=Hc(e.cwd,e.env);if(t)try{let n=JSON.parse(jc(Dr(t),"utf8"));return Wi(n.semantic_attribution?.[e.key])}catch{return}}async function Vp(e){return(await mn(e)).focused_item}async function qp(e,t){let n=await mn(e);await Nr(e,{...n,focused_item:t})}async function Gp(e){let n={...await mn(e)};delete n.focused_item,await Nr(e,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]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Br=["model","effort","role","topic","version"],hn=new Ur,Yi=new Ur,yn=new Ur,Wr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],Ji=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Uc=Object.freeze({...Ji,max_bytes:4194304}),Fr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Bc(e){let t=Ee(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?Uc:Ji,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var Qi=Object.freeze(Wr.filter(e=>e.harness!=="ci").map(Bc).sort((e,t)=>e.harness.localeCompare(t.harness))),je=new Map,et=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function we(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ee(e){let t=e.harness.trim().toLowerCase();if(!Fr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:we(e.environment_keys),model_environment_keys:we(e.model_environment_keys),session_environment_keys:we(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),we(r)]).filter(([n])=>Fr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Fr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:we(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:we(e.argv_markers).map(n=>n.toLowerCase()),client_names:we(e.client_names).map(n=>n.toLowerCase())}}var Zi=Wr.map(Ee);function Wc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function pn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Vr(e=[]){let t=new Map(Wr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Ee(o)]));for(let{adapter:o}of je.values())t.set(o.harness,Ee(o.descriptor));let n=[...t.values(),...Zi.filter(o=>o.harness==="ci"),...[...et.values()].map(o=>o.descriptor),...yn.getStore()?.descriptors??[],...e.map(Ee)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function qr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Vc(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function es(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var qc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Me(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return qc.has(n)?n:void 0}function $r(e,t){return P(e?.[t])?.slice(0,256)}var Gc=1048576,zr=4194304,_n=new Map,qi=Object.freeze({}),Hr=new Map,Gi=Object.freeze({});function Ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Kc(e){let t;try{t=JSON.parse(e)}catch{return Gi}let n=Ki(t);if(!n)return Gi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=Ki(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function ts(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return gr(t)?"missing":"failed"}}function Xc(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Fe.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:ts(i)}})}catch(o){return{status:gr(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function ns(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=Fe.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Fe.join(e.home_dir??Xi.homedir(),".claude","projects"),s=Fe.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Fe.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=ts(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return Xc(i,n)}function Yc(e,t,n){let r=ns(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Hr.get(s);if(a)return a[e];let c=Math.min(i.size,Gc),d=Math.min(c,Math.ceil(c/2)),u=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(u);u>0&&V.readSync(o,m,0,u,i.size-u);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
|
|
1
|
+
import{b as rn,f as It,h as St,i as Tt,k as Si,l as Ti,m as cn,n as Ci,o as Oi,p as xi}from"./chunk-OGGF2RBL.js";import{h as un}from"./chunk-HFAW3FJQ.js";import{$ as b,$a as de,$c as Sr,A as fi,Aa as on,Ca as vi,Ee as _e,F as tn,Fa as sn,Fe as oe,G as nn,Ga as bi,H as yr,Ic as le,J as mi,Ja as kt,Jc as wr,Ka as vr,Kc as dn,La as br,Lc as ue,Ma as ce,Mc as Er,Nb as Ii,Nc as ve,Oa as wi,Oc as kr,P as ye,Qd as ji,Rc as Ct,Rd as be,Sb as Ri,Sd as fe,Td as Fi,Ua as Ei,Ud as Qe,V as Ne,Vd as me,W as _i,Wb as Ai,Xb as Di,Xc as Ir,Yd as $i,Z as k,Zc as Ni,Zd as Hi,_ as Ye,_d as Q,aa as v,bd as Li,cd as Pi,eb as ki,gd as Mi,i as Jt,ia as pi,ja as Le,ka as gr,la as te,ma as ge,na as K,oa as hi,pb as L,q as Qt,qb as Je,r as ci,rb as an,s as di,sb as T,t as li,ta as yi,td as ln,u as ui,ua as gi,ve as Tr,we as Cr,y as Zt,z as en}from"./chunk-4YTDKIPF.js";import{AsyncLocalStorage as Pc}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Or=new Pc,zi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function fn(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Pe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=fn(n.id,128),o=fn(n.parent_id,128);if(r===void 0||!zi.test(r)||o!==void 0&&!zi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=fn(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ze(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=fn(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Mc(e,t,n){let r=Or.getStore(),o=Ze({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Pe(t.PM_AGENT_EPISODE_ID===void 0?void 0:{id:t.PM_AGENT_EPISODE_ID,label:t.PM_AGENT_EPISODE_LABEL,parent_id:t.PM_AGENT_EPISODE_PARENT_ID},!1),s={...Ze(r?.provenance),...o,...Ze(e?.provenance)},a=Pe(e?.episode,!1)??Pe(n,!1)??i??Pe(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function xr(e,t){return Mc(e.session_context,t,e.client_info?.episode)??{}}function Lp(e,t){let n=Or.getStore(),r=Pe(e.episode,!0),o=Pe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ze(n?.provenance),...Ze(e.provenance)};return Or.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Pp(e){let t=Ze(e.provenance),n=Pe(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ur}from"node:async_hooks";import{createHash as zc}from"node:crypto";import V from"node:fs";import Xi from"node:os";import Fe from"node:path";import{createHash as Ui}from"node:crypto";import{existsSync as Rr,promises as Bi,readFileSync as jc}from"node:fs";import ie 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]="9cefffc1-c3d6-5c4a-980f-d9d3eaef0f58")}catch{}})();var Fc="session.json";function Ar(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Wi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Ar(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ar(c,128)),a=t.focused_item_id===void 0||Ar(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function $c(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Wi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Dr(e){return ie.join(wi(e),Fc)}async function mn(e){try{let t=await Bi.readFile(Dr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=$c(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Nr(e,t){let n=Dr(e);await Bi.mkdir(ie.dirname(n),{recursive:!0}),await K(n,JSON.stringify(t))}function Lr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Ui("sha256").update(e).digest("hex").slice(0,24)}`}function Pr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Ui("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function jr(e,t,n){let r=await mn(e),o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i;let s={...r};Object.keys(o).length===0?delete s.semantic_attribution:s.semantic_attribution=o,await Nr(e,s)}async function Up(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function Bp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Mr(r),confidence:o?"high":"medium",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Wp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Hc(e,t){let n=t.PM_PATH?.trim();if(n){let o=ie.resolve(e,n);if(Rr(ie.join(o,"settings.json")))return o;let i=ie.join(o,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i}let r=ie.resolve(e);for(let o=0;o<32;o+=1){let i=ie.join(r,".agents","pm");if(Rr(ie.join(i,"settings.json")))return i;let s=ie.dirname(r);if(s===r)break;r=s}}function Vi(e){if(!e.key)return;let t=Hc(e.cwd,e.env);if(t)try{let n=JSON.parse(jc(Dr(t),"utf8"));return Wi(n.semantic_attribution?.[e.key])}catch{return}}async function Vp(e){return(await mn(e)).focused_item}async function qp(e,t){let n=await mn(e);await Nr(e,{...n,focused_item:t})}async function Gp(e){let n={...await mn(e)};delete n.focused_item,await Nr(e,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]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Br=["model","effort","role","topic","version"],hn=new Ur,Yi=new Ur,yn=new Ur,Wr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],Ji=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Uc=Object.freeze({...Ji,max_bytes:4194304}),Fr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Bc(e){let t=Ee(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?Uc:Ji,normalization:Object.freeze({model_family:"v1",effort:"v1",preserve_raw:!0}),confidence:"high",waivers:Object.freeze(Object.fromEntries(t.map(r=>[r,"Harness does not expose this dimension."])))})}var Qi=Object.freeze(Wr.filter(e=>e.harness!=="ci").map(Bc).sort((e,t)=>e.harness.localeCompare(t.harness))),je=new Map,et=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function we(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ee(e){let t=e.harness.trim().toLowerCase();if(!Fr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:we(e.environment_keys),model_environment_keys:we(e.model_environment_keys),session_environment_keys:we(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),we(r)]).filter(([n])=>Fr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Fr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:we(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:we(e.argv_markers).map(n=>n.toLowerCase()),client_names:we(e.client_names).map(n=>n.toLowerCase())}}var Zi=Wr.map(Ee);function Wc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function pn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Vr(e=[]){let t=new Map(Wr.filter(o=>o.harness!=="ci").map(o=>[o.harness,Ee(o)]));for(let{adapter:o}of je.values())t.set(o.harness,Ee(o.descriptor));let n=[...t.values(),...Zi.filter(o=>o.harness==="ci"),...[...et.values()].map(o=>o.descriptor),...yn.getStore()?.descriptors??[],...e.map(Ee)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function qr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Vc(e,t){if(t==="role"){let n=e.slice(0,8).map(r=>r.trim().toLowerCase()).find(r=>["claim","create","update","close","release","review"].includes(r));if(n==="review")return"reviewer";if(n)return"implementer"}}function es(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var qc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Me(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return qc.has(n)?n:void 0}function $r(e,t){return P(e?.[t])?.slice(0,256)}var Gc=1048576,zr=4194304,_n=new Map,qi=Object.freeze({}),Hr=new Map,Gi=Object.freeze({});function Ki(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Kc(e){let t;try{t=JSON.parse(e)}catch{return Gi}let n=Ki(t);if(!n)return Gi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=Ki(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function ts(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return gr(t)?"missing":"failed"}}function Xc(e,t){let n;try{n=V.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=Fe.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:ts(i)}})}catch(o){return{status:gr(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function ns(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=Fe.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Fe.join(e.home_dir??Xi.homedir(),".claude","projects"),s=Fe.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Fe.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=ts(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return Xc(i,n)}function Yc(e,t,n){let r=ns(t,n);if(r.status==="available")try{let o=V.openSync(r.path,V.constants.O_RDONLY|V.constants.O_NOFOLLOW);try{let i=V.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Hr.get(s);if(a)return a[e];let c=Math.min(i.size,Gc),d=Math.min(c,Math.ceil(c/2)),u=Math.min(c-d,i.size-d),f=Buffer.alloc(d);V.readSync(o,f,0,d,0);let m=Buffer.alloc(u);u>0&&V.readSync(o,m,0,u,i.size-u);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
|
|
2
2
|
`):[...f.toString("utf8").split(`
|
|
3
3
|
`).slice(0,4096),...m.toString("utf8").split(`
|
|
4
4
|
`).slice(-4096)];for(let g of _){if(g.length===0||g.length>262144)continue;let S=Kc(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let y=Object.freeze(p);return Hr.clear(),Hr.set(s,y),y[e]}finally{V.closeSync(o)}}catch{return}}function Jc(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=V.readdirSync(o,{withFileTypes:!0}).sort((a,c)=>c.name.localeCompare(a.name))}catch{return}for(let a of s){if(n+=1,n>512)return;let c=Fe.join(o,a.name);if(a.isFile()&&a.name.endsWith(`-${t}.jsonl`))return c;if(a.isDirectory()){let d=r(c,i+1);if(d)return d}}};return r(e,0)}function Qc(e){if(e<=zr)return[{offset:0,length:e}];let t=Math.floor(zr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function Zc(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=P(o?.model)?.slice(0,256),e.effort??=P(o?.effort)?.slice(0,256)}function ed(e,t){let n={},r=4096;for(let o of Qc(t)){let i=Buffer.alloc(o.length);V.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
@@ -160,5 +160,5 @@ ${i}
|
|
|
160
160
|
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
161
161
|
LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Gn(e){await qe.rm(mt(e),{force:!0})}import B from"node:fs/promises";import M from"node:path";import{createHash as _f,randomUUID as ka}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var se=8,Ia=500,pf="metadata-derived-index",hf="metadata-cache.json",yf="metadata-cache-bodies.json",gf="metadata-cache-collections.json",vf="metadata-cache-delta.json",bf="metadata-cache-manifest.json",va=4,wf=["comments","notes","learnings","files","tests","test_runs","docs"];function Sa(){return rn(le())}function Xn(e){let t={...e},n={};for(let r of wf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ta(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ca(e,t,n,r){let o=_f("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Yn(e){return M.join(e,"runtime",hf)}function Jn(e){return M.join(e,"runtime",yf)}function Qn(e){return M.join(e,"runtime",gf)}function Co(e){return M.join(e,"runtime",vf)}function Oo(e){return M.join(e,"runtime",bf)}function Zn(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Ef=24,Z=new Map,er=new WeakMap;function xo(e){return er.get(e)??e.source_cursor}function kf(e,t){let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function If(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function Sf(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Tf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(kf(e,r),If(t,r),Sf(n,r))}function To(e,t){Z.size>=Ef&&!Z.has(e)&&Ii(Z),Z.set(e,t)}async function Oe(e,t){let n;try{n=await B.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&Ht(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await B.readFile(e,"utf8"))}catch{o=null}return To(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Cf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==se||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Yn(e),i=await Oe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Oe(Zn(o,t),r);return s===null&&Bt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Of(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==se||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Jn(e),o=await Oe(r,n);return t&&o?.context_fingerprint!==t?await Oe(Zn(r,t),n):o}async function xf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==se||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Qn(e),o=await Oe(r,n);return t&&o?.context_fingerprint!==t?await Oe(Zn(r,t),n):o}async function Ro(e){let t=Co(e),n=await Oe(t,r=>{let o=JSON.parse(r);return o.version!==se||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await B.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ao(e){let t=Oo(e),n=await Oe(t,r=>{let o=JSON.parse(r);return o.version!==se||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await B.stat(t),await _t(e)}catch{}return null}async function zt(e,t){await B.mkdir(M.dirname(e),{recursive:!0}),await K(e,JSON.stringify(t));try{let r=await B.stat(e);To(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Yn(n)||e===Jn(n)||e===Qn(n)){let r=Zn(e,t.context_fingerprint);await K(r,JSON.stringify(t));try{let c=await B.stat(r);To(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>va){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await B.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((u,f)=>u.mtime-f.mtime).slice(0,Math.max(0,c.length-va)))await B.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Rf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Oa(e,t,n){return e===void 0||Rf(e,t,n)}function Bt(e,t){e&&!e.includes(t)&&e.push(t)}function Ht(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Af(e,t,n){let r=M.join(e,t);try{let o=await B.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!te(o)&&Bt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Df(e,t){try{let n=await B.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Kn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Df(e,n))))}function Ut(e,t){return!e||Object.keys(e).length!==Object.keys(t).length?!1:Object.entries(t).every(([n,r])=>{let o=e[n];return o!==void 0&&o.exists===r.exists&&Ht(o,r.mtime_ms,r.ctime_ms,r.size)})}function Nf(e){return sn.some(t=>e.toLowerCase().endsWith(t))}function Lf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Pf(e,t,n){if(n)for(let r of await ve({path:e,scope:"project"}))Bt(t,r)}function ba(e,t,n,r){if(e)return t&&n?n.collections:r}async function Mf(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=br(e);await Pf(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ht(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Ht(u,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&Ht(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:ba(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let y=await B.readFile(e,"utf8"),g=In(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>Bt(n.warnings,R)}),S=Xn(g.metadata);return Lf(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:S.light,heavyMetadata:ba(n.includeCollections,p,m,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function jf(e,t,n,r){n.state.newEntries[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,metadata:r.lightMetadata,body_length:r.bodyLength},n.includeBody&&r.body!==void 0&&(n.state.newBodies[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,body:r.body}),n.includeCollections&&r.heavyMetadata!==void 0&&(n.state.newCollections[t]={mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size,collections:r.heavyMetadata});let o=n.includeCollections?Ta(r.lightMetadata,r.heavyMetadata):r.lightMetadata,i=n.state.documentsById.get(o.id),s={metadata:o,body:r.body,item_format:r.itemFormat,item_path:e};Oa(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Ff(e,t,n,r){try{let o=await Mf(t,n,r);jf(t,n,r,o)}catch{Bt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function $f(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Hf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function zf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Uf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function Bf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Nf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Ff(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function Wf(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Ut(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await zt(Yn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await zt(Oo(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:M.relative(e.pmRoot,r.item_path),metadata:Xn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ya({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Gn(e.pmRoot)}catch{}}async function Vf(e){!(e.state.misses.body||Object.keys(e.previousBodies).length!==Object.keys(e.state.newBodies).length)&&e.existingBodyCache!==null&&e.existingBodyCache.context_fingerprint===e.contextFingerprint||await zt(Jn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function qf(e){!(e.state.misses.collections||Object.keys(e.previousCollections).length!==Object.keys(e.state.newCollections).length)&&e.existingCollectionsCache!==null&&e.existingCollectionsCache.context_fingerprint===e.contextFingerprint||await zt(Qn(e.pmRoot),{version:se,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Do(e,t,n={}){let r=await Ao(e);return n.required!==!0&&(r===null||r.entry_count<Ia)?async()=>{}:Q(e,pf,30,t,!1,!1,3e3)}async function sv(e,t){let n=await Ao(e);if(n===null)return null;let r=await Ro(e);if(r.invalid)return await _t(e),null;let o=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.source_cursor:n.source_cursor,i=r.envelope?.context_fingerprint===n.context_fingerprint&&r.envelope.base_source_cursor===n.source_cursor?r.envelope.directory_signatures:n.directory_signatures;return t&&!Ut(i,await Kn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function wa(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function _t(e){await Promise.all([Yn(e),Jn(e),Qn(e),Co(e),Oo(e)].map(async t=>{await B.rm(t,{force:!0}),Z.delete(t)})),await Gn(e)}async function Gf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=Xn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function Kf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function No(e){let t=wa(e.pmRoot,e.itemPath),n=e.previousItemPath?wa(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await _t(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ca(e.preferredFormat,e.typeToFolder,e.schema,Sa()),o=await Ao(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Ro(e.pmRoot);if(s.invalid)return await _t(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Kf(s.envelope,r,i),c=s.envelope?.context_fingerprint===r&&s.envelope.base_source_cursor===i?s.envelope.source_cursor:i;n!==void 0&&(a[n]={entry:null,body:null,collections:null}),a[t]=await Gf({mutation:e});let d=ka();return await zt(Co(e.pmRoot),{version:se,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Kn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ga({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Xn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Gn(e.pmRoot),[]}catch{return await _t(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Xf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Ea(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function Yf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function Jf(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=br(n);if(!o)continue;let i=e.includeCollections?Ta(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Oa(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function Qf(e){return e.forceSourceScan||kr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Ut(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Ea(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Ea(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&Yf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function tr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Sa(),d=Ca(t,n,o,c),u=await Ro(e);u.invalid&&await _t(e);let f=await Cf(e,d,i.cacheDiagnostics),m=s?await Of(e,d):null,p=a?await xf(e,d):null;Tf(f,m,p,u.envelope);let _=$f(f,d),y=Hf(m,d),g=zf(p,d),S=[...new Set(Object.values(n))],R=await Kn(e,S),D=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ia));if(Qf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:R,entryKeys:D,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return Jf({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:y,previousCollections:g});let x=await Promise.all(S.map(Et=>Af(e,Et,r))),q=kr(),W=Uf(),J={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:q,previousEntries:_,previousBodies:y,previousCollections:g,state:W};await Bf(x,J);let G=await Kn(e,S),ee=Ut(R,G)?G:{},Ke=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!Ut(f?.directory_signatures,ee)||f===null?ka():f.source_cursor;return await Wf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingCache:f,previousEntries:_,directorySignatures:ee,state:W,minimumIndexedItems:$}),s&&await Vf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingBodyCache:m,previousBodies:y,state:W}),a&&await qf({pmRoot:e,contextFingerprint:d,sourceCursor:Ke,existingCollectionsCache:p,previousCollections:g,state:W}),Xf(W)}async function xa(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Ra(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function ae(){let e=de();for(let t of le()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return 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]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function Wt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function nr(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function Zf(e,t){let n=new Set,r=[];for(let o of[...e].sort()){if(n.has(o))continue;n.add(o);let i=[{nodeId:o,children:[...t.get(o)??[]].sort(),nextChild:0}];for(;i.length>0;){let s=i.at(-1),a=s.children[s.nextChild];a===void 0?(r.push(s.nodeId),i.pop()):(s.nextChild+=1,n.has(a)||(n.add(a),i.push({nodeId:a,children:[...t.get(a)??[]].sort(),nextChild:0})))}}return r}function em(e,t){let n=[...e].sort(),r=Zf(n,t),o=new Set,i=tm(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=nm(a,i,o);(c.length>1||t.get(c[0])?.has(c[0]))&&s.push(c)}return s.sort((a,c)=>a.join("\0").localeCompare(c.join("\0")))}function tm(e,t){let n=new Map(e.map(r=>[r,new Set]));for(let[r,o]of t)for(let i of o)n.get(i)?.add(r);return n}function nm(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Aa(e){let t=new Map;for(let n of e){let r=Wt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function rm(e,t,n){let r=Wt(t.parent);if(!(!r||!n.has(r)))return{parent_id:r,child_id:e,source:"scalar_parent",kind:"parent",holder_id:e,child_cardinality:"one"}}function om(e,t,n,r){let o=Wt(t?.id),i=r.resolve(t?.kind);if(!o||!n.has(o)||!i?.hierarchy)return;let s=i.hierarchyDirection==="source_parent";return{parent_id:s?e:o,child_id:s?o:e,source:"dependency",kind:i.kind,holder_id:e,target_id:o,child_cardinality:s?i.incoming:i.outgoing}}function Da(e,t){let n=new Map;for(let[r,o]of e){let i=rm(r,o,e);i&&n.set(nr(i),i);for(let s of o.dependencies??[]){let a=om(r,s,e,t);a&&n.set(nr(a),a)}}return[...n.values()].sort((r,o)=>nr(r).localeCompare(nr(o)))}function _v(e,t=ae()){return Da(Aa(e),t)}function im(e,t,n){let r=new Set(e.filter(o=>o.child_cardinality==="one").map(o=>o.child_id));return[...t].filter(([o,i])=>i.length>1&&r.has(o)).map(([o,i])=>({child_id:o,parent_ids:[...i],legacy_terminal:n.has(o)&&i.every(s=>n.has(s))})).sort((o,i)=>o.child_id.localeCompare(i.child_id))}function sm(e,t,n){let r=new Map;for(let i of t){if(i.source!=="dependency")continue;let s=r.get(i.child_id)??new Set;s.add(i.parent_id),r.set(i.child_id,s)}let o=[];for(let[i,s]of e){let a=Wt(s.parent);if(!a||!e.has(a))continue;let c=[...r.get(i)??[]].filter(d=>d!==a).sort();c.length!==0&&o.push({child_id:i,scalar_parent_id:a,dependency_parent_ids:c,legacy_terminal:n.has(i)&&n.has(a)&&c.every(d=>n.has(d))})}return o.sort((i,s)=>i.child_id.localeCompare(s.child_id))}function rr(e,t=r=>r==="closed"||r==="canceled",n=ae()){let r=Aa(e),o=Da(r,n),i=am(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=em([...r.keys()],new Map([...i.children_by_parent].map(([c,d])=>[c,new Set(d)]))).map(c=>({item_ids:c,legacy_terminal:c.every(d=>s.has(d))}));return{relations:o,cycles:a,cardinality_violations:im(o,i.parents_by_child,s),divergences:sm(r,o,s)}}function pv(e){return e.source==="scalar_parent"?`${e.parent_id} -> ${e.child_id} (scalar parent on ${e.holder_id})`:`${e.parent_id} -> ${e.child_id} (${e.kind} dependency on ${e.holder_id})`}function am(e){let t=new Map,n=new Map;for(let r of e){let o=t.get(r.child_id)??new Set;o.add(r.parent_id),t.set(r.child_id,o);let i=n.get(r.parent_id)??new Set;i.add(r.child_id),n.set(r.parent_id,i)}return{parents_by_child:new Map([...t].map(([r,o])=>[r,[...o].sort()])),children_by_parent:new Map([...n].map(([r,o])=>[r,[...o].sort()]))}}function Lo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function hv(e,t,n,r,o){let i=Wt(n);if(!i)return;let s=rr(e,r,o),a=rr(t,r,o),c=a.divergences.find(f=>!s.divergences.some(m=>m.child_id===f.child_id&&m.scalar_parent_id===f.scalar_parent_id&&Lo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new v(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,b.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Lo(f.parent_ids,m.parent_ids)));if(d)throw new v(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,b.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let u=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Lo(f.item_ids,m.item_ids)));if(u)throw new v(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,b.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:u.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var cm="global";function wv(e){let t=e?.trim();if(t)return oe(t)?cm:t}function Ev(e,t,n){return dm(e,t,n)}function dm(e,t,n){let r=e.trim();return oe(n)||_e(r)?r:Ve(r,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]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function ht(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Vt(e){let t=ht(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function qt(e,t,n=!0){let r=ht(e);return n&&(oe(t)||r!==void 0&&_e(r))}function Po(e,t){return qt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Na(e,t,n,r){return qt(e,t)?r.get(e):n.get(e.toLowerCase())}function pt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function lm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=ht(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${Po(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function um(e,t=n=>n==="closed"||n==="canceled"){let n=[];for(let r of e)if(!(typeof r?.id!="string"||r.id.trim().length===0))for(let o of lm(r).values())o.count<2||n.push({holder_id:r.id.trim(),target_id:o.target_id,kind:o.kind,occurrences:o.count,holder_status:r.status,legacy_terminal:t(r.status)});return n.sort((r,o)=>{let i=pt(r.holder_id,o.holder_id);if(i!==0)return i;let s=pt(r.target_id,o.target_id);return s!==0?s:pt(r.kind,o.kind)})}function fm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=ht(n.id);if(!i||Po(i,n.source_kind)!==Po(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function mm(e,t=r=>r==="closed"||r==="canceled",n=ae()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=ht(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=fm(o,i,s,t,n);a&&r.set(`${a.holder_id.toLowerCase()}\0${a.target_id.toLowerCase()}\0${a.dependency_kind}`,a)}}return[...r.values()].sort((o,i)=>{let s=pt(o.holder_id,i.holder_id);if(s!==0)return s;let a=pt(o.target_id,i.target_id);return a!==0?a:pt(o.dependency_kind,i.dependency_kind)})}function Mo(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,u,f,m)=>{let p=ht(d);if(!p||r.has(p.toLowerCase())||qt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;oe(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function _m(e){let t=new Map;for(let n of[...e.active,...e.legacy_terminal]){if(n.no_active_blocker_sentinel)continue;let r=n.target_id.trim(),o=r.toLowerCase();t.has(o)||t.set(o,r)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}function pm(e){let t=new Map;for(let n of e){let r=Vt(n.blocked_by);r&&qt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!qt(o.id,o.source_kind))continue;let i=Vt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var La=new WeakMap;function xv(e){return e.hierarchyIntegrity??La.get(e)}function hm(e,t=ae()){let n={};for(let r of e)for(let o of r.dependencies??[]){if(typeof o!="object"||o===null)continue;let i=o.kind;if(typeof i!="string")continue;let s=i.trim().toLowerCase().replaceAll("-","_"),a=t.resolve(i);a&&s!==a.kind&&(n[s]=(n[s]??0)+1)}return Object.fromEntries(Object.entries(n).sort(([r],[o])=>r.localeCompare(o)))}function or(e,t,n){let r=n??ae(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Mo(o,t),a=_m(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=pm(o),d=new Set(i.keys()),u=new Map;for(let _ of c){let y=_;for(;d.has(y.toLowerCase());)y=`external:${y}`;u.set(_,y),d.add(y.toLowerCase())}let f=o.map(_=>{let y=Vt(_.parent),g=Vt(_.blocked_by),S=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let D=R,$=Vt(D.id);return $?[{id:Na($,D.source_kind,i,u),kind:typeof D.kind=="string"?D.kind:"related"}]:[]});return{id:_.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:Na(g,void 0,i,u)}:{},dependencies:S}}),m=rr(o,t,r),p={graph:ki.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:u.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:u.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:um(o,t),orderingContradictions:mm(o,t,r),legacyAliasCounts:hm(o,r),hierarchyIntegrity:m};return La.set(p,m),p}import{createHash as ym}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var gm=64,vm=8;function bm(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function Ma(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>bm(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return ym("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Pa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var jo=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Pa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,gm),this.#n=Pa("maxWorkspaces",t.maxWorkspaces,vm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let u=s.results.get(c);if(u!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,u),{value:structuredClone(u),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},ja=new jo;function Fa(){return ja}function Lv(){ja.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var wm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Em=new TextEncoder;function Fo(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function ir(e){return Math.max(1,Math.ceil(Em.encode(JSON.stringify(e)).byteLength/4))}function $o(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function km(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>$o(i,n,r));return[...new Set(o)].sort()}function Im(e){return wm.find(t=>e.includes(t))}function Sm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,u=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&u)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(u=!0);continue}for(let{id:_,edge:y}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:$o(y,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:u}}function Tm(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[$o(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Cm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?km(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Im(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=ir(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function Om(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=ir(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function $a(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Fo(r.nodeLimit,20,"nodeLimit"),i=Fo(r.edgeLimit,40,"edgeLimit"),s=Fo(r.tokenBudget,1200,"tokenBudget"),a=r.registry??de(),c=new Map(n.map(Xe=>[Xe.id,Xe])),d=c.get(t)??{id:t},{evidence:u=[],...f}=d,m=[...u],p=Sm(e,t,a,r),{rootEdges:_,...y}=Tm(e,t,a,r),g=Li("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=Mi(p.rows,r.cursor,g,({id:Xe})=>Xe),R=p.rows.slice(S),D=ir(f)+ir(m);if(D>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Cm({candidates:R,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:D}),{nodes:x}=$,q=new Set([t,...x.map(({id:Xe})=>Xe)]),W=Om({graph:e,included:q,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:J,usedTokens:G}=W,ee=S+x.length,he=ee<p.rows.length,Ke=x.at(-1),Et=W.candidateCount-J.length,ai=p.depthTruncated||he||Et>0,Lc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...y,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:J.length,omittedNodes:p.rows.length-ee,omittedEdges:Et,evidenceCount:m.length,hasMore:he};return{root:f,summary:Lc,nodes:x,edges:J,evidence:m,meta:{exact:!0,truncated:ai,completeness:ai?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:G,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:Et,...he&&Ke?{nextCursor:Pi(g,Ke.id,ee-1)}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function zo(e,t){return(t===void 0?void 0:vi(e,t))?.execution_role??gi[e.trim().toLowerCase()]??"agent"}var Uo="blocked_by",Ha="blocks",xm=Object.freeze([Uo,Ha]),Ho="no-active-blocker";function F(e){return e.trim().toLowerCase()}function sr(e,t){return t?`external:${e}`:`local:${F(e)}`}function Gt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Ho){let r=_e(n);t.set(sr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Uo&&o.length>0&&F(o)!==Ho){let i=_e(o)||oe(r.source_kind);t.set(sr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function ar(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Gt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===Ha&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Ho)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function za(e,t){let n=F(e.id);return n.length>0?ar(t).get(n)??Gt(e):Gt(e)}function Bo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??za(o,[...t.values()]):Gt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Uo&&oe(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>sr(a.id.trim(),!0)));return i.map(a=>{if(_e(a)||s.has(sr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:pe(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Rm(e,t,n){return Bo(e,t,n)}function Am(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=ar(e),o=new Set([...Ua(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=nt(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||Bo(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function Dm(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(nt(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=zo(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function Ua(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function Nm(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!pe(s.status,n))return!0;r.push(F(s.id))}}}return!1}function Lm(e){let t=new Map,n=new Map,r=new Map,o=ar(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function Pm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=Lm(t),c=new Set([...Ua(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!pe(g.status,n)).map(g=>F(g.id))),u=[],f=[],m=[],p=[],_=[],y=0;for(let g of e){if(!c.has(nt(g.status,n)))continue;y+=1;let S=Bo(g,o,n,a).filter(x=>!x.resolved),R=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,q)=>x.localeCompare(q)),D={item:g,open_blockers:S,unblocks:R};if(Nm(g.id,i,n)){m.push(D);continue}let $=n.blocked_statuses.has(nt(g.status,n));if(S.length===0&&!$){let x=zo(g.type,r);x==="human"?p.push(D):x==="gate"?_.push(D):u.push(D)}else f.push(D)}return{ready:u,blocked:f,containers:m,decisions:p,gates:_,active_count:y,container_count:m.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]="ae1c56b3-148d-502d-9450-e807fdfab4da")}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]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var U={ok:!1},h=e=>typeof e=="string"?{ok:!0,value:e}:U,O=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?U:{ok:!0,value:t}}function A(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function w(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return U;let r=[];for(let o of n){let i=e(o);if(!i.ok)return U;r.push(i.value)}return{ok:!0,value:r}}}function Vo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:U}function l(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function cr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return U;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return U;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Mm=C({key:h,values:w(h),required:l(O),aliases:l(w(h)),description:l(h)}),jm=C({command:A("create","update"),option:h,required:l(O),visible:l(O),enabled:l(O)}),Fm=C({name:h,description:l(h),default_status:l(h),execution_role:l(A("agent","human","gate")),folder:l(h),aliases:l(w(h)),required_create_fields:l(w(h)),required_create_repeatables:l(w(h)),options:l(w(Mm)),command_option_policies:l(w(jm))}),$m=C({id:h,aliases:l(w(h)),roles:l(w(A(...ci))),description:l(h),order:l(N())}),Hm=C({key:h,metadata_key:l(h),front_matter_key:l(h),cli_flag:l(h),cli_aliases:l(w(h)),description:l(h),type:l(A(...di)),commands:l(w(A(...li))),repeatable:l(O),required:l(O),required_on_create:l(O),required_types:l(w(h)),allow_unset:l(O)}),zm=e=>{if(!Array.isArray(e)||e.length!==2)return U;let[t,n]=e;return typeof t!="string"||typeof n!="string"?U:{ok:!0,value:[t,n]}},Um=C({type:h,allowed_transitions:w(zm)}),Bm=l(C({version:l(N({int:!0})),files:l(C({types:l(h),statuses:l(h),fields:l(h),workflows:l(h)})),statuses:l(w($m)),fields:l(w(Hm)),workflow:l(C({draft_status:l(h),open_status:l(h),in_progress_status:l(h),blocked_status:l(h),close_status:l(h),canceled_status:l(h)})),type_workflows:l(w(Um)),unknown_field_policy:l(A(...ui))})),Wm=l(C({preset:l(A(...fi)),ownership_enforcement:l(A("none","warn","strict")),create_mode_default:l(A("progressive","strict")),close_validation_default:l(A("off","warn","strict")),require_close_reason:l(O),parent_reference:l(A("warn","strict_error")),metadata_profile:l(A("core","strict","custom")),force_required_for_stale_lock:l(O),create_default_type:l(h),workflow_enforcement:l(A("off","warn","strict")),duplicate_detection_mode:l(A("off","advisory","strict")),duplicate_detection_threshold:l(N({min:0,max:1})),duplicate_detection_limit:l(N({int:!0,min:0,max:20}))})),Vm=C({name:h,disabled:l(O),require_trusted:l(O),require_provenance:l(O),sandbox_profile:l(A("none","restricted","strict")),allowed_capabilities:l(w(h)),blocked_capabilities:l(w(h)),allowed_surfaces:l(w(h)),blocked_surfaces:l(w(h)),allowed_commands:l(w(h)),blocked_commands:l(w(h)),allowed_actions:l(w(h)),blocked_actions:l(w(h)),allowed_services:l(w(h)),blocked_services:l(w(h))}),Wo=A("block","warn"),qm=e=>typeof e=="string"?Wo(e):C({global:l(Wo),project:l(Wo)})(e),Gm=l(C({mode:l(A("off","warn","enforce")),trust_mode:l(A("off","warn","enforce")),pm_max_version_exceeded_mode:l(qm),require_provenance:l(O),trusted_extensions:l(w(h)),default_sandbox_profile:l(A("none","restricted","strict")),allowed_extensions:l(w(h)),blocked_extensions:l(w(h)),allowed_capabilities:l(w(h)),blocked_capabilities:l(w(h)),allowed_surfaces:l(w(h)),blocked_surfaces:l(w(h)),allowed_commands:l(w(h)),blocked_commands:l(w(h)),allowed_actions:l(w(h)),blocked_actions:l(w(h)),allowed_services:l(w(h)),blocked_services:l(w(h)),extension_overrides:l(w(Vm))})),Ge=Vo(128),Km=C({harness:Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(w(Ge,64)),model_environment_keys:l(w(Ge,64)),session_environment_keys:l(w(Ge,64)),provenance_environment_keys:l(cr(w(Ge,64))),provenance_resolvers:l(cr(A("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(w(Ge,64)),argv_markers:l(w(Ge,64)),client_names:l(w(Ge,64))}),Xm=C({version:N({int:!0}),id_prefix:h,ids:l(C({token_length:l(N({int:!0,min:4,max:12}))})),author_default:h,agent_identity:l(C({probes_enabled:l(O),identity_vocabulary:l(C({version:N({int:!0,positive:!0}),aliases:cr(Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:w(Km)})),mutation_guard:l(C({require_attributed_author:l(O),secret_guard:l(A("off","advise","block")),stale_in_progress_hours:l(N({int:!0,positive:!0}))})),item_format:l(A("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:l(N({int:!0,min:0}))}),checkpoints:l(C({retention_days:l(N({int:!0,positive:!0}))})),output:C({default_format:A("toon","json")}),ux:l(C({deprecation_hints:l(O)})),history:l(C({missing_stream:A("auto_create","strict_error"),compact_policy:l(C({enabled:l(O),max_entries:l(N({int:!0,positive:!0})),trigger:l(A("health_warn","auto"))}))})),validation:l(C({sprint_release_format:A("warn","strict_error"),parent_reference:l(A("warn","strict_error")),metadata_profile:l(A("core","strict","custom")),metadata_required_fields:l(w(h)),lifecycle_stale_blocker_reason_patterns:l(w(h)),lifecycle_closure_like_blocked_reason_patterns:l(w(h)),lifecycle_closure_like_resolution_patterns:l(w(h)),lifecycle_closure_like_actual_result_patterns:l(w(h)),estimate_defaults_by_type:l(cr(N({int:!0,positive:!0})))})),governance:Wm,workflow:l(C({definition_of_done:w(h)})),testing:l(C({record_results_to_items:O,allow_untrusted_linked_tests:l(O)})),telemetry:l(C({enabled:O,first_run_prompt_completed:l(O),capture_level:l(A("minimal","redacted","max")),endpoint:l(h),installation_id:l(h),retention_days:l(N({int:!0,positive:!0}))})),agent_guidance:l(C({prompt_completed:l(O),declined:l(O),declined_at:l(h),template_version:l(N({int:!0,positive:!0})),last_checked_files:l(w(h))})),item_types:l(C({definitions:w(Fm)})),schema:Bm,context:l(C({default_depth:l(A("brief","standard","deep")),activity_limit:l(N({int:!0,positive:!0})),stale_threshold_days:l(N({int:!0,positive:!0})),sections:l(C({hierarchy:l(O),activity:l(O),progress:l(O),recently_created:l(O),unparented:l(O),blockers:l(O),files:l(O),workload:l(O),staleness:l(O),tests:l(O)}))})),extensions:C({enabled:w(h),disabled:w(h),policy:Gm}),search:C({score_threshold:N(),hybrid_semantic_weight:l(N()),max_results:N({int:!0}),embedding_model:h,embedding_corpus_max_characters:l(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:l(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:l(h),default_mode:l(A("auto","keyword","semantic","hybrid")),corpus_fields:l(w(h)),mutation_refresh_policy:l(A("cache_only","semantic_configured","semantic_auto")),query_expansion:l(C({enabled:l(O),provider:l(h)})),rerank:l(C({enabled:l(O),model:l(h),top_k:l(N({int:!0,positive:!0}))})),bm25:l(C({k1:l(N()),b:l(N())}))}),providers:C({openai:C({base_url:h,api_key:h,model:h}),ollama:C({base_url:h,model:h})}),vector_store:C({adapter:l(h),collection_name:l(h),qdrant:C({url:h,api_key:h}),lancedb:C({path:h})})});function Ba(e){let t=Xm(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var Ym={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Wa=120;function qo(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function qa(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Jm=qa(Ym),Va=new WeakMap;function Qm(e){let t=Va.get(e);if(t)return t;let n=qa(e);return Va.set(e,n),n}function Gv(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Wa;if(t){let o=Qm(t).get(n);if(qo(o))return Math.floor(o)}let r=Jm.get(n);return qo(r)?Math.floor(r):Wa}function Go(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!qo(r)||(t[o]=Math.floor(r))}return t}import{stat as Zm}from"node:fs/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]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var dr=new Map;function Ga(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function e_(e){try{let t=await Zm(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function xe(e){let t=Ga(e),n=await Promise.all(t.map(r=>e_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Kt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],o=t[n];if(r.path!==o.path||r.mtime_ms!==o.mtime_ms||r.size!==o.size)return!1}return!0}function Ka(e){return dr.get(e)}function lr(e,t){let n=Ga(t.tracked_paths),r=[...t.signatures].map(o=>({path:o.path,mtime_ms:o.mtime_ms,size:o.size})).sort((o,i)=>o.path.localeCompare(i.path));dr.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Re(e){if(e){dr.delete(e);return}dr.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="665677ea-4d55-5858-8b21-6dee20bfd46b")}catch{}})();var t_="settings:write",Za=Symbol("pm.settings.persist_source"),n_=128,r_=new Set(["off","advisory","strict"]);function Xa(e){return structuredClone(_i[e])}function o_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function Ya(e,t){let n=typeof t.create_default_type=="string"?t.create_default_type.trim():void 0;return n&&n.length>0&&(e.create_default_type=n),(t.workflow_enforcement==="off"||t.workflow_enforcement==="warn"||t.workflow_enforcement==="strict")&&(e.workflow_enforcement=t.workflow_enforcement),t.require_close_reason===!1&&(e.require_close_reason=!1),e.duplicate_detection_mode=t.duplicate_detection_mode,e.duplicate_detection_threshold=t.duplicate_detection_threshold,e.duplicate_detection_limit=t.duplicate_detection_limit,e}function i_(e){return e.preset==="custom"?Ya({preset:"custom",ownership_enforcement:e.ownership_enforcement,create_mode_default:e.create_mode_default,close_validation_default:e.close_validation_default,parent_reference:e.parent_reference,metadata_profile:e.metadata_profile,force_required_for_stale_lock:e.force_required_for_stale_lock},e):Ya({preset:e.preset},e)}function s_(e){let t=typeof e.create_default_type=="string"?e.create_default_type.trim():void 0,n={};t&&t.length>0&&(n.create_default_type=t),(e.workflow_enforcement==="off"||e.workflow_enforcement==="warn"||e.workflow_enforcement==="strict")&&(n.workflow_enforcement=e.workflow_enforcement),typeof e.require_close_reason=="boolean"&&(n.require_close_reason=e.require_close_reason),r_.has(String(e.duplicate_detection_mode))&&(n.duplicate_detection_mode=e.duplicate_detection_mode);let r=e.duplicate_detection_threshold;[typeof r=="number",Number.isFinite(r),Number(r)>=0,Number(r)<=1].every(Boolean)&&(n.duplicate_detection_threshold=r);let o=e.duplicate_detection_limit;return[typeof o=="number",Number.isSafeInteger(o),Number(o)>=0,Number(o)<=20].every(Boolean)&&(n.duplicate_detection_limit=o),n}function fr(e){let t=e.governance??{},n=o_(t.preset),r=s_(t);if(n==="custom"){let s=Xa("default"),a=r.require_close_reason??s.require_close_reason;return{preset:n,ownership_enforcement:t.ownership_enforcement??s.ownership_enforcement,create_mode_default:t.create_mode_default??s.create_mode_default,close_validation_default:t.close_validation_default??s.close_validation_default,parent_reference:t.parent_reference??s.parent_reference,metadata_profile:t.metadata_profile??s.metadata_profile,force_required_for_stale_lock:t.force_required_for_stale_lock??s.force_required_for_stale_lock,...r,require_close_reason:a,duplicate_detection_mode:r.duplicate_detection_mode??s.duplicate_detection_mode,duplicate_detection_threshold:r.duplicate_detection_threshold??s.duplicate_detection_threshold,duplicate_detection_limit:r.duplicate_detection_limit??s.duplicate_detection_limit}}let o=Xa(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ec(){return structuredClone(k)}function tc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function nc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function rc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function oc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function ic(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function sc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function ac(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function cc(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,n_);return n.length>0?n:k.vector_store.collection_name}function Ko(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function a_(e,t){let n=e.schema,r=Ko(n?.statuses),o=Ko(n?.fields),i=Ko(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:yt(e.item_types?.definitions),has_source_schema_statuses:r.present,source_schema_statuses:r.values,has_source_schema_fields:o.present,source_schema_fields:o.values,has_source_schema_type_workflows:i.present,source_schema_type_workflows:i.values,runtime_item_type_definitions:yt(t.item_types?.definitions),runtime_schema_statuses:structuredClone(t.schema.statuses),runtime_schema_fields:structuredClone(t.schema.fields),runtime_schema_type_workflows:structuredClone(t.schema.type_workflows??[])}}function dc(e,t){Object.defineProperty(e,Za,{value:t,writable:!0,configurable:!0,enumerable:!1})}function lc(e){let t=e[Za];if(!(!t||typeof t!="object"))return t}function ur(e){let t=structuredClone(e.settings),n=lc(e.settings);return n&&dc(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function c_(e,t,n){let r=St(t);return[n,Tt(e,r.files.types,It.types),Tt(e,r.files.statuses,It.statuses),Tt(e,r.files.fields,It.fields),Tt(e,r.files.workflows,It.workflows)]}async function d_(e,t,n){let r=await xe(t);lr(e,{tracked_paths:t,signatures:r,value:ur(n)})}async function l_(e,t,n){try{await d_(e,t,n)}catch{Re(e)}}function Ja(e,t){return e.find(n=>n.path===t)}function u_(e,t,n){for(let r of n){let o=Ja(e,r),i=Ja(t,r);if(!o||!i||!Kt([o],[i]))return!1}return!0}async function Xo(e,t,n,r,o){try{let i=await xe(t);if(!u_(r,i,o)){Re(e);return}lr(e,{tracked_paths:t,signatures:i,value:ur(n)})}catch{Re(e)}}function f_(e,t){let n=St(e.schema),r=yt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=Je(r,t.runtime_item_type_definitions),s=Je(n.statuses,t.runtime_schema_statuses),a=Je(n.fields,t.runtime_schema_fields),c=Je(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?yt(t.source_item_type_definitions):[]:r,schema_statuses:s?t.has_source_schema_statuses?structuredClone(t.source_schema_statuses):[]:n.statuses,schema_fields:a?t.has_source_schema_fields?structuredClone(t.source_schema_fields):[]:n.fields,schema_type_workflows:c?t.has_source_schema_type_workflows?structuredClone(t.source_schema_type_workflows):void 0:n.type_workflows}}function Xt(e){return{settings:ec(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function m_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Jo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function uc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Jo(e?.last_checked_files??t.last_checked_files)}}function re(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function __(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function p_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function fc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function h_(e){let t=e.name.trim().toLowerCase();if(t.length===0)return null;let n={name:t};e.disabled===!0&&(n.disabled=!0),e.require_trusted===!0&&(n.require_trusted=!0),e.require_provenance===!0&&(n.require_provenance=!0),e.sandbox_profile!==void 0&&(n.sandbox_profile=fc(e.sandbox_profile));let r=re(e.allowed_capabilities),o=re(e.blocked_capabilities),i=re(e.allowed_surfaces),s=re(e.blocked_surfaces),a=re(e.allowed_commands),c=re(e.blocked_commands),d=re(e.allowed_actions),u=re(e.blocked_actions),f=re(e.allowed_services),m=re(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),u.length>0&&(n.blocked_actions=u),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function y_(e){let t=new Map;for(let n of e??[]){let r=h_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Yo(e){return e==="block"||e==="warn"?e:void 0}function g_(e){if(typeof e=="string")return Yo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Yo(e.global),n=Yo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function X(e,t){return re(e?.[t]??k.extensions.policy[t])}function mc(e){let t=g_(e?.pm_max_version_exceeded_mode);return{mode:__(e?.mode),trust_mode:p_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:X(e,"trusted_extensions"),default_sandbox_profile:fc(e?.default_sandbox_profile),allowed_extensions:X(e,"allowed_extensions"),blocked_extensions:X(e,"blocked_extensions"),allowed_capabilities:X(e,"allowed_capabilities"),blocked_capabilities:X(e,"blocked_capabilities"),allowed_surfaces:X(e,"allowed_surfaces"),blocked_surfaces:X(e,"blocked_surfaces"),allowed_commands:X(e,"allowed_commands"),blocked_commands:X(e,"blocked_commands"),allowed_actions:X(e,"allowed_actions"),blocked_actions:X(e,"blocked_actions"),allowed_services:X(e,"allowed_services"),blocked_services:X(e,"blocked_services"),extension_overrides:y_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function _c(e){return[...new Set((e??[]).map(n=>n.trim().toLowerCase().replaceAll("-","_")))].filter(n=>n.length>0).sort((n,r)=>n.localeCompare(r)).filter(n=>["author","acceptance_criteria","estimated_minutes","close_reason","reviewer","risk","confidence","sprint","release"].includes(n))}function Ae(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Qo(e){return Array.isArray(e)?e:[]}function v_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:_c(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ae(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ae(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ae(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ae(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Go(e.validation?.estimate_defaults_by_type)}}function b_(e,t){return{enabled:e.telemetry?.enabled??t.telemetry.enabled,first_run_prompt_completed:e.telemetry?.first_run_prompt_completed??t.telemetry.first_run_prompt_completed,capture_level:e.telemetry?.capture_level??t.telemetry.capture_level,endpoint:e.telemetry?.endpoint??t.telemetry.endpoint,installation_id:e.telemetry?.installation_id??t.telemetry.installation_id,retention_days:e.telemetry?.retention_days??t.telemetry.retention_days}}function w_(e,t){return{...t.search,...e.search,default_mode:nc(e.search?.default_mode),mutation_refresh_policy:tc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:rc(e.search?.query_expansion?.enabled),provider:oc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:ic(e.search?.rerank?.enabled),model:sc(e.search?.rerank?.model),top_k:ac(e.search?.rerank?.top_k)}}}function E_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:cc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function k_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function I_(e,t){return{default_depth:e.context?.default_depth??t.context.default_depth,activity_limit:e.context?.activity_limit??t.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??t.context.stale_threshold_days,sections:{...t.context.sections,...e.context?.sections}}}function S_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function yt(e){let t=(e??[]).map(r=>yi(r)).filter(r=>r!==null),n=new Map;for(let r of t)n.set(r.name.toLowerCase(),r);return[...n.values()].sort((r,o)=>r.name.localeCompare(o.name))}function pc(e){let t=ec(),n=fr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:k_(e,t),locks:{...t.locks,...e.locks},ids:{...t.ids,...e.ids},agent_identity:structuredClone(e.agent_identity??t.agent_identity),mutation_guard:{...t.mutation_guard,...e.mutation_guard},checkpoints:{...t.checkpoints,...e.checkpoints},output:{...t.output,...e.output},ux:{...t.ux,...e.ux},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:v_(e,t,n),governance:n,workflow:{definition_of_done:[...e.workflow?.definition_of_done??t.workflow.definition_of_done]},testing:{record_results_to_items:e.testing?.record_results_to_items??t.testing.record_results_to_items,allow_untrusted_linked_tests:e.testing?.allow_untrusted_linked_tests??t.testing.allow_untrusted_linked_tests},telemetry:b_(e,t),agent_guidance:uc(e.agent_guidance??t.agent_guidance),item_types:{definitions:yt(e.item_types?.definitions)},schema:St(e.schema??t.schema),context:I_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:mc(e.extensions.policy??t.extensions.policy)},search:w_(e,t),providers:S_(e,t),vector_store:E_(e,t)}}function T_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(Y(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Qo(e.agent_identity.harness_signals).map(n=>T(Y(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(Y(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(Y(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(Y(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(Y(e.extensions.policy),["mode","trust_mode","pm_max_version_exceeded_mode","require_provenance","trusted_extensions","default_sandbox_profile","allowed_extensions","blocked_extensions","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services","extension_overrides"]),e.extensions.policy.extension_overrides=Qo(e.extensions.policy.extension_overrides).map(n=>T(Y(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(Y(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(Y(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(Y(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(Y(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(Y(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(Y(e.vector_store.lancedb),["path"])}function C_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function O_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:_c(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:Ae(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:Ae(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:Ae(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:Ae(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Go(e.validation?.estimate_defaults_by_type)}}function x_(e){return{...k.search,...e.search,default_mode:nc(e.search?.default_mode),mutation_refresh_policy:tc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:rc(e.search?.query_expansion?.enabled),provider:oc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:ic(e.search?.rerank?.enabled),model:sc(e.search?.rerank?.model),top_k:ac(e.search?.rerank?.top_k)}}}function R_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function A_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:cc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function D_(e,t,n,r){return{...e,item_format:"toon",validation:O_(e,t),governance:t,agent_guidance:uc(e.agent_guidance),item_types:{definitions:r.item_type_definitions},schema:{...n,statuses:r.schema_statuses,fields:r.schema_fields,type_workflows:r.schema_type_workflows},search:x_(e),context:R_(e),extensions:{enabled:Jo(e.extensions?.enabled),disabled:Jo(e.extensions?.disabled),policy:mc(e.extensions?.policy)},vector_store:A_(e)}}function hc(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!Je(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};hc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var yc=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","ux","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function Qa(e,t){let n=C_(e),r=fr(n),o=St(n.schema),i=f_(n,t),s=D_(n,r,o,i),a=T({...s,governance:i_(r)},yc);return T_(a),a}function N_(e,t={}){let n=Qa(e,t.persist_source);if(t.persist_source){let r=pc(t.persist_source.source_settings);r.item_types={definitions:structuredClone(t.persist_source.runtime_item_type_definitions)},r.schema={...r.schema,statuses:structuredClone(t.persist_source.runtime_schema_statuses),fields:structuredClone(t.persist_source.runtime_schema_fields),type_workflows:structuredClone(t.persist_source.runtime_schema_type_workflows)};let o=Qa(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return hc(i,o,n),`${JSON.stringify(T(i,yc),null,2)}
|
|
162
162
|
`}return`${JSON.stringify(n,null,2)}
|
|
163
|
-
`}async function gc(e){let t=kt(e),n=[t];await ve({path:t,scope:"project"});let r=Ka(e);if(r){let d=await xe(r.tracked_paths);if(Kt(d,r.signatures))return ur(r.value)}let o=await xe([t]),i;try{i=await ge(t)}catch{return Xt("settings_read_fs_error")}if(i===null){let d=Xt();return await Xo(e,[t],d,o,[t]),d}let s=await xe([t]);if(!Kt(o,s))return Re(e),gc(e);let a;try{a=JSON.parse(i)}catch{let d=Xt("settings_read_invalid_json");return await Xo(e,[t],d,s,[t]),d}let c=Ba(a);if(!c.success){let d=Xt("settings_read_invalid_schema");return await Xo(e,[t],d,s,[t]),d}try{let d=pc(c.data),u=c_(e,d.schema,t);n=u;let f=await xe(u),m=await Si(e,d.schema),p=await Ti(e,d.schema),_=await xe(u),y={...d,item_types:{definitions:yt([...d.item_types.definitions,...Qo(p.type_definitions_from_file)])},schema:p.schema};dc(y,a_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:m_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Kt(f,_)?lr(e,{tracked_paths:u,signatures:_,value:ur(g)}):Re(e):Re(e),g}catch{let d=Xt("settings_read_merge_failed");return await l_(e,n,d),d}}async function vc(e){return(await gc(e)).settings}async function db(e,t,n=t_){let r=kt(e),o=N_(t,{persist_source:lc(t)});try{await ua({pmRoot:e,filePath:r,raw:o,op:n,author:as(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await ue({path:r,scope:"project",op:n})}finally{Re(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]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function Yt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new v("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",b.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function L_(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new v(`History for this item contains invalid timestamp at entry ${o+1}.`,b.GENERIC_FAILURE);i<=t&&(n=o)}),n}function P_(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function M_(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function bc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=P_(t,Yt(t,!0));if(!r)throw new v(`Missing ${o} target. Use a timestamp or version number.`,b.USAGE,s);if(/^\d+$/.test(r)){let u=Yt(t),f=Number(r);if(f>=1&&f<=u)throw new v(`History version ${f} was pruned by compaction.`,b.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>u+t.length)throw new v(`${i} version must be between ${u+1} and ${u+t.length} for this item.`,b.USAGE,s);return{kind:"version",raw:r,historyIndex:f-u-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new v(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,b.USAGE,s);let d=L_(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new v(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,b.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function Zo(e,t,n,r){let o=We(e,t);if(o.ok)return o.document;let i=M_(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new v(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,b.GENERIC_FAILURE)}function wc(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=We(ut,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new v("History starts without a reconstructable item baseline.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=Ce([...r]),i=structuredClone(ut);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new v(`History target entry ${s+1} does not exist.`,b.USAGE);i=Zo(i,a.patch,s+1,a.op)}if(!o.ok)throw new v(`History cannot be replayed: ${o.errors.join(", ")}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function gb(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new v("History has no complete item baseline for this target.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new v(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,b.USAGE)}import j_ from"node:fs/promises";import F_ 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]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function $_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function H_(e,t){return new v(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,b.NOT_FOUND)}async function z_(e,t){return await pi(F_.dirname(e)),await(await j_.open(e,"a")).close(),ue({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ei(e){return U_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function U_(e){let t=$_(e.itemIds),n=[],r=[];for(let o of t){let i=ce(e.pmRoot,o);if(!await Le(i)){if(e.settings.history.missing_stream==="strict_error")throw H_(o,e.commandLabel);r.push(...await z_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ni from"node:fs/promises";import mr 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]="57662b37-0d33-5cde-ad84-0a90fb520439")}catch{}})();function De(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ri(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:`pm ${t.map(n=>`'${n.replaceAll("'",`'"'"'`)}'`).join(" ")}`,suggested_retry_args:t}}function _r(e){return new v(`Tracker root is not a directory at ${e}.`,b.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function ti(e){return new v(`Tracker root is not readable at ${e}.`,b.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function B_(e){let t=mr.resolve(e),n=mr.parse(t).root,r=mr.dirname(t);for(;r!==n;){let o;try{o=await ni.stat(r)}catch(i){if(De(i,"ENOTDIR"))throw _r(e);if(!De(i,"ENOENT"))throw i;r=mr.dirname(r);continue}if(!o.isDirectory())throw _r(e);return}}async function gt(e){let t;try{t=await ni.stat(e)}catch(n){throw De(n,"ENOENT")?(await B_(e),new v(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,b.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:ri(e)})):De(n,"ENOTDIR")?_r(e):De(n,"EACCES")||De(n,"EPERM")?ti(e):n}if(!t.isDirectory())throw _r(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw ti(e);try{await(await ni.opendir(e)).close()}catch(n){throw De(n,"EACCES")||De(n,"EPERM")?ti(e):n}}async function oi(e){if(await gt(e),!await Le(kt(e)))throw new v(`Tracker is not initialized at ${e}. Run pm init first.`,b.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:ri(e)})}import vt from"node:fs/promises";import{statSync as W_}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function V_(e,t){let n=-1,r=structuredClone(ut);for(let[a,c]of e.entries()){if(r=Zo(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new v(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Yt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;bc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Ec(e,t,n){let r=new Set([Ve(t,n),Mt(t)]);for(let o of r){let i=ce(e,o);if(!W_(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await Se(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=wc(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:u}=V_(s,o),f=u===void 0?["history",o,"--verify"]:["get",o,"--at",u],m=Ir(f);return new v(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,b.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:u!==void 0,last_materialized_version:d},nextSteps:[m,...u===void 0?["Recover the pre-compaction history from version control."]:[Ir(["restore",o,u])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import ii from"node:path";import{isUtf8 as q_}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function G_(e){try{return await vt.access(e),!0}catch{return!1}}function K_(e,t){e&&(e.includes(t)||e.push(t))}function kc(e){return e??rn(le())}function X_(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function pr(e,t,n="pm-",r,o=Ne){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ve(t,n),c=Mt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=X_(r);for(let m of d){let p=new Map;for(let[_]of u)for(let y of f){let g=vr(e,_,m,y,o);await G_(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:y})}if(p.size>1){let _=[...p.keys()].map(y=>ii.relative(e,y).split(ii.sep).join("/")).sort();throw new v(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,b.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function hr(e,t={}){let n=await Y_(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Y_(e,t={}){let n=await vt.readFile(e.itemPath);if(!q_(n))throw new v("Item contains invalid UTF-8; preserve a binary backup before recovering it.",b.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await ve({path:e.itemPath,scope:"project"});let o;try{o=In(r,{format:e.item_format,schema:t.schema,extensionFieldNames:kc(t.extensionFieldNames),onWarning:i=>K_(t.warnings,i)})}catch(i){if(i instanceof v&&i.code==="item_document_invalid")return{raw:r,document:null,error:new v(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function J_(e,t,n=Ne,r,o){await gt(e);let i=await xa(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function Ic(e,t,n=Ne,r,o){await gt(e);let i=await Ra(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function yw(e,t,n=Ne,r,o,i={}){await gt(e);let s=await tr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Un(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Sc(e){return{async get(t){let n=await pr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await hr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>J_(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Q_(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await vt.readdir(ii.join(e,o));for(let s of i)for(let a of sn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Z_(e,t,n,r){let o=Ve(t,n),i=await Q_(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Jt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function ep(e,t,n,r){let o=await Ec(e,t,n);if(o)return o;let i=await Z_(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new v(`Item ${t} not found`,b.NOT_FOUND,{nextSteps:s})}function tp(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function Tc(e){let t=e.typeToFolder??on(e.settings,le()).type_to_folder,n=await pr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await ep(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await Q(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await hr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ss(e.author),u=fr(e.settings);if(a&&c!==d&&!e.force&&!tp(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new v(`Item ${n.id} is assigned to ${a}. Use --force to override.`,b.CONFLICT);u.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function np(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function rp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await K(e.originalItemPath,e.originalRaw),await vt.rm(e.effectiveTargetItemPath,{force:!0});return}await K(e.originalItemPath,e.originalRaw)}}async function Cc(e){un(e.op);let t=await Tc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=ne(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=ne(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),u=await e.mutate(d);if(e.skipNoop===!0&&u.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...u.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=be();let m=ne(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Er({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Is(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=vr(e.pmRoot,m.metadata.type,r.id,y,n),R=ce(e.pmRoot,r.id),D=await Ct("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:R,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:q}=np(D,S,g),W=await Do(e.pmRoot,e.author),J=[];try{q||await K($,x),!q&&$!==r.itemPath&&await vt.rm(r.itemPath);let ee=dt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await lt(R,ee)}catch(he){throw await rp({skipItemWrite:q,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),he}q||(J=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let G=[...await ue({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await ue({path:R,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields})];return wr({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:dn(c.metadata,u.changedFields),current:dn(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...p.warnings,..._.warnings,...D.warnings,...J,...G]}}finally{await a()}}async function gw(e){return Cc(e)}async function vw(e){return Cc(e)}async function bw(e){let t=await Tc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=kc(void 0),c=ne(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await Er({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let u=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=be(),m=Ye,p=dt({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=ce(e.pmRoot,n.id),y=await Ct("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let x=y.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...u.warnings,...y.warnings]};let R=await Do(e.pmRoot,e.author),D=[];try{S||await vt.rm(g);try{await lt(_,p)}catch(x){throw S||await K(g,r),x}S||(D=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await R()}let $=[...await ue({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await ue({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return wr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:dn(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...u.warnings,...y.warnings,...D,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function op(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:Jt(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function Oc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Cw(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:op(r,o),u=Oc([...i,r,...s]),f=e.retry_command??(d?Oc([...i,d,...s]):void 0);return new v(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??b.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:u,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var ip=["tree","graph","context"],sp=["none","repeated"],ap=["outgoing","incoming","both"],cp=32,dp=200,lp=400,up=16e3;function fp(e){let t=e?.trim().toLowerCase()??"tree";if(ip.includes(t))return t;throw new v(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,b.USAGE)}function bt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new v(`Invalid --${t} value "${e}". Use a positive integer.`,b.USAGE);return n}function Rc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new v(`Invalid --max-depth value "${e}". Use a non-negative integer.`,b.USAGE);return t}function mp(e){let t=e?.trim().toLowerCase()??"none";if(sp.includes(t))return t;throw new v(`Invalid --collapse value "${e}". Use "none" or "repeated".`,b.USAGE)}function _p(e){let t=e?.trim().toLowerCase()??"both";if(ap.includes(t))return t;throw new v(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,b.USAGE)}function pp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new v(`Invalid --kind value "${o}". Registered kinds: ${s}.`,b.USAGE)}r.add(i.kind)}return[...r].sort()}function hp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function yp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:hp(e.dependencies)}}function gp(e){return ln(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function vp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+u>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=u,e.dependencies.push(Ac(d.id,n,r,o,i,s,a,c+1,d.kind))}}function bp(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Ac(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),u=t.get(d),f={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=gp(f),bp(f,u,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),vp(f,u,t,m,r,o,i,s,a),f}function xc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function wp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,xc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,xc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",u=`${a.id}::${c.id}::${d}`;n.has(u)||n.set(u,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let u=a.to.localeCompare(c.to);return u!==0?u:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Dc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],u=d.id.trim().toLowerCase();r.add(u);let f=t.get(u);if(!f){i.add(u);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(u)){s.add(u);for(let m of f.dependencies)o.add(`${u}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Ep(e,t=de()){let n=Rc(e.maxDepth),r=bt(e.nodeLimit,"node-limit"),o=bt(e.edgeLimit,"edge-limit"),i=bt(e.tokenBudget,"token-budget"),s=pp(e.kind,t);return{direction:_p(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function kp(e,t,n,r){return $a(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function si(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Ip(e,t,n,r){let o=await pr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await hr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],u=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,m])=>m===0))return[];let f=[`linked:${u.map(([m,p])=>`${m}=${p}`).join(",")}`];return si(f,"file",a.map(m=>m.path),3),si(f,"test",c.map(m=>m.command??m.path),2),si(f,"doc",d.map(m=>m.path),2),f}function Sp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Tp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Nc(e,t,n){let r;for(;;){let o=ln(new TextEncoder().encode(Cr(Sr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Cp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Op(e){try{return kp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Cp(t))return e.smallestResult;throw t}}function xp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,u=r.edgeLimit??40,f=r.tokenBudget,m,p;for(;;){let _=Op({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in _)return _;let y=_;m??=y.meta.tokenBudget,f??=m;let g=Sp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=Nc(wt(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(u>0){u-=1;continue}let S=f,R=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(R*.9)))}}function Rp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Ep(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),u=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Tp({row:y,missingReachableSet:u,packetIds:p,filteredKinds:m,registry:f}));return xp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Ap(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Dp(e,t,n,r,o,i,s){let a=o??cp,c=bt(n.nodeLimit,"node-limit")??dp,d=bt(n.edgeLimit,"edge-limit")??lp,u=bt(n.tokenBudget,"token-budget")??up,f={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Ac(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Dc(e,r,void 0),_;for(;;){let y=wp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:u},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:y},(_.truncation===void 0?ln(new TextEncoder().encode(Cr(Sr("deps",wt(_,!1)),s)).byteLength):Nc(wt(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=u)return _;if(!Ap(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function wt(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function qw(e,t,n){let r=bi(process.cwd(),n.path);await oi(r);let o=fp(t.format),i=Rc(t.maxDepth),s=mp(t.collapse);Ni(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await vc(r),d=on(c,le()),u=await Ic(r,c.item_format,d.type_to_folder,void 0,c.schema),f=cn(c.schema),m=new Map(u.map(_=>[_.id.trim().toLowerCase(),yp(_)])),p=Mo(u,_=>pe(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let y=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new v(`Item ${e} not found`,b.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Ip(r,_,c,d.type_to_folder),g=D=>pe(D,f),S=ae(),R=Fa().lookup(r,Ma(u,g,S),()=>or(u,g,S));return wt(Rp({assembly:R.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,R.assembly.legacyAliasCounts)}return a?wt({id:e,format:o,...Dc(e,m,i)},!0,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts))):wt(Dp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts)))}export{Pe as a,xr as b,Lp as c,Pp as d,mn as e,Lr as f,Up as g,Bp as h,Wp as i,Vp as j,qp as k,Gp as l,Br as m,Wr as n,Qi as o,rh as p,oh as q,ih as r,sh as s,ah as t,ch as u,Kr as v,rs as w,dh as x,lh as y,uh as z,md as A,ss as B,as as C,_h as D,pd as E,cs as F,$e as G,ke as H,ms as I,Ot as J,Ch as K,Oh as L,tt as M,ds as N,hh as O,ls as P,hd as Q,yh as R,gn as S,nt as T,pe as U,bn as V,kn as W,In as X,Is as Y,ne as Z,Ul as _,Se as $,st as aa,du as ba,_y as ca,py as da,hy as ea,yu as fa,Ln as ga,Ue as ha,Pt as ia,Hy as ja,ho as ka,jn as la,qs as ma,zy as na,Xs as oa,Uy as pa,dt as qa,lt as ra,Ss as sa,ut as ta,Fn as ua,Qy as va,go as wa,$n as xa,Zy as ya,eg as za,ea as Aa,We as Ba,ra as Ca,Ce as Da,Uu as Ea,tg as Fa,ng as Ga,jt as Ha,bo as Ia,Eg as Ja,kg as Ka,da as La,Ig as Ma,ua as Na,Gv as Oa,fr as Pa,gc as Qa,vc as Ra,db as Sa,ia as Ta,Mt as Ua,Ve as Va,dg as Wa,Yt as Xa,bc as Ya,Zo as Za,wc as _a,gb as $a,Qu as ab,ef as bb,tf as cb,nf as db,rf as eb,ko as fb,$g as gb,ei as hb,U_ as ib,Vg as jb,qg as kb,Gg as lb,Ia as mb,wf as nb,Do as ob,sv as pb,No as qb,tr as rb,gt as sb,oi as tb,pr as ub,hr as vb,Y_ as wb,J_ as xb,Ic as yb,yw as zb,Sc as Ab,ep as Bb,gw as Cb,vw as Db,bw as Eb,Cw as Fb,wv as Gb,Ev as Hb,dm as Ib,ae as Jb,_v as Kb,rr as Lb,pv as Mb,am as Nb,hv as Ob,Vt as Pb,um as Qb,mm as Rb,Mo as Sb,_m as Tb,xv as Ub,or as Vb,Ma as Wb,jo as Xb,Fa as Yb,Lv as Zb,$a as _b,bt as $b,Rc as ac,_p as bc,pp as cc,qw as dc,zo as ec,xm as fc,Gt as gc,ar as hc,za as ic,Rm as jc,Am as kc,Dm as lc,Pm as mc};
|
|
164
|
-
//# sourceMappingURL=chunk-
|
|
163
|
+
`}async function gc(e){let t=kt(e),n=[t];await ve({path:t,scope:"project"});let r=Ka(e);if(r){let d=await xe(r.tracked_paths);if(Kt(d,r.signatures))return ur(r.value)}let o=await xe([t]),i;try{i=await ge(t)}catch{return Xt("settings_read_fs_error")}if(i===null){let d=Xt();return await Xo(e,[t],d,o,[t]),d}let s=await xe([t]);if(!Kt(o,s))return Re(e),gc(e);let a;try{a=JSON.parse(i)}catch{let d=Xt("settings_read_invalid_json");return await Xo(e,[t],d,s,[t]),d}let c=Ba(a);if(!c.success){let d=Xt("settings_read_invalid_schema");return await Xo(e,[t],d,s,[t]),d}try{let d=pc(c.data),u=c_(e,d.schema,t);n=u;let f=await xe(u),m=await Si(e,d.schema),p=await Ti(e,d.schema),_=await xe(u),y={...d,item_types:{definitions:yt([...d.item_types.definitions,...Qo(p.type_definitions_from_file)])},schema:p.schema};dc(y,a_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:m_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Kt(f,_)?lr(e,{tracked_paths:u,signatures:_,value:ur(g)}):Re(e):Re(e),g}catch{let d=Xt("settings_read_merge_failed");return await l_(e,n,d),d}}async function vc(e){return(await gc(e)).settings}async function db(e,t,n=t_){let r=kt(e),o=N_(t,{persist_source:lc(t)});try{await ua({pmRoot:e,filePath:r,raw:o,op:n,author:as(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await ue({path:r,scope:"project",op:n})}finally{Re(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]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function Yt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new v("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",b.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function L_(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new v(`History for this item contains invalid timestamp at entry ${o+1}.`,b.GENERIC_FAILURE);i<=t&&(n=o)}),n}function P_(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function M_(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function bc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=P_(t,Yt(t,!0));if(!r)throw new v(`Missing ${o} target. Use a timestamp or version number.`,b.USAGE,s);if(/^\d+$/.test(r)){let u=Yt(t),f=Number(r);if(f>=1&&f<=u)throw new v(`History version ${f} was pruned by compaction.`,b.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>u+t.length)throw new v(`${i} version must be between ${u+1} and ${u+t.length} for this item.`,b.USAGE,s);return{kind:"version",raw:r,historyIndex:f-u-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new v(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,b.USAGE,s);let d=L_(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new v(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,b.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function Zo(e,t,n,r){let o=We(e,t);if(o.ok)return o.document;let i=M_(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new v(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,b.GENERIC_FAILURE)}function wc(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=We(ut,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new v("History starts without a reconstructable item baseline.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=Ce([...r]),i=structuredClone(ut);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new v(`History target entry ${s+1} does not exist.`,b.USAGE);i=Zo(i,a.patch,s+1,a.op)}if(!o.ok)throw new v(`History cannot be replayed: ${o.errors.join(", ")}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function gb(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new v("History has no complete item baseline for this target.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new v(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,b.USAGE)}import j_ from"node:fs/promises";import F_ 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]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function $_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function H_(e,t){return new v(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,b.NOT_FOUND)}async function z_(e,t){return await pi(F_.dirname(e)),await(await j_.open(e,"a")).close(),ue({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ei(e){return U_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function U_(e){let t=$_(e.itemIds),n=[],r=[];for(let o of t){let i=ce(e.pmRoot,o);if(!await Le(i)){if(e.settings.history.missing_stream==="strict_error")throw H_(o,e.commandLabel);r.push(...await z_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ni from"node:fs/promises";import mr 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]="57662b37-0d33-5cde-ad84-0a90fb520439")}catch{}})();function De(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ri(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:`pm ${t.map(n=>`'${n.replaceAll("'",`'"'"'`)}'`).join(" ")}`,suggested_retry_args:t}}function _r(e){return new v(`Tracker root is not a directory at ${e}.`,b.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function ti(e){return new v(`Tracker root is not readable at ${e}.`,b.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function B_(e){let t=mr.resolve(e),n=mr.parse(t).root,r=mr.dirname(t);for(;r!==n;){let o;try{o=await ni.stat(r)}catch(i){if(De(i,"ENOTDIR"))throw _r(e);if(!De(i,"ENOENT"))throw i;r=mr.dirname(r);continue}if(!o.isDirectory())throw _r(e);return}}async function gt(e){let t;try{t=await ni.stat(e)}catch(n){throw De(n,"ENOENT")?(await B_(e),new v(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,b.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:ri(e)})):De(n,"ENOTDIR")?_r(e):De(n,"EACCES")||De(n,"EPERM")?ti(e):n}if(!t.isDirectory())throw _r(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw ti(e);try{await(await ni.opendir(e)).close()}catch(n){throw De(n,"EACCES")||De(n,"EPERM")?ti(e):n}}async function oi(e){if(await gt(e),!await Le(kt(e)))throw new v(`Tracker is not initialized at ${e}. Run pm init first.`,b.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:ri(e)})}import vt from"node:fs/promises";import{statSync as W_}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function V_(e,t){let n=-1,r=structuredClone(ut);for(let[a,c]of e.entries()){if(r=Zo(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new v(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Yt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;bc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Ec(e,t,n){let r=new Set([Ve(t,n),Mt(t)]);for(let o of r){let i=ce(e,o);if(!W_(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await Se(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=wc(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:u}=V_(s,o),f=u===void 0?["history",o,"--verify"]:["get",o,"--at",u],m=Ir(f);return new v(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,b.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:u!==void 0,last_materialized_version:d},nextSteps:[m,...u===void 0?["Recover the pre-compaction history from version control."]:[Ir(["restore",o,u])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import ii from"node:path";import{isUtf8 as q_}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function G_(e){try{return await vt.access(e),!0}catch{return!1}}function K_(e,t){e&&(e.includes(t)||e.push(t))}function kc(e){return e??rn(le())}function X_(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function pr(e,t,n="pm-",r,o=Ne){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ve(t,n),c=Mt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=X_(r);for(let m of d){let p=new Map;for(let[_]of u)for(let y of f){let g=vr(e,_,m,y,o);await G_(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:y})}if(p.size>1){let _=[...p.keys()].map(y=>ii.relative(e,y).split(ii.sep).join("/")).sort();throw new v(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,b.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function hr(e,t={}){let n=await Y_(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function Y_(e,t={}){let n=await vt.readFile(e.itemPath);if(!q_(n))throw new v("Item contains invalid UTF-8; preserve a binary backup before recovering it.",b.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await ve({path:e.itemPath,scope:"project"});let o;try{o=In(r,{format:e.item_format,schema:t.schema,extensionFieldNames:kc(t.extensionFieldNames),onWarning:i=>K_(t.warnings,i)})}catch(i){if(i instanceof v&&i.code==="item_document_invalid")return{raw:r,document:null,error:new v(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function J_(e,t,n=Ne,r,o){await gt(e);let i=await xa(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function Ic(e,t,n=Ne,r,o){await gt(e);let i=await Ra(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function yw(e,t,n=Ne,r,o,i={}){await gt(e);let s=await tr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Un(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Sc(e){return{async get(t){let n=await pr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await hr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>J_(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Q_(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await vt.readdir(ii.join(e,o));for(let s of i)for(let a of sn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Z_(e,t,n,r){let o=Ve(t,n),i=await Q_(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Jt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function ep(e,t,n,r){let o=await Ec(e,t,n);if(o)return o;let i=await Z_(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new v(`Item ${t} not found`,b.NOT_FOUND,{nextSteps:s})}function tp(e,t){return e==="claim"||t===!0&&(e==="comment_add"||e==="comment_edit"||e==="comment_delete"||e==="note_add"||e==="learning_add"||e==="release"||e==="update"||e==="update_ownership_bypass"||e==="update_audit")}async function Tc(e){let t=e.typeToFolder??on(e.settings,le()).type_to_folder,n=await pr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await ep(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await Q(e.pmRoot,n.id,e.settings.locks.ttl_seconds,e.author,!!e.force,e.settings.governance.force_required_for_stale_lock,e.settings.locks.wait_ms);try{let o=[],{raw:i,document:s}=await hr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ss(e.author),u=fr(e.settings);if(a&&c!==d&&!e.force&&!tp(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new v(`Item ${n.id} is assigned to ${a}. Use --force to override.`,b.CONFLICT);u.ownership_enforcement==="warn"&&o.push(`ownership_warning:assignee_conflict:${n.id}:${a}`)}return{typeToFolder:t,located:n,originalRaw:i,document:s,warnings:o,releaseLock:r}}catch(o){throw await r(),o}}function np(e,t,n){if(!e.handled||typeof e.result!="object"||e.result===null)return{effectiveTargetItemPath:t,effectiveSerializedAfter:n,skipItemWrite:!1};let r=e.result;return{effectiveTargetItemPath:typeof r.target_item_path=="string"&&r.target_item_path.trim().length>0?r.target_item_path:t,effectiveSerializedAfter:typeof r.contents=="string"?r.contents:n,skipItemWrite:r.skip_write===!0}}async function rp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await K(e.originalItemPath,e.originalRaw),await vt.rm(e.effectiveTargetItemPath,{force:!0});return}await K(e.originalItemPath,e.originalRaw)}}async function Cc(e){un(e.op);let t=await Tc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=ne(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=ne(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),u=await e.mutate(d);if(e.skipNoop===!0&&u.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...u.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=be();let m=ne(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await Er({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Is(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=vr(e.pmRoot,m.metadata.type,r.id,y,n),R=ce(e.pmRoot,r.id),D=await Ct("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:R,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:q}=np(D,S,g),W=await Do(e.pmRoot,e.author),J=[];try{q||await K($,x),!q&&$!==r.itemPath&&await vt.rm(r.itemPath);let ee=dt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await lt(R,ee)}catch(he){throw await rp({skipItemWrite:q,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),he}q||(J=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let G=[...await ue({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await ue({path:R,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields})];return wr({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:dn(c.metadata,u.changedFields),current:dn(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...p.warnings,..._.warnings,...D.warnings,...J,...G]}}finally{await a()}}async function gw(e){return Cc(e)}async function vw(e){return Cc(e)}async function bw(e){let t=await Tc({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:"delete",author:e.author,force:e.force}),{located:n,originalRaw:r,document:o,warnings:i,releaseLock:s}=t;try{let a=kc(void 0),c=ne(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await Er({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Sc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let u=await ei({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=be(),m=Ye,p=dt({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=ce(e.pmRoot,n.id),y=await Ct("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let x=y.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...u.warnings,...y.warnings]};let R=await Do(e.pmRoot,e.author),D=[];try{S||await vt.rm(g);try{await lt(_,p)}catch(x){throw S||await K(g,r),x}S||(D=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await R()}let $=[...await ue({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await ue({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return wr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:dn(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...u.warnings,...y.warnings,...D,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function op(e,t){let n=e.trim().toLowerCase();if(n.length===0)return;let r=Math.floor(n.length/3);return t.map(o=>({candidate:o,distance:Jt(n,o.toLowerCase(),r)??Number.POSITIVE_INFINITY})).filter(({distance:o})=>Number.isFinite(o)).sort((o,i)=>o.distance!==i.distance?o.distance-i.distance:o.candidate.localeCompare(i.candidate))[0]?.candidate}function Oc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Cw(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:op(r,o),u=Oc([...i,r,...s]),f=e.retry_command??(d?Oc([...i,d,...s]):void 0);return new v(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??b.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:u,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var ip=["tree","graph","context"],sp=["none","repeated"],ap=["outgoing","incoming","both"],cp=32,dp=200,lp=400,up=16e3;function fp(e){let t=e?.trim().toLowerCase()??"tree";if(ip.includes(t))return t;throw new v(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,b.USAGE)}function bt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new v(`Invalid --${t} value "${e}". Use a positive integer.`,b.USAGE);return n}function Rc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new v(`Invalid --max-depth value "${e}". Use a non-negative integer.`,b.USAGE);return t}function mp(e){let t=e?.trim().toLowerCase()??"none";if(sp.includes(t))return t;throw new v(`Invalid --collapse value "${e}". Use "none" or "repeated".`,b.USAGE)}function _p(e){let t=e?.trim().toLowerCase()??"both";if(ap.includes(t))return t;throw new v(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,b.USAGE)}function pp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new v(`Invalid --kind value "${o}". Registered kinds: ${s}.`,b.USAGE)}r.add(i.kind)}return[...r].sort()}function hp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function yp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:hp(e.dependencies)}}function gp(e){return ln(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function vp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let u=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+u>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=u,e.dependencies.push(Ac(d.id,n,r,o,i,s,a,c+1,d.kind))}}function bp(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Ac(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),u=t.get(d),f={id:u?.id??e,title:u?.title,type:u?.type,status:u?.status,via:c,missing:!u,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=gp(f),bp(f,u,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),vp(f,u,t,m,r,o,i,s,a),f}function xc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function wp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,xc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,xc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",u=`${a.id}::${c.id}::${d}`;n.has(u)||n.set(u,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let u=a.to.localeCompare(c.to);return u!==0?u:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Dc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],u=d.id.trim().toLowerCase();r.add(u);let f=t.get(u);if(!f){i.add(u);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(u)){s.add(u);for(let m of f.dependencies)o.add(`${u}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Ep(e,t=de()){let n=Rc(e.maxDepth),r=bt(e.nodeLimit,"node-limit"),o=bt(e.edgeLimit,"edge-limit"),i=bt(e.tokenBudget,"token-budget"),s=pp(e.kind,t);return{direction:_p(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function kp(e,t,n,r){return $a(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function si(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Ip(e,t,n,r){let o=await pr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await hr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],u=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(u.every(([,m])=>m===0))return[];let f=[`linked:${u.map(([m,p])=>`${m}=${p}`).join(",")}`];return si(f,"file",a.map(m=>m.path),3),si(f,"test",c.map(m=>m.command??m.path),2),si(f,"doc",d.map(m=>m.path),2),f}function Sp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Tp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function Nc(e,t,n){let r;for(;;){let o=ln(new TextEncoder().encode(Cr(Sr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Cp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Op(e){try{return kp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Cp(t))return e.smallestResult;throw t}}function xp(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,u=r.edgeLimit??40,f=r.tokenBudget,m,p;for(;;){let _=Op({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in _)return _;let y=_;m??=y.meta.tokenBudget,f??=m;let g=Sp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=Nc(wt(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(u>0){u-=1;continue}let S=f,R=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(R*.9)))}}function Rp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Ep(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),u=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Tp({row:y,missingReachableSet:u,packetIds:p,filteredKinds:m,registry:f}));return xp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Ap(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Dp(e,t,n,r,o,i,s){let a=o??cp,c=bt(n.nodeLimit,"node-limit")??dp,d=bt(n.edgeLimit,"edge-limit")??lp,u=bt(n.tokenBudget,"token-budget")??up,f={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Ac(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Dc(e,r,void 0),_;for(;;){let y=wp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:u},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:y},(_.truncation===void 0?ln(new TextEncoder().encode(Cr(Sr("deps",wt(_,!1)),s)).byteLength):Nc(wt(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=u)return _;if(!Ap(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function wt(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function qw(e,t,n){let r=bi(process.cwd(),n.path);await oi(r);let o=fp(t.format),i=Rc(t.maxDepth),s=mp(t.collapse);Ni(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await vc(r),d=on(c,le()),u=await Ic(r,c.item_format,d.type_to_folder,void 0,c.schema),f=cn(c.schema),m=new Map(u.map(_=>[_.id.trim().toLowerCase(),yp(_)])),p=Mo(u,_=>pe(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let y=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new v(`Item ${e} not found`,b.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Ip(r,_,c,d.type_to_folder),g=D=>pe(D,f),S=ae(),R=Fa().lookup(r,Ma(u,g,S),()=>or(u,g,S));return wt(Rp({assembly:R.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,R.assembly.legacyAliasCounts)}return a?wt({id:e,format:o,...Dc(e,m,i)},!0,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts))):wt(Dp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(or(u,_=>pe(_,f)).legacyAliasCounts)))}export{Pe as a,xr as b,Lp as c,Pp as d,mn as e,Lr as f,Up as g,Bp as h,Wp as i,Vp as j,qp as k,Gp as l,Br as m,Wr as n,Qi as o,rh as p,oh as q,ih as r,sh as s,ah as t,ch as u,Kr as v,rs as w,dh as x,lh as y,uh as z,md as A,ss as B,as as C,_h as D,pd as E,cs as F,$e as G,ke as H,ms as I,Ot as J,Ch as K,Oh as L,tt as M,ds as N,hh as O,ls as P,hd as Q,yh as R,gn as S,nt as T,pe as U,bn as V,kn as W,In as X,Is as Y,ne as Z,Ul as _,Se as $,st as aa,du as ba,_y as ca,py as da,hy as ea,yu as fa,Ln as ga,Ue as ha,Pt as ia,Hy as ja,ho as ka,jn as la,qs as ma,zy as na,Xs as oa,Uy as pa,dt as qa,lt as ra,Ss as sa,ut as ta,Fn as ua,Qy as va,go as wa,$n as xa,Zy as ya,eg as za,ea as Aa,We as Ba,ra as Ca,Ce as Da,Uu as Ea,tg as Fa,ng as Ga,jt as Ha,bo as Ia,Eg as Ja,kg as Ka,da as La,Ig as Ma,ua as Na,Gv as Oa,Re as Pa,fr as Qa,gc as Ra,vc as Sa,db as Ta,ia as Ua,Mt as Va,Ve as Wa,dg as Xa,Yt as Ya,bc as Za,Zo as _a,wc as $a,gb as ab,Qu as bb,ef as cb,tf as db,nf as eb,rf as fb,ko as gb,$g as hb,ei as ib,U_ as jb,Vg as kb,qg as lb,Gg as mb,Ia as nb,wf as ob,Do as pb,sv as qb,No as rb,tr as sb,gt as tb,oi as ub,pr as vb,hr as wb,Y_ as xb,J_ as yb,Ic as zb,yw as Ab,Sc as Bb,ep as Cb,gw as Db,vw as Eb,bw as Fb,Cw as Gb,wv as Hb,Ev as Ib,dm as Jb,ae as Kb,_v as Lb,rr as Mb,pv as Nb,am as Ob,hv as Pb,Vt as Qb,um as Rb,mm as Sb,Mo as Tb,_m as Ub,xv as Vb,or as Wb,Ma as Xb,jo as Yb,Fa as Zb,Lv as _b,$a as $b,bt as ac,Rc as bc,_p as cc,pp as dc,qw as ec,zo as fc,xm as gc,Gt as hc,ar as ic,za as jc,Rm as kc,Am as lc,Dm as mc,Pm as nc};
|
|
164
|
+
//# sourceMappingURL=chunk-6C3CUU2G.js.map
|