@unbrained/pm-cli 2026.9.9 → 2026.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/CHANGELOG.md +17 -0
- package/dist/cli/command-namespaces.d.ts +9 -0
- package/dist/cli/command-namespaces.js +2 -0
- package/dist/cli/help-content.js +1 -1
- package/dist/cli/help-json-payload.d.ts +5 -1
- package/dist/cli/help-json-payload.js +2 -2
- package/dist/cli/main.d.ts +1 -0
- package/dist/cli/main.js +3 -3
- package/dist/cli/register-mutation.js +2 -2
- package/dist/cli/register-operations.d.ts +0 -5
- package/dist/cli/register-operations.js +1 -1
- package/dist/cli-bundle/bundle-manifest.json +154 -154
- package/dist/cli-bundle/chunks/chunk-4SFBH77G.js +2233 -0
- package/dist/cli-bundle/chunks/{chunk-4VL5P22L.js → chunk-74RGSPLL.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-WQKMSFBV.js → chunk-7WIHZI2M.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-L5RCDKQ2.js → chunk-EOCKPCEY.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-GLQMKUGP.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-OHNLSGGV.js → chunk-I6XT3DLQ.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-MACGGTLQ.js +29 -0
- package/dist/cli-bundle/chunks/{chunk-ECBLPN7B.js → chunk-NKOYVKFM.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-Z3XVXUVF.js → chunk-P6BEYAON.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-3IPRM75M.js → chunk-PYUITRSV.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-T3AMFUCN.js +2 -0
- package/dist/cli-bundle/chunks/{chunk-D3YVILJJ.js → chunk-TSWEX72T.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-J6ERHBV2.js → chunk-YKQTETJI.js} +71 -71
- package/dist/cli-bundle/chunks/{register-list-query-UIHRCS6D.js → register-list-query-CUIW7SSE.js} +2 -2
- package/dist/cli-bundle/chunks/register-mutation-5F5CYUWZ.js +20 -0
- package/dist/cli-bundle/chunks/register-operations-XIZPLPQY.js +2 -0
- package/dist/cli-bundle/chunks/{register-setup-PERI45EM.js → register-setup-JVGPCAIL.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-OQUGRHKV.js → chunk-26O2WB73.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-5YU75QLV.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-QQQ4SAUO.js → chunk-7N5MRONP.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-B2CMFYRZ.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-PNKIANFZ.js → chunk-CRY5MHEI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-YCDQ2N23.js → chunk-F6WKFXBT.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-BUCJUZVG.js → chunk-FHUARRMA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-5FHTCOHS.js → chunk-M36SF4GE.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-TTYXF5YD.js → chunk-OROZM37I.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-XNR3DM6J.js → chunk-PNGYYQY7.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-ZTCE4UO6.js → chunk-SL5YVVPV.js} +3 -3
- package/dist/cli-bundle/focused-chunks/{chunk-XSS3APUF.js → chunk-TPOL4TWE.js} +5 -5
- package/dist/cli-bundle/focused-chunks/{chunk-7PC4R5QB.js → chunk-U5SHHU7E.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-2WSBXIGF.js → chunk-XSMA2W6Q.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-ZAWAL2CG.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-7N6DOREF.js → chunk-ZDNAWWQI.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-YJUXGS57.js → chunk-ZJHYQOTM.js} +2 -2
- package/dist/cli-bundle/main.js +26 -26
- package/dist/cli-bundle/sdk-authoring.js +1 -1
- package/dist/cli-bundle/sdk-contracts.js +2 -2
- package/dist/cli-bundle/sdk-core.js +37 -37
- package/dist/cli-bundle/sdk-governance.js +1 -1
- package/dist/cli-bundle/sdk-graph.js +1 -1
- package/dist/cli-bundle/sdk-merge.js +42 -42
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +10 -10
- package/dist/sdk/agent/item-addressing.js +1 -1
- package/dist/sdk/agent-capability-contracts.js +1 -1
- package/dist/sdk/cli-bootstrap.js +1 -1
- package/dist/sdk/cli-contracts/command-aliases.d.ts +11 -1
- package/dist/sdk/cli-contracts/command-aliases.js +1 -1
- package/dist/sdk/cli-contracts/flag-contracts.js +1 -1
- package/dist/sdk/cli-contracts/flag-lexicon-contracts.js +1 -1
- package/dist/sdk/cli-contracts/grammar-contracts.js +1 -1
- package/dist/sdk/cli-contracts/runtime-contracts.d.ts +4 -1
- package/dist/sdk/cli-contracts/runtime-contracts.js +1 -1
- package/dist/sdk/cli-contracts/tool-schema.d.ts +3 -3
- package/dist/sdk/cli-contracts/tool-schema.js +1 -1
- package/dist/sdk/cli-contracts/typed-action-inputs.d.ts +2 -0
- package/dist/sdk/cli-contracts.d.ts +1 -1
- package/dist/sdk/cli-contracts.js +1 -1
- package/dist/sdk/completion.js +359 -346
- package/dist/sdk/index.d.ts +2 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/lifecycle/claim.js +1 -1
- package/dist/sdk/lifecycle/lifecycle-transitions.d.ts +1 -1
- package/dist/sdk/lifecycle/lifecycle-transitions.js +1 -1
- package/dist/sdk/lifecycle/mcp-actions.js +1 -1
- package/dist/sdk/lifecycle/task-composition.d.ts +17 -0
- package/dist/sdk/lifecycle/task-composition.js +2 -0
- package/dist/sdk/public-surface.json +1 -1
- package/dist/sdk/query/workspace-contracts.d.ts +3 -0
- package/dist/sdk/query/workspace-contracts.js +2 -0
- package/dist/sdk/runtime-input.js +1 -1
- package/dist/sdk/runtime.d.ts +69 -9
- package/dist/sdk/runtime.js +1 -1
- package/docs/COMMANDS.md +26 -24
- package/docs/COMMAND_NAMESPACES.md +65 -0
- package/docs/LIFECYCLE_COMMANDS.md +77 -0
- package/docs/README.md +2 -0
- package/docs/generated/AGENT_CAPABILITY_ROUTING.md +6 -6
- package/docs/generated/AGENT_COMMAND_SURFACE.md +19 -0
- package/docs/generated/FLAG_LEXICON_BUDGETS.md +21 -3
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +2 -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/README.md +4 -2
- 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/README.md +6 -4
- 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-AAFBV3U3.js +0 -29
- package/dist/cli-bundle/chunks/chunk-JUNJ5EKI.js +0 -2
- package/dist/cli-bundle/chunks/chunk-NSAPNEYH.js +0 -2
- package/dist/cli-bundle/chunks/chunk-XZ6T7YPP.js +0 -2217
- package/dist/cli-bundle/chunks/register-mutation-WHWMGRVX.js +0 -20
- package/dist/cli-bundle/chunks/register-operations-64YZYTC5.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-2W4XIYOB.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-FE3BABLJ.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-IWITF53W.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as en,f as Et,h as kt,i as It,k as Ti,l as Ci,m as rn,n as Oi,o as xi,p as Ai}from"./chunk-5FHTCOHS.js";import{A as Er,D as St,E as Fi,F as $i,G as we,H as _e,I as zi,J as Xe,K as pe,N as Hi,O as Ui,P as Q,g as Mi,i as vr,u as fe,v as br,w as sn,x as me,y as wr,z as be}from"./chunk-OQUGRHKV.js";import{$ as v,$a as le,A as mi,Aa as tn,Ac as ie,Ca as bi,F as Qt,Fa as nn,G as Zt,Ga as wi,H as pr,J as _i,Ja as wt,Ka as yr,La as gr,Ma as Ne,Mc as on,Oa as Ei,Ob as Si,P as ge,Tb as Ri,Ua as ki,V as Re,Vc as Li,W as pi,Wc as Pi,Xb as Di,Yb as Ni,Z as k,_ as Ke,_c as ji,aa as b,eb as Ii,i as Xt,ia as hi,ja as De,ka as hr,la as te,ma as ve,na as X,oa as yi,pb as L,q as Gt,qb as qe,r as di,rb as ne,s as li,sb as T,t as ui,ta as gi,u as fi,ua as vi,y as Yt,z as Jt,zc as ue}from"./chunk-XSS3APUF.js";import{AsyncLocalStorage as Uc}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 kr=new Uc,Bi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function an(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Le(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=an(n.id,128),o=an(n.parent_id,128);if(r===void 0||!Bi.test(r)||o!==void 0&&!Bi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=an(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ge(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=an(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Bc(e,t,n){let r=kr.getStore(),o=Ge({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Le(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={...Ge(r?.provenance),...o,...Ge(e?.provenance)},a=Le(e?.episode,!1)??Le(n,!1)??i??Le(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 Ir(e,t){return Bc(e.session_context,t,e.client_info?.episode)??{}}function Qp(e,t){let n=kr.getStore(),r=Le(e.episode,!0),o=Le(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ge(n?.provenance),...Ge(e.provenance)};return kr.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Zp(e){let t=Ge(e.provenance),n=Le(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 Mr}from"node:async_hooks";import{createHash as Xc}from"node:crypto";import V from"node:fs";import Ji from"node:os";import Me from"node:path";import{createHash as Wi}from"node:crypto";import{existsSync as Sr,promises as Vi,readFileSync as Wc}from"node:fs";import se 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 Vc="session.json";function Tr(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ki(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=Tr(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=>Tr(c,128)),a=t.focused_item_id===void 0||Tr(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Kc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ki(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Cr(e){return se.join(Ei(e),Vc)}async function cn(e){try{let t=await Vi.readFile(Cr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Kc(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 Or(e,t){let n=Cr(e);await Vi.mkdir(se.dirname(n),{recursive:!0}),await X(n,JSON.stringify(t))}function xr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Wi("sha256").update(e).digest("hex").slice(0,24)}`}function Ar(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Rr(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)}+${Wi("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Dr(e,t,n){let r=await cn(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 Or(e,s)}async function sh(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...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 ah(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function ch(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function qc(e,t){let n=t.PM_PATH?.trim();if(n){let o=se.resolve(e,n);if(Sr(se.join(o,"settings.json")))return o;let i=se.join(o,".agents","pm");if(Sr(se.join(i,"settings.json")))return i}let r=se.resolve(e);for(let o=0;o<32;o+=1){let i=se.join(r,".agents","pm");if(Sr(se.join(i,"settings.json")))return i;let s=se.dirname(r);if(s===r)break;r=s}}function qi(e){if(!e.key)return;let t=qc(e.cwd,e.env);if(t)try{let n=JSON.parse(Wc(Cr(t),"utf8"));return Ki(n.semantic_attribution?.[e.key])}catch{return}}async function dh(e){return(await cn(e)).focused_item}async function lh(e,t){let n=await cn(e);await Or(e,{...n,focused_item:t})}async function uh(e){let n={...await cn(e)};delete n.focused_item,await Or(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 Fr=["model","effort","role","topic","version"],un=new Mr,Qi=new Mr,fn=new Mr,$r=[{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:[]}],Zi=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Gc=Object.freeze({...Zi,max_bytes:4194304}),Nr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Yc(e){let t=ke(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"?Gc:Zi,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 es=Object.freeze($r.filter(e=>e.harness!=="ci").map(Yc).sort((e,t)=>e.harness.localeCompare(t.harness))),je=new Map,Ye=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Ee(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function ke(e){let t=e.harness.trim().toLowerCase();if(!Nr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Ee(e.environment_keys),model_environment_keys:Ee(e.model_environment_keys),session_environment_keys:Ee(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),Ee(r)]).filter(([n])=>Nr.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"&&Nr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Ee(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Ee(e.argv_markers).map(n=>n.toLowerCase()),client_names:Ee(e.client_names).map(n=>n.toLowerCase())}}var ts=$r.map(ke);function Jc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function ln(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function zr(e=[]){let t=new Map($r.filter(o=>o.harness!=="ci").map(o=>[o.harness,ke(o)]));for(let{adapter:o}of je.values())t.set(o.harness,ke(o.descriptor));let n=[...t.values(),...ts.filter(o=>o.harness==="ci"),...[...Ye.values()].map(o=>o.descriptor),...fn.getStore()?.descriptors??[],...e.map(ke)],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 Hr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Qc(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 ns(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 Zc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Pe(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Zc.has(n)?n:void 0}function Lr(e,t){return P(e?.[t])?.slice(0,256)}var ed=1048576,jr=4194304,dn=new Map,Xi=Object.freeze({}),Pr=new Map,Gi=Object.freeze({});function Yi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function td(e){let t;try{t=JSON.parse(e)}catch{return Gi}let n=Yi(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=Yi(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function rs(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return hr(t)?"missing":"failed"}}function nd(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=Me.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:rs(i)}})}catch(o){return{status:hr(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 os(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=Me.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Me.join(e.home_dir??Ji.homedir(),".claude","projects"),s=Me.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Me.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=rs(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return nd(i,n)}function rd(e,t,n){let r=os(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=Pr.get(s);if(a)return a[e];let c=Math.min(i.size,ed),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 en,f as Et,h as kt,i as It,k as Ti,l as Ci,m as rn,n as Oi,o as xi,p as Ai}from"./chunk-M36SF4GE.js";import{A as Er,D as St,E as Fi,F as $i,G as we,H as _e,I as zi,J as Xe,K as pe,N as Hi,O as Ui,P as Q,g as Mi,i as vr,u as fe,v as br,w as sn,x as me,y as wr,z as be}from"./chunk-26O2WB73.js";import{$ as v,$a as le,$c as Pi,A as mi,Aa as tn,Ca as bi,Ec as ue,F as Qt,Fa as nn,Fc as ie,G as Zt,Ga as wi,H as pr,J as _i,Ja as wt,Ka as yr,La as gr,Ma as Ne,Oa as Ei,P as ge,Rc as on,Tb as Si,Ua as ki,V as Re,W as pi,Yb as Ri,Z as k,_ as Ke,_c as Li,aa as b,ac as Di,bc as Ni,dd as ji,eb as Ii,i as Xt,ia as hi,ja as De,ka as hr,la as te,ma as ve,na as X,oa as yi,pb as L,q as Gt,qb as qe,r as di,rb as ne,s as li,sb as T,t as ui,ta as gi,u as fi,ua as vi,y as Yt,z as Jt}from"./chunk-TPOL4TWE.js";import{AsyncLocalStorage as Uc}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 kr=new Uc,Bi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function an(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Le(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=an(n.id,128),o=an(n.parent_id,128);if(r===void 0||!Bi.test(r)||o!==void 0&&!Bi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=an(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ge(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=an(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Bc(e,t,n){let r=kr.getStore(),o=Ge({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Le(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={...Ge(r?.provenance),...o,...Ge(e?.provenance)},a=Le(e?.episode,!1)??Le(n,!1)??i??Le(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 Ir(e,t){return Bc(e.session_context,t,e.client_info?.episode)??{}}function Qp(e,t){let n=kr.getStore(),r=Le(e.episode,!0),o=Le(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ge(n?.provenance),...Ge(e.provenance)};return kr.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Zp(e){let t=Ge(e.provenance),n=Le(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 Mr}from"node:async_hooks";import{createHash as Xc}from"node:crypto";import V from"node:fs";import Ji from"node:os";import Me from"node:path";import{createHash as Wi}from"node:crypto";import{existsSync as Sr,promises as Vi,readFileSync as Wc}from"node:fs";import se 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 Vc="session.json";function Tr(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ki(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=Tr(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=>Tr(c,128)),a=t.focused_item_id===void 0||Tr(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Kc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ki(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Cr(e){return se.join(Ei(e),Vc)}async function cn(e){try{let t=await Vi.readFile(Cr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Kc(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 Or(e,t){let n=Cr(e);await Vi.mkdir(se.dirname(n),{recursive:!0}),await X(n,JSON.stringify(t))}function xr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Wi("sha256").update(e).digest("hex").slice(0,24)}`}function Ar(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Rr(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)}+${Wi("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Dr(e,t,n){let r=await cn(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 Or(e,s)}async function sh(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...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 ah(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function ch(e){let t=xr(e.principal);await Dr(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??Rr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Ar([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function qc(e,t){let n=t.PM_PATH?.trim();if(n){let o=se.resolve(e,n);if(Sr(se.join(o,"settings.json")))return o;let i=se.join(o,".agents","pm");if(Sr(se.join(i,"settings.json")))return i}let r=se.resolve(e);for(let o=0;o<32;o+=1){let i=se.join(r,".agents","pm");if(Sr(se.join(i,"settings.json")))return i;let s=se.dirname(r);if(s===r)break;r=s}}function qi(e){if(!e.key)return;let t=qc(e.cwd,e.env);if(t)try{let n=JSON.parse(Wc(Cr(t),"utf8"));return Ki(n.semantic_attribution?.[e.key])}catch{return}}async function dh(e){return(await cn(e)).focused_item}async function lh(e,t){let n=await cn(e);await Or(e,{...n,focused_item:t})}async function uh(e){let n={...await cn(e)};delete n.focused_item,await Or(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 Fr=["model","effort","role","topic","version"],un=new Mr,Qi=new Mr,fn=new Mr,$r=[{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:[]}],Zi=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Gc=Object.freeze({...Zi,max_bytes:4194304}),Nr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Yc(e){let t=ke(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"?Gc:Zi,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 es=Object.freeze($r.filter(e=>e.harness!=="ci").map(Yc).sort((e,t)=>e.harness.localeCompare(t.harness))),je=new Map,Ye=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Ee(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function ke(e){let t=e.harness.trim().toLowerCase();if(!Nr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Ee(e.environment_keys),model_environment_keys:Ee(e.model_environment_keys),session_environment_keys:Ee(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),Ee(r)]).filter(([n])=>Nr.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"&&Nr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Ee(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Ee(e.argv_markers).map(n=>n.toLowerCase()),client_names:Ee(e.client_names).map(n=>n.toLowerCase())}}var ts=$r.map(ke);function Jc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function ln(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function zr(e=[]){let t=new Map($r.filter(o=>o.harness!=="ci").map(o=>[o.harness,ke(o)]));for(let{adapter:o}of je.values())t.set(o.harness,ke(o.descriptor));let n=[...t.values(),...ts.filter(o=>o.harness==="ci"),...[...Ye.values()].map(o=>o.descriptor),...fn.getStore()?.descriptors??[],...e.map(ke)],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 Hr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Qc(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 ns(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 Zc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Pe(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Zc.has(n)?n:void 0}function Lr(e,t){return P(e?.[t])?.slice(0,256)}var ed=1048576,jr=4194304,dn=new Map,Xi=Object.freeze({}),Pr=new Map,Gi=Object.freeze({});function Yi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function td(e){let t;try{t=JSON.parse(e)}catch{return Gi}let n=Yi(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=Yi(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function rs(e){try{return V.lstatSync(e).isFile()?"available":"missing"}catch(t){return hr(t)?"missing":"failed"}}function nd(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=Me.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:rs(i)}})}catch(o){return{status:hr(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 os(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=Me.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=Me.join(e.home_dir??Ji.homedir(),".claude","projects"),s=Me.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&Me.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let u=rs(d);if(u==="available")return{status:u,path:d};if(u==="failed")return{status:u}}return nd(i,n)}function rd(e,t,n){let r=os(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=Pr.get(s);if(a)return a[e];let c=Math.min(i.size,ed),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=td(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let y=Object.freeze(p);return Pr.clear(),Pr.set(s,y),y[e]}finally{V.closeSync(o)}}catch{return}}function od(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=Me.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 id(e){if(e<=jr)return[{offset:0,length:e}];let t=Math.floor(jr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function sd(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 ad(e,t){let n={},r=4096;for(let o of id(t)){let i=Buffer.alloc(o.length);V.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
@@ -174,4 +174,4 @@ ${a.join(`
|
|
|
174
174
|
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 Vn(e){await Ue.rm(ut(e),{force:!0})}import B from"node:fs/promises";import j from"node:path";import{createHash as jf,randomUUID as Na}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 ce=8,La=500,Mf="metadata-derived-index",Ff="metadata-cache.json",$f="metadata-cache-bodies.json",zf="metadata-cache-collections.json",Hf="metadata-cache-delta.json",Uf="metadata-cache-manifest.json",xa=4,Bf=["comments","notes","learnings","files","tests","test_runs","docs"];function Pa(){return en(fe())}function qn(e){let t={...e},n={};for(let r of Bf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function ja(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ma(e,t,n,r){let o=jf("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 Xn(e){return j.join(e,"runtime",Ff)}function Gn(e){return j.join(e,"runtime",$f)}function Yn(e){return j.join(e,"runtime",zf)}function Ao(e){return j.join(e,"runtime",Hf)}function Ro(e){return j.join(e,"runtime",Uf)}function Jn(e,t){let n=j.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Wf=24,Z=new Map,Qn=new WeakMap;function Do(e){return Qn.get(e)??e.source_cursor}function Vf(e,t){let n=Do(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qn.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 Kf(e,t){if(!e)return;let n=Do(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qn.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 qf(e,t){if(!e)return;let n=Do(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Qn.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 Xf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Vf(e,r),Kf(t,r),qf(n,r))}function xo(e,t){Z.size>=Wf&&!Z.has(e)&&Si(Z),Z.set(e,t)}async function Te(e,t){let n;try{n=await B.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&Ft(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 xo(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Gf(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ce||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Xn(e),i=await Te(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await Te(Jn(o,t),r);return s===null&&Ht(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Yf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Gn(e),o=await Te(r,n);return t&&o?.context_fingerprint!==t?await Te(Jn(r,t),n):o}async function Jf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ce||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Yn(e),o=await Te(r,n);return t&&o?.context_fingerprint!==t?await Te(Jn(r,t),n):o}async function No(e){let t=Ao(e),n=await Te(t,r=>{let o=JSON.parse(r);return o.version!==ce||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 Lo(e){let t=Ro(e),n=await Te(t,r=>{let o=JSON.parse(r);return o.version!==ce||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 ft(e)}catch{}return null}async function $t(e,t){await B.mkdir(j.dirname(e),{recursive:!0}),await X(e,JSON.stringify(t));try{let r=await B.stat(e);xo(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=j.dirname(j.dirname(e));if(e===Xn(n)||e===Gn(n)||e===Yn(n)){let r=Jn(e,t.context_fingerprint);await X(r,JSON.stringify(t));try{let c=await B.stat(r);xo(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=j.dirname(e),i=j.extname(e),s=j.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==j.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>j.join(o,c.name));if(a.length>xa){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-xa)))await B.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Qf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Fa(e,t,n){return e===void 0||Qf(e,t,n)}function Ht(e,t){e&&!e.includes(t)&&e.push(t)}function Ft(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Zf(e,t,n){let r=j.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)&&Ht(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function em(e,t){try{let n=await B.stat(j.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 em(e,n))))}function zt(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&&Ft(o,r.mtime_ms,r.ctime_ms,r.size)})}function tm(e){return nn.some(t=>e.toLowerCase().endsWith(t))}function nm(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function rm(e,t,n){if(n)for(let r of await be({path:e,scope:"project"}))Ht(t,r)}function Aa(e,t,n,r){if(e)return t&&n?n.collections:r}async function om(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=gr(e);await rm(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ft(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Ft(u,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&Ft(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:Aa(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=vn(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:A=>Ht(n.warnings,A)}),S=qn(g.metadata);return nm(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:Aa(n.includeCollections,p,m,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function im(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?ja(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};Fa(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function sm(e,t,n,r){try{let o=await om(t,n,r);im(t,n,r,o)}catch{Ht(r.warnings,`item_list_item_read_failed:${e}/${j.basename(t)}`)}}function am(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function cm(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function dm(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function lm(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function um(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!tm(s))continue;let a=j.join(o,s),c=j.relative(t.pmRoot,a);n.push(sm(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function fm(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!zt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await $t(Xn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await $t(Ro(e.pmRoot),{version:ce,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:j.relative(e.pmRoot,r.item_path),metadata:qn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Ca({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Vn(e.pmRoot)}catch{}}async function mm(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 $t(Gn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function _m(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 $t(Yn(e.pmRoot),{version:ce,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Po(e,t,n={}){let r=await Lo(e);return n.required!==!0&&(r===null||r.entry_count<La)?async()=>{}:Q(e,Mf,30,t,!1,!1,3e3)}async function Hv(e,t){let n=await Lo(e);if(n===null)return null;let r=await No(e);if(r.invalid)return await ft(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&&!zt(i,await Kn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ra(e,t){let n=j.relative(e,t);return n===""||n===".."||n.startsWith(`..${j.sep}`)||j.isAbsolute(n)?null:n}async function ft(e){await Promise.all([Xn(e),Gn(e),Yn(e),Ao(e),Ro(e)].map(async t=>{await B.rm(t,{force:!0}),Z.delete(t)})),await Vn(e)}async function pm(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=qn(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 hm(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function jo(e){let t=Ra(e.pmRoot,e.itemPath),n=e.previousItemPath?Ra(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await ft(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ma(e.preferredFormat,e.typeToFolder,e.schema,Pa()),o=await Lo(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await No(e.pmRoot);if(s.invalid)return await ft(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=hm(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 pm({mutation:e});let d=Na();return await $t(Ao(e.pmRoot),{version:ce,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 Oa({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:qn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Vn(e.pmRoot),[]}catch{return await ft(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function ym(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Da(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function gm(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function vm(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=gr(n);if(!o)continue;let i=e.includeCollections?ja(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Fa(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:j.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function bm(e){return e.forceSourceScan||Er()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!zt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Da(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Da(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&gm(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Zn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Pa(),d=Ma(t,n,o,c),u=await No(e);u.invalid&&await ft(e);let f=await Gf(e,d,i.cacheDiagnostics),m=s?await Yf(e,d):null,p=a?await Jf(e,d):null;Xf(f,m,p,u.envelope);let _=am(f,d),y=cm(m,d),g=dm(p,d),S=[...new Set(Object.values(n))],A=await Kn(e,S),D=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??La));if(bm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:A,entryKeys:D,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return vm({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:y,previousCollections:g});let x=await Promise.all(S.map(bt=>Zf(e,bt,r))),K=Er(),W=lm(),J={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:K,previousEntries:_,previousBodies:y,previousCollections:g,state:W};await um(x,J);let q=await Kn(e,S),ee=zt(A,q)?q:{},We=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!zt(f?.directory_signatures,ee)||f===null?Na():f.source_cursor;return await fm({pmRoot:e,contextFingerprint:d,sourceCursor:We,existingCache:f,previousEntries:_,directorySignatures:ee,state:W,minimumIndexedItems:$}),s&&await mm({pmRoot:e,contextFingerprint:d,sourceCursor:We,existingBodyCache:m,previousBodies:y,state:W}),a&&await _m({pmRoot:e,contextFingerprint:d,sourceCursor:We,existingCollectionsCache:p,previousCollections:g,state:W}),ym(W)}async function $a(e,t,n,r,o){return(await Zn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function za(e,t,n,r,o){return(await Zn(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 de(){let e=le();for(let t of fe()?.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 Ut(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function er(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function wm(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=wm(n,t),o=new Set,i=km(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=Im(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 km(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 Im(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 Ha(e){let t=new Map;for(let n of e){let r=Ut(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Sm(e,t,n){let r=Ut(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 Tm(e,t,n,r){let o=Ut(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 Ua(e,t){let n=new Map;for(let[r,o]of e){let i=Sm(r,o,e);i&&n.set(er(i),i);for(let s of o.dependencies??[]){let a=Tm(r,s,e,t);a&&n.set(er(a),a)}}return[...n.values()].sort((r,o)=>er(r).localeCompare(er(o)))}function Gv(e,t=de()){return Ua(Ha(e),t)}function Cm(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 Om(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=Ut(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 tr(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=Ha(e),o=Ua(r,n),i=xm(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:Cm(o,i.parents_by_child,s),divergences:Om(r,o,s)}}function Yv(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 xm(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 Mo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Jv(e,t,n,r,o){let i=Ut(n);if(!i)return;let s=tr(e,r,o),a=tr(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&&Mo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new b(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,v.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&&Mo(f.parent_ids,m.parent_ids)));if(d)throw new b(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,v.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=>Mo(f.item_ids,m.item_ids)));if(u)throw new b(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,v.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 Am="global";function nb(e){let t=e?.trim();if(t)return ie(t)?Am:t}function rb(e,t,n){return Rm(e,t,n)}function Rm(e,t,n){let r=e.trim();return ie(n)||ue(r)?r:Pt(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 _t(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Bt(e){let t=_t(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Wt(e,t,n=!0){let r=_t(e);return n&&(ie(t)||r!==void 0&&ue(r))}function Fo(e,t){return Wt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ba(e,t,n,r){return Wt(e,t)?r.get(e):n.get(e.toLowerCase())}function mt(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function Dm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=_t(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${Fo(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 Nm(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 Dm(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=mt(r.holder_id,o.holder_id);if(i!==0)return i;let s=mt(r.target_id,o.target_id);return s!==0?s:mt(r.kind,o.kind)})}function Lm(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=_t(n.id);if(!i||Fo(i,n.source_kind)!==Fo(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 Pm(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=_t(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=Lm(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=mt(o.holder_id,i.holder_id);if(s!==0)return s;let a=mt(o.target_id,i.target_id);return a!==0?a:mt(o.dependency_kind,i.dependency_kind)})}function $o(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=_t(d);if(!p||r.has(p.toLowerCase())||Wt(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;ie(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 jm(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 Mm(e){let t=new Map;for(let n of e){let r=Bt(n.blocked_by);r&&Wt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Wt(o.id,o.source_kind))continue;let i=Bt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Wa=new WeakMap;function lb(e){return e.hierarchyIntegrity??Wa.get(e)}function Fm(e,t=de()){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 nr(e,t,n){let r=n??de(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=$o(o,t),a=jm(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Mm(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=Bt(_.parent),g=Bt(_.blocked_by),S=(_.dependencies??[]).flatMap(A=>{if(typeof A!="object"||A===null)return[];let D=A,$=Bt(D.id);return $?[{id:Ba($,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:Ba(g,void 0,i,u)}:{},dependencies:S}}),m=tr(o,t,r),p={graph:Ii.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:Nm(o,t),orderingContradictions:Pm(o,t,r),legacyAliasCounts:Fm(o,r),hierarchyIntegrity:m};return Wa.set(p,m),p}import{createHash as $m}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 zm=64,Hm=8;function Um(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 Ka(e,t=r=>r==="closed"||r==="canceled",n=le()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Um(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return $m("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Va(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var zo=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Va("maxResultsPerWorkspace",t.maxResultsPerWorkspace,zm),this.#n=Va("maxWorkspaces",t.maxWorkspaces,Hm)}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()}},qa=new zo;function Xa(){return qa}function pb(){qa.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 Bm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Wm=new TextEncoder;function Ho(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 rr(e){return Math.max(1,Math.ceil(Wm.encode(JSON.stringify(e)).byteLength/4))}function Uo(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 Vm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Uo(i,n,r));return[...new Set(o)].sort()}function Km(e){return Bm.find(t=>e.includes(t))}function qm(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:Uo(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 Xm(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[Uo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Gm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Vm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Km(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=rr(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 Ym(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=rr(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function Ga(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Ho(r.nodeLimit,20,"nodeLimit"),i=Ho(r.edgeLimit,40,"edgeLimit"),s=Ho(r.tokenBudget,1200,"tokenBudget"),a=r.registry??le(),c=new Map(n.map(Ve=>[Ve.id,Ve])),d=c.get(t)??{id:t},{evidence:u=[],...f}=d,m=[...u],p=qm(e,t,a,r),{rootEdges:_,...y}=Xm(e,t,a,r),g=Li("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=ji(p.rows,r.cursor,g,({id:Ve})=>Ve),A=p.rows.slice(S),D=rr(f)+rr(m);if(D>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Gm({candidates:A,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:D}),{nodes:x}=$,K=new Set([t,...x.map(({id:Ve})=>Ve)]),W=Ym({graph:e,included:K,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:J,usedTokens:q}=W,ee=S+x.length,ye=ee<p.rows.length,We=x.at(-1),bt=W.candidateCount-J.length,ci=p.depthTruncated||ye||bt>0,Hc={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:bt,evidenceCount:m.length,hasMore:ye};return{root:f,summary:Hc,nodes:x,edges:J,evidence:m,meta:{exact:!0,truncated:ci,completeness:ci?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:q,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:bt,...ye&&We?{nextCursor:Pi(g,We.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 Wo(e,t){return(t===void 0?void 0:bi(e,t))?.execution_role??vi[e.trim().toLowerCase()]??"agent"}var Vo="blocked_by",Ya="blocks",Jm=Object.freeze([Vo,Ya]),Bo="no-active-blocker";function F(e){return e.trim().toLowerCase()}function or(e,t){return t?`external:${e}`:`local:${F(e)}`}function Vt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Bo){let r=ue(n);t.set(or(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Vo&&o.length>0&&F(o)!==Bo){let i=ue(o)||ie(r.source_kind);t.set(or(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function ir(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(Vt(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===Ya&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Bo)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 Ja(e,t){let n=F(e.id);return n.length>0?ir(t).get(n)??Vt(e):Vt(e)}function Ko(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??Ja(o,[...t.values()]):Vt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Vo&&ie(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>or(a.id.trim(),!0)));return i.map(a=>{if(ue(a)||s.has(or(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:he(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function Qm(e,t,n){return Ko(e,t,n)}function Zm(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=ir(e),o=new Set([...Qa(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=Qe(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||Ko(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function e_(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(Qe(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=Wo(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 Qa(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function t_(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(!he(s.status,n))return!0;r.push(F(s.id))}}}return!1}function n_(e){let t=new Map,n=new Map,r=new Map,o=ir(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 r_(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=n_(t),c=new Set([...Qa(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!he(g.status,n)).map(g=>F(g.id))),u=[],f=[],m=[],p=[],_=[],y=0;for(let g of e){if(!c.has(Qe(g.status,n)))continue;y+=1;let S=Ko(g,o,n,a).filter(x=>!x.resolved),A=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,K)=>x.localeCompare(K)),D={item:g,open_blockers:S,unblocks:A};if(t_(g.id,i,n)){m.push(D);continue}let $=n.blocked_statuses.has(Qe(g.status,n));if(S.length===0&&!$){let x=Wo(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 R(...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 Xo(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 sr(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 o_=C({key:h,values:w(h),required:l(O),aliases:l(w(h)),description:l(h)}),i_=C({command:R("create","update"),option:h,required:l(O),visible:l(O),enabled:l(O)}),s_=C({name:h,description:l(h),default_status:l(h),execution_role:l(R("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(o_)),command_option_policies:l(w(i_))}),a_=C({id:h,aliases:l(w(h)),roles:l(w(R(...di))),description:l(h),order:l(N())}),c_=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(R(...li)),commands:l(w(R(...ui))),repeatable:l(O),required:l(O),required_on_create:l(O),required_types:l(w(h)),allow_unset:l(O)}),d_=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]}},l_=C({type:h,allowed_transitions:w(d_)}),u_=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(a_)),fields:l(w(c_)),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(l_)),unknown_field_policy:l(R(...fi))})),f_=l(C({preset:l(R(...mi)),ownership_enforcement:l(R("none","warn","strict")),create_mode_default:l(R("progressive","strict")),close_validation_default:l(R("off","warn","strict")),require_close_reason:l(O),parent_reference:l(R("warn","strict_error")),metadata_profile:l(R("core","strict","custom")),force_required_for_stale_lock:l(O),create_default_type:l(h),workflow_enforcement:l(R("off","warn","strict")),duplicate_detection_mode:l(R("off","advisory","strict")),duplicate_detection_threshold:l(N({min:0,max:1})),duplicate_detection_limit:l(N({int:!0,min:0,max:20}))})),m_=C({name:h,disabled:l(O),require_trusted:l(O),require_provenance:l(O),sandbox_profile:l(R("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))}),qo=R("block","warn"),__=e=>typeof e=="string"?qo(e):C({global:l(qo),project:l(qo)})(e),p_=l(C({mode:l(R("off","warn","enforce")),trust_mode:l(R("off","warn","enforce")),pm_max_version_exceeded_mode:l(__),require_provenance:l(O),trusted_extensions:l(w(h)),default_sandbox_profile:l(R("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(m_))})),Be=Xo(128),h_=C({harness:Xo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(w(Be,64)),model_environment_keys:l(w(Be,64)),session_environment_keys:l(w(Be,64)),provenance_environment_keys:l(sr(w(Be,64))),provenance_resolvers:l(sr(R("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(w(Be,64)),argv_markers:l(w(Be,64)),client_names:l(w(Be,64))}),y_=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:sr(Xo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:w(h_)})),mutation_guard:l(C({require_attributed_author:l(O),secret_guard:l(R("off","advise","block")),stale_in_progress_hours:l(N({int:!0,positive:!0}))})),item_format:l(R("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:R("toon","json")}),ux:l(C({deprecation_hints:l(O)})),history:l(C({missing_stream:R("auto_create","strict_error"),compact_policy:l(C({enabled:l(O),max_entries:l(N({int:!0,positive:!0})),trigger:l(R("health_warn","auto"))}))})),validation:l(C({sprint_release_format:R("warn","strict_error"),parent_reference:l(R("warn","strict_error")),metadata_profile:l(R("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(sr(N({int:!0,positive:!0})))})),governance:f_,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(R("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(s_)})),schema:u_,context:l(C({default_depth:l(R("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:p_}),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(R("auto","keyword","semantic","hybrid")),corpus_fields:l(w(h)),mutation_refresh_policy:l(R("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 Za(e){let t=y_(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 g_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ec=120;function Go(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function nc(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var v_=nc(g_),tc=new WeakMap;function b_(e){let t=tc.get(e);if(t)return t;let n=nc(e);return tc.set(e,n),n}function Ob(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return ec;if(t){let o=b_(t).get(n);if(Go(o))return Math.floor(o)}let r=v_.get(n);return Go(r)?Math.floor(r):ec}function Yo(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||!Go(r)||(t[o]=Math.floor(r))}return t}import{stat as w_}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 ar=new Map;function rc(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 w_(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Ce(e){let t=rc(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 oc(e){return ar.get(e)}function cr(e,t){let n=rc(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));ar.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Oe(e){if(e){ar.delete(e);return}ar.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 k_="settings:write",dc=Symbol("pm.settings.persist_source"),I_=128,S_=new Set(["off","advisory","strict"]);function ic(e){return structuredClone(pi[e])}function T_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function sc(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 C_(e){return e.preset==="custom"?sc({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):sc({preset:e.preset},e)}function O_(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),S_.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 lr(e){let t=e.governance??{},n=T_(t.preset),r=O_(t);if(n==="custom"){let s=ic("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=ic(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function lc(){return structuredClone(k)}function uc(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function fc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function mc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function _c(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function pc(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function hc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function yc(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function gc(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,I_);return n.length>0?n:k.vector_store.collection_name}function Jo(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function x_(e,t){let n=e.schema,r=Jo(n?.statuses),o=Jo(n?.fields),i=Jo(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:pt(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:pt(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 vc(e,t){Object.defineProperty(e,dc,{value:t,writable:!0,configurable:!0,enumerable:!1})}function bc(e){let t=e[dc];if(!(!t||typeof t!="object"))return t}function dr(e){let t=structuredClone(e.settings),n=bc(e.settings);return n&&vc(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function A_(e,t,n){let r=kt(t);return[n,It(e,r.files.types,Et.types),It(e,r.files.statuses,Et.statuses),It(e,r.files.fields,Et.fields),It(e,r.files.workflows,Et.workflows)]}async function R_(e,t,n){let r=await Ce(t);cr(e,{tracked_paths:t,signatures:r,value:dr(n)})}async function D_(e,t,n){try{await R_(e,t,n)}catch{Oe(e)}}function ac(e,t){return e.find(n=>n.path===t)}function N_(e,t,n){for(let r of n){let o=ac(e,r),i=ac(t,r);if(!o||!i||!Kt([o],[i]))return!1}return!0}async function Qo(e,t,n,r,o){try{let i=await Ce(t);if(!N_(r,i,o)){Oe(e);return}cr(e,{tracked_paths:t,signatures:i,value:dr(n)})}catch{Oe(e)}}function L_(e,t){let n=kt(e.schema),r=pt(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=qe(r,t.runtime_item_type_definitions),s=qe(n.statuses,t.runtime_schema_statuses),a=qe(n.fields,t.runtime_schema_fields),c=qe(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?pt(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 qt(e){return{settings:lc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function P_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function ei(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function wc(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:ei(e?.last_checked_files??t.last_checked_files)}}function oe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function j_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function M_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function Ec(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function F_(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=Ec(e.sandbox_profile));let r=oe(e.allowed_capabilities),o=oe(e.blocked_capabilities),i=oe(e.allowed_surfaces),s=oe(e.blocked_surfaces),a=oe(e.allowed_commands),c=oe(e.blocked_commands),d=oe(e.allowed_actions),u=oe(e.blocked_actions),f=oe(e.allowed_services),m=oe(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 $_(e){let t=new Map;for(let n of e??[]){let r=F_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Zo(e){return e==="block"||e==="warn"?e:void 0}function z_(e){if(typeof e=="string")return Zo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Zo(e.global),n=Zo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function G(e,t){return oe(e?.[t]??k.extensions.policy[t])}function kc(e){let t=z_(e?.pm_max_version_exceeded_mode);return{mode:j_(e?.mode),trust_mode:M_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:G(e,"trusted_extensions"),default_sandbox_profile:Ec(e?.default_sandbox_profile),allowed_extensions:G(e,"allowed_extensions"),blocked_extensions:G(e,"blocked_extensions"),allowed_capabilities:G(e,"allowed_capabilities"),blocked_capabilities:G(e,"blocked_capabilities"),allowed_surfaces:G(e,"allowed_surfaces"),blocked_surfaces:G(e,"blocked_surfaces"),allowed_commands:G(e,"allowed_commands"),blocked_commands:G(e,"blocked_commands"),allowed_actions:G(e,"allowed_actions"),blocked_actions:G(e,"blocked_actions"),allowed_services:G(e,"allowed_services"),blocked_services:G(e,"blocked_services"),extension_overrides:$_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function Ic(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 xe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function z(e,t){return e===void 0?t:e}function Y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function ti(e){return Array.isArray(e)?e:[]}function H_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Ic(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:xe(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:xe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:xe(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:xe(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Yo(e.validation?.estimate_defaults_by_type)}}function U_(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 B_(e,t){return{...t.search,...e.search,default_mode:fc(e.search?.default_mode),mutation_refresh_policy:uc(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:mc(e.search?.query_expansion?.enabled),provider:_c(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:pc(e.search?.rerank?.enabled),model:hc(e.search?.rerank?.model),top_k:yc(e.search?.rerank?.top_k)}}}function W_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:gc(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function V_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function K_(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 q_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function pt(e){let t=(e??[]).map(r=>gi(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 Sc(e){let t=lc(),n=lr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:V_(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:H_(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:U_(e,t),agent_guidance:wc(e.agent_guidance??t.agent_guidance),item_types:{definitions:pt(e.item_types?.definitions)},schema:kt(e.schema??t.schema),context:K_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:kc(e.extensions.policy??t.extensions.policy)},search:B_(e,t),providers:q_(e,t),vector_store:W_(e,t)}}function X_(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=ti(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=ti(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 G_(e){return{...e,locks:z(e.locks,k.locks),ids:z(e.ids,k.ids),agent_identity:z(e.agent_identity,k.agent_identity),mutation_guard:z(e.mutation_guard,k.mutation_guard),checkpoints:z(e.checkpoints,k.checkpoints),output:z(e.output,k.output),ux:z(e.ux,k.ux),history:z(e.history,k.history),validation:z(e.validation,k.validation),workflow:z(e.workflow,k.workflow),testing:z(e.testing,k.testing),telemetry:z(e.telemetry,k.telemetry),agent_guidance:z(e.agent_guidance,k.agent_guidance),item_types:z(e.item_types,k.item_types),schema:z(e.schema,k.schema),context:z(e.context,k.context),extensions:z(e.extensions,k.extensions),search:z(e.search,k.search),providers:z(e.providers,k.providers),vector_store:z(e.vector_store,k.vector_store)}}function Y_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Ic(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:xe(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:xe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:xe(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:xe(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Yo(e.validation?.estimate_defaults_by_type)}}function J_(e){return{...k.search,...e.search,default_mode:fc(e.search?.default_mode),mutation_refresh_policy:uc(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:mc(e.search?.query_expansion?.enabled),provider:_c(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:pc(e.search?.rerank?.enabled),model:hc(e.search?.rerank?.model),top_k:yc(e.search?.rerank?.top_k)}}}function Q_(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 Z_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:gc(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function ep(e,t,n,r){return{...e,item_format:"toon",validation:Y_(e,t),governance:t,agent_guidance:wc(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:J_(e),context:Q_(e),extensions:{enabled:ei(e.extensions?.enabled),disabled:ei(e.extensions?.disabled),policy:kc(e.extensions?.policy)},vector_store:Z_(e)}}function Tc(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(!qe(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:{};Tc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Cc=["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 cc(e,t){let n=G_(e),r=lr(n),o=kt(n.schema),i=L_(n,t),s=ep(n,r,o,i),a=T({...s,governance:C_(r)},Cc);return X_(a),a}function tp(e,t={}){let n=cc(e,t.persist_source);if(t.persist_source){let r=Sc(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=cc(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Tc(i,o,n),`${JSON.stringify(T(i,Cc),null,2)}
|
|
175
175
|
`}return`${JSON.stringify(n,null,2)}
|
|
176
176
|
`}async function Oc(e){let t=wt(e),n=[t];await be({path:t,scope:"project"});let r=oc(e);if(r){let d=await Ce(r.tracked_paths);if(Kt(d,r.signatures))return dr(r.value)}let o=await Ce([t]),i;try{i=await ve(t)}catch{return qt("settings_read_fs_error")}if(i===null){let d=qt();return await Qo(e,[t],d,o,[t]),d}let s=await Ce([t]);if(!Kt(o,s))return Oe(e),Oc(e);let a;try{a=JSON.parse(i)}catch{let d=qt("settings_read_invalid_json");return await Qo(e,[t],d,s,[t]),d}let c=Za(a);if(!c.success){let d=qt("settings_read_invalid_schema");return await Qo(e,[t],d,s,[t]),d}try{let d=Sc(c.data),u=A_(e,d.schema,t);n=u;let f=await Ce(u),m=await Ti(e,d.schema),p=await Ci(e,d.schema),_=await Ce(u),y={...d,item_types:{definitions:pt([...d.item_types.definitions,...ti(p.type_definitions_from_file)])},schema:p.schema};vc(y,x_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:P_(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,_)?cr(e,{tracked_paths:u,signatures:_,value:dr(g)}):Oe(e):Oe(e),g}catch{let d=qt("settings_read_merge_failed");return await D_(e,n,d),d}}async function xc(e){return(await Oc(e)).settings}async function Wb(e,t,n=k_){let r=wt(e),o=tp(t,{persist_source:bc(t)});try{await ga({pmRoot:e,filePath:r,raw:o,op:n,author:ds(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await me({path:r,scope:"project",op:n})}finally{Oe(e)}}import np from"node:fs/promises";import rp 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 op(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function ip(e,t){return new b(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,v.NOT_FOUND)}async function sp(e,t){return await hi(rp.dirname(e)),await(await np.open(e,"a")).close(),me({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ni(e){return ap({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function ap(e){let t=op(e.itemIds),n=[],r=[];for(let o of t){let i=Ne(e.pmRoot,o);if(!await De(i)){if(e.settings.history.missing_stream==="strict_error")throw ip(o,e.commandLabel);r.push(...await sp(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import oi from"node:fs/promises";import ur 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 Ae(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function ii(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 fr(e){return new b(`Tracker root is not a directory at ${e}.`,v.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 ri(e){return new b(`Tracker root is not readable at ${e}.`,v.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 cp(e){let t=ur.resolve(e),n=ur.parse(t).root,r=ur.dirname(t);for(;r!==n;){let o;try{o=await oi.stat(r)}catch(i){if(Ae(i,"ENOTDIR"))throw fr(e);if(!Ae(i,"ENOENT"))throw i;r=ur.dirname(r);continue}if(!o.isDirectory())throw fr(e);return}}async function ht(e){let t;try{t=await oi.stat(e)}catch(n){throw Ae(n,"ENOENT")?(await cp(e),new b(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,v.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:ii(e)})):Ae(n,"ENOTDIR")?fr(e):Ae(n,"EACCES")||Ae(n,"EPERM")?ri(e):n}if(!t.isDirectory())throw fr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw ri(e);try{await(await oi.opendir(e)).close()}catch(n){throw Ae(n,"EACCES")||Ae(n,"EPERM")?ri(e):n}}async function si(e){if(await ht(e),!await De(wt(e)))throw new b(`Tracker is not initialized at ${e}. Run pm init first.`,v.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:ii(e)})}import yt from"node:fs/promises";import dp from"node:path";import{isUtf8 as lp}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]="abd6941f-b4cc-50e4-a64e-d0720d73cdba")}catch{}})();async function up(e){try{return await yt.access(e),!0}catch{return!1}}function fp(e,t){e&&(e.includes(t)||e.push(t))}function Ac(e){return e??en(fe())}function mp(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function mr(e,t,n="pm-",r,o=Re){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Pt(t,n),c=Oo(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=mp(r);for(let m of d)for(let[p]of u)for(let _ of f){let y=yr(e,p,m,_,o);if(await up(y))return{id:m,type:p,itemPath:y,item_format:_}}return null}async function _r(e,t={}){let n=await _p(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function _p(e,t={}){let n=await yt.readFile(e.itemPath);if(!lp(n))throw new b("Item contains invalid UTF-8; preserve a binary backup before recovering it.",v.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 be({path:e.itemPath,scope:"project"});let o;try{o=vn(r,{format:e.item_format,schema:t.schema,extensionFieldNames:Ac(t.extensionFieldNames),onWarning:i=>fp(t.warnings,i)})}catch(i){if(i instanceof b&&i.code==="item_document_invalid")return{raw:r,document:null,error:new b(`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 pp(e,t,n=Re,r,o){await ht(e);let i=await $a(e,t,n,r,o);return $n(i.length),i.map(s=>s.metadata)}async function Rc(e,t,n=Re,r,o){await ht(e);let i=await za(e,t,n,r,o);return $n(i.length),i.map(s=>s.metadata)}async function Aw(e,t,n=Re,r,o,i={}){await ht(e);let s=await Zn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return $n(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Dc(e){return{async get(t){let n=await mr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await _r(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>pp(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function hp(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await yt.readdir(dp.join(e,o));for(let s of i)for(let a of nn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function yp(e,t,n,r){let o=Pt(t,n),i=await hp(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Xt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function gp(e,t,n,r){let o=await yp(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new b(`Item ${t} not found`,v.NOT_FOUND,{nextSteps:i})}function vp(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 Nc(e){let t=e.typeToFolder??tn(e.settings,fe()).type_to_folder,n=await mr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await gp(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 _r(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=cs(e.author),u=lr(e.settings);if(a&&c!==d&&!e.force&&!vp(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new b(`Item ${n.id} is assigned to ${a}. Use --force to override.`,v.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 bp(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 wp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await X(e.originalItemPath,e.originalRaw),await yt.rm(e.effectiveTargetItemPath,{force:!0});return}await X(e.originalItemPath,e.originalRaw)}}async function Lc(e){let t=await Nc({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=re(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=re(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=we();let m=re(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await So({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await wr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Dc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Ss(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=yr(e.pmRoot,m.metadata.type,r.id,y,n),A=Ne(e.pmRoot,r.id),D=await St("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:A,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:K}=bp(D,S,g),W=await Po(e.pmRoot,e.author),J=[];try{K||await X($,x),!K&&$!==r.itemPath&&await yt.rm(r.itemPath);let ee=at({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 ct(A,ee)}catch(ye){throw await wp({skipItemWrite:K,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),ye}K||(J=await jo({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let q=[...await me({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 me({path:A,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 br({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:sn(c.metadata,u.changedFields),current:sn(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,...q]}}finally{await a()}}async function Rw(e){return Lc(e)}async function Dw(e){return Lc(e)}async function Nw(e){let t=await Nc({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=Ac(void 0),c=re(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await So({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await wr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Dc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let u=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=we(),m=Ke,p=at({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}}),_=Ne(e.pmRoot,n.id),y=await St("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 A=await Po(e.pmRoot,e.author),D=[];try{S||await yt.rm(g);try{await ct(_,p)}catch(x){throw S||await X(g,r),x}S||(D=await jo({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await A()}let $=[...await me({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await me({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return br({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:sn(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 Ep(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:Xt(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 Pc(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function zw(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:Ep(r,o),u=Pc([...i,r,...s]),f=e.retry_command??(d?Pc([...i,d,...s]):void 0);return new b(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??v.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 kp=["tree","graph","context"],Ip=["none","repeated"],Sp=["outgoing","incoming","both"],Tp=32,Cp=200,Op=400,xp=16e3;function Ap(e){let t=e?.trim().toLowerCase()??"tree";if(kp.includes(t))return t;throw new b(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,v.USAGE)}function gt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new b(`Invalid --${t} value "${e}". Use a positive integer.`,v.USAGE);return n}function Mc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new b(`Invalid --max-depth value "${e}". Use a non-negative integer.`,v.USAGE);return t}function Rp(e){let t=e?.trim().toLowerCase()??"none";if(Ip.includes(t))return t;throw new b(`Invalid --collapse value "${e}". Use "none" or "repeated".`,v.USAGE)}function Dp(e){let t=e?.trim().toLowerCase()??"both";if(Sp.includes(t))return t;throw new b(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,v.USAGE)}function Np(e,t=le()){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 b(`Invalid --kind value "${o}". Registered kinds: ${s}.`,v.USAGE)}r.add(i.kind)}return[...r].sort()}function Lp(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 Pp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:Lp(e.dependencies)}}function jp(e){return on(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function Mp(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(Fc(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Fp(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 Fc(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+=jp(f),Fp(f,u,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),Mp(f,u,t,m,r,o,i,s,a),f}function jc(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 $p(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,jc(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,jc(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 $c(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 zp(e,t=le()){let n=Mc(e.maxDepth),r=gt(e.nodeLimit,"node-limit"),o=gt(e.edgeLimit,"edge-limit"),i=gt(e.tokenBudget,"token-budget"),s=Np(e.kind,t);return{direction:Dp(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 Hp(e,t,n,r){return Ga(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function ai(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Up(e,t,n,r){let o=await mr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await _r(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 ai(f,"file",a.map(m=>m.path),3),ai(f,"test",c.map(m=>m.command??m.path),2),ai(f,"doc",d.map(m=>m.path),2),f}function Bp(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 Wp(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 zc(e,t,n){let r;for(;;){let o=on(new TextEncoder().encode(mo(vr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Vp(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Kp(e){try{return Hp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Vp(t))return e.smallestResult;throw t}}function qp(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 _=Kp({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=Bp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:u,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=zc(vt(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(u>0){u-=1;continue}let S=f,A=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(A*.9)))}}function Xp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=zp(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=>Wp({row:y,missingReachableSet:u,packetIds:p,filteredKinds:m,registry:f}));return qp({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Gp(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 Yp(e,t,n,r,o,i,s){let a=o??Tp,c=gt(n.nodeLimit,"node-limit")??Cp,d=gt(n.edgeLimit,"edge-limit")??Op,u=gt(n.tokenBudget,"token-budget")??xp,f={nodeLimit:c,edgeLimit:d,tokenBudget:u,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Fc(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=$c(e,r,void 0),_;for(;;){let y=$p(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?on(new TextEncoder().encode(mo(vr("deps",vt(_,!1)),s)).byteLength):zc(vt(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=u)return _;if(!Gp(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function vt(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 iE(e,t,n){let r=wi(process.cwd(),n.path);await si(r);let o=Ap(t.format),i=Mc(t.maxDepth),s=Rp(t.collapse);Mi(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await xc(r),d=tn(c,fe()),u=await Rc(r,c.item_format,d.type_to_folder,void 0,c.schema),f=rn(c.schema),m=new Map(u.map(_=>[_.id.trim().toLowerCase(),Pp(_)])),p=$o(u,_=>he(_,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 b(`Item ${e} not found`,v.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Up(r,_,c,d.type_to_folder),g=D=>he(D,f),S=de(),A=Xa().lookup(r,Ka(u,g,S),()=>nr(u,g,S));return vt(Xp({assembly:A.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,A.assembly.legacyAliasCounts)}return a?vt({id:e,format:o,...$c(e,m,i)},!0,Object.fromEntries(Object.entries(nr(u,_=>he(_,f)).legacyAliasCounts))):vt(Yp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(nr(u,_=>he(_,f)).legacyAliasCounts)))}export{Ru as a,Le as b,Ir as c,Qp as d,Zp as e,cn as f,xr as g,sh as h,ah as i,ch as j,dh as k,lh as l,uh as m,Fr as n,$r as o,es as p,wh as q,Eh as r,kh as s,Ih as t,Sh as u,Th as v,Br as w,is as x,Ch as y,Oh as z,xh as A,bd as B,cs as C,ds as D,_s as E,Tt as F,Uh as G,Bh as H,Je as I,ls as J,Rh as K,us as L,wd as M,Dh as N,mn as O,Qe as P,he as Q,pn as R,gn as S,vn as T,Ss as U,re as V,ql as W,nt as X,rt as Y,_u as Z,xy as _,Ay as $,Ry as aa,eg as ba,$u as ca,Rn as da,ze as ea,Nt as fa,Eg as ga,go as ha,Ln as ia,na as ja,kg as ka,ia as la,Ig as ma,at as na,ct as oa,Ts as pa,nf as qa,Pn as ra,Ng as sa,bo as ta,jn as ua,Lg as va,Pg as wa,la as xa,Mn as ya,ma as za,dt as Aa,uf as Ba,jg as Ca,Mg as Da,Lt as Ea,Eo as Fa,Yg as Ga,Jg as Ha,ha as Ia,Qg as Ja,ga as Ka,Ob as La,lr as Ma,Oc as Na,xc as Oa,Wb as Pa,yf as Qa,vf as Ra,bf as Sa,wf as Ta,Ef as Ua,So as Va,mv as Wa,ni as Xa,ap as Ya,Ea as Za,Oo as _a,Pt as $a,bv as ab,Tv as bb,Cv as cb,Ov as db,La as eb,Bf as fb,Po as gb,Hv as hb,jo as ib,Zn as jb,ht as kb,si as lb,mr as mb,_r as nb,_p as ob,pp as pb,Rc as qb,Aw as rb,Dc as sb,gp as tb,Rw as ub,Dw as vb,Nw as wb,zw as xb,nb as yb,rb as zb,Rm as Ab,de as Bb,Gv as Cb,tr as Db,Yv as Eb,xm as Fb,Jv as Gb,Bt as Hb,Nm as Ib,Pm as Jb,$o as Kb,jm as Lb,lb as Mb,nr as Nb,Ka as Ob,zo as Pb,Xa as Qb,pb as Rb,Ga as Sb,gt as Tb,Mc as Ub,Dp as Vb,Np as Wb,iE as Xb,Wo as Yb,Jm as Zb,Vt as _b,ir as $b,Ja as ac,Qm as bc,Zm as cc,e_ as dc,r_ as ec};
|
|
177
|
-
//# sourceMappingURL=chunk-
|
|
177
|
+
//# sourceMappingURL=chunk-OROZM37I.js.map
|