@unbrained/pm-cli 2026.8.28 → 2026.8.30
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 +30 -0
- package/dist/cli-bundle/bundle-manifest.json +125 -125
- package/dist/cli-bundle/chunks/{chunk-E73FDIWT.js → chunk-2MKLQL2E.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-NTXZHRKA.js → chunk-2UETTHY6.js} +46 -46
- package/dist/cli-bundle/chunks/{chunk-FEVBFFCQ.js → chunk-3TEF3HM5.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-BY2FQ2NI.js → chunk-7SKMLSMX.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-7X6OZEIV.js +34 -0
- package/dist/cli-bundle/chunks/{chunk-M7OXRQE3.js → chunk-CMIEDWAY.js} +50 -50
- package/dist/cli-bundle/chunks/{chunk-XWEQGHHG.js → chunk-GNWPTEBW.js} +64 -61
- package/dist/cli-bundle/chunks/{chunk-X2RROGZE.js → chunk-MTTKAUBX.js} +2 -2
- package/dist/cli-bundle/chunks/chunk-N6OR6FAR.js +13 -0
- package/dist/cli-bundle/chunks/{chunk-NBCBFVZI.js → chunk-TGNAA66W.js} +2 -2
- package/dist/cli-bundle/chunks/{chunk-QE6WQXFO.js → chunk-WS2GJQVG.js} +2 -2
- package/dist/cli-bundle/chunks/{register-list-query-J35ZPQQ5.js → register-list-query-OMKJ5ONN.js} +2 -2
- package/dist/cli-bundle/chunks/{register-mutation-J6XJJOGU.js → register-mutation-QBSNCOY3.js} +2 -2
- package/dist/cli-bundle/chunks/{register-operations-AE3JEMFT.js → register-operations-UC77FQZC.js} +2 -2
- package/dist/cli-bundle/chunks/{register-setup-OQERLLWE.js → register-setup-GLQ5SYV3.js} +2 -2
- package/dist/cli-bundle/focused-chunks/{chunk-HC7ODMH3.js → chunk-3AVAWVZA.js} +2 -2
- package/dist/cli-bundle/focused-chunks/chunk-3UMBF26I.js +158 -0
- package/dist/cli-bundle/focused-chunks/{chunk-YVVZ3LQ6.js → chunk-73EDXGYE.js} +16 -15
- package/dist/cli-bundle/focused-chunks/chunk-AXZ5AJAF.js +50 -0
- package/dist/cli-bundle/focused-chunks/{chunk-AHAM2HAU.js → chunk-G6PATS5E.js} +3 -3
- package/dist/cli-bundle/focused-chunks/chunk-RKOKG43G.js +2 -0
- package/dist/cli-bundle/focused-chunks/chunk-TDK3OCX3.js +2 -0
- package/dist/cli-bundle/focused-chunks/{chunk-FC2AXLB5.js → chunk-XXOWRJZ5.js} +2 -2
- package/dist/cli-bundle/main.js +2 -2
- package/dist/cli-bundle/sdk-contracts.js +1 -1
- package/dist/cli-bundle/sdk-core.js +31 -32
- 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 +34 -32
- package/dist/cli-bundle/sdk-query.js +1 -1
- package/dist/cli-bundle/sdk-runtime.js +1 -1
- package/dist/cli-bundle/sdk-testing.js +1 -1
- package/dist/cli-bundle/sdk.js +8 -8
- package/dist/core/diagnostics/remediation.js +16 -6
- package/dist/core/history/drift-scan.d.ts +2 -0
- package/dist/core/history/drift-scan.js +72 -36
- package/dist/core/history/history.d.ts +3 -3
- package/dist/core/history/history.js +5 -5
- package/dist/core/history/replay.d.ts +1 -1
- package/dist/core/history/replay.js +50 -19
- package/dist/core/item/actionability.d.ts +7 -1
- package/dist/core/item/actionability.js +44 -11
- package/dist/core/item/dependency-reference.d.ts +10 -0
- package/dist/core/item/dependency-reference.js +21 -0
- package/dist/core/item/parse.d.ts +4 -0
- package/dist/core/item/parse.js +38 -16
- package/dist/core/shared/author.js +69 -17
- package/dist/sdk/dependency-provenance.d.ts +51 -2
- package/dist/sdk/dependency-provenance.js +91 -7
- package/dist/sdk/extension/install-sources.d.ts +1 -7
- package/dist/sdk/extension/install-sources.js +94 -33
- package/dist/sdk/generated/generated-error-code-catalog-part-1.js +50 -14
- package/dist/sdk/generated/generated-error-code-catalog-part-2.js +62 -26
- package/dist/sdk/governance/health.js +86 -22
- package/dist/sdk/governance/validate-history-drift.js +5 -2
- package/dist/sdk/graph/assembly.js +51 -22
- package/dist/sdk/history-repair.d.ts +1 -1
- package/dist/sdk/history-repair.js +20 -10
- package/dist/sdk/lifecycle/create.js +43 -19
- package/dist/sdk/linked-artifacts.js +21 -31
- package/dist/sdk/merge/reconcile.js +3 -16
- package/dist/sdk/query/next.d.ts +6 -0
- package/dist/sdk/query/next.js +7 -2
- package/dist/sdk/test/entry.d.ts +1 -1
- package/dist/sdk/test/entry.js +5 -9
- package/dist/sdk/test/execution.d.ts +3 -0
- package/dist/sdk/test/execution.js +54 -13
- package/docs/CONTEXT_RECOVERY_PRIMITIVES.md +67 -0
- package/docs/MERGE_SAFETY.md +23 -10
- package/docs/README.md +1 -0
- package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +10 -4
- package/marketplace.json +2 -2
- package/package.json +8 -8
- package/packages/pm-beads/package.json +1 -1
- package/packages/pm-calendar/package.json +1 -1
- package/packages/pm-command-kit/package.json +1 -1
- package/packages/pm-digital-twin/package.json +1 -1
- package/packages/pm-governance-audit/package.json +1 -1
- package/packages/pm-guide-shell/package.json +1 -1
- package/packages/pm-kanban/package.json +1 -1
- package/packages/pm-lifecycle-hooks/package.json +1 -1
- package/packages/pm-linked-test-adapters/package.json +1 -1
- package/packages/pm-search-advanced/package.json +1 -1
- package/packages/pm-templates/package.json +1 -1
- package/packages/pm-todos/package.json +1 -1
- package/packages/pm-vcs/package.json +1 -1
- package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
- package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
- package/sdk/public-surface.json +100 -11
- package/dist/cli-bundle/chunks/chunk-TIQ6AMH2.js +0 -13
- package/dist/cli-bundle/chunks/chunk-XRVVYRRO.js +0 -35
- package/dist/cli-bundle/focused-chunks/chunk-4ZDRZYYJ.js +0 -50
- package/dist/cli-bundle/focused-chunks/chunk-XDPYBQCF.js +0 -156
- package/dist/cli-bundle/focused-chunks/chunk-Y5A7SJJ7.js +0 -2
- package/dist/cli-bundle/focused-chunks/chunk-YJLDHJOD.js +0 -2
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import{$ as Ao,Aa as Fo,B as Io,Ba as $o,H as xo,Ka as $t,M as Ft,Ma as ct,Oa as dt,Pa as lt,Q as st,R as Un,Ra as zo,S as Wn,Sa as Ho,T as at,Ta as Uo,U as Co,Ua as Wo,V as To,Va as Vo,Wa as Bo,_ as Oo,a as Rt,fa as Ro,h as jt,ka as No,q as So,r as Pe,t as Se,u as le,v as W,va as Do,w as it,wa as Mo,xa as Lo,ya as Po,za as jo}from"./chunk-AD6ULRAF.js";import{C as Lt,D as Pt,E as Hn,G as vo,L as de,S as ke,T as ko,W as w,X as Le,Y as k,Z as x,aa as L,ba as je,ca as Ie,da as S,n as Nt,o as ho,p as go,q as bo,r as wo,v as Dt,w as Mt,x as Eo}from"./chunk-Z2USIBR2.js";import{AsyncLocalStorage as Oa}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]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var Vn=new Oa,qo=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function zt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function xe(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=zt(n.id,128),o=zt(n.parent_id,128);if(r===void 0||!qo.test(r)||o!==void 0&&!qo.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=zt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Fe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=zt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Aa(e,t,n){let r=Vn.getStore(),o=Fe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=xe(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={...Fe(r?.provenance),...o,...Fe(e?.provenance)},a=xe(e?.episode,!1)??xe(n,!1)??i??xe(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 Bn(e,t){return Aa(e.session_context,t,e.client_info?.episode)??{}}function r_(e,t){let n=Vn.getStore(),r=xe(e.episode,!0),o=xe(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Fe(n?.provenance),...Fe(e.provenance)};return Vn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function o_(e){let t=Fe(e.provenance),n=xe(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 rr}from"node:async_hooks";import{createHash as La}from"node:crypto";import ee from"node:fs";import Qo from"node:os";import Wt from"node:path";import{createHash as Go}from"node:crypto";import{existsSync as qn,promises as Xo,readFileSync as Ra}from"node:fs";import Y 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]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var Na="session.json";function Gn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Ko(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=Gn(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=>Gn(c,128)),a=t.focused_item_id===void 0||Gn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Da(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Ko(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Xn(e){return Y.join(To(e),Na)}async function Ht(e){try{let t=await Xo.readFile(Xn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Da(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 Kn(e,t){let n=Xn(e);await Xo.mkdir(Y.dirname(n),{recursive:!0}),await W(n,JSON.stringify(t))}function Jn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Go("sha256").update(e).digest("hex").slice(0,24)}`}function Yn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Qn(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)}+${Go("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Zn(e,t,n){let r=await Ht(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 Kn(e,s)}async function u_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...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 f_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function m_(e){let t=Jn(e.principal);await Zn(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??Qn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Yn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Ma(e,t){let n=t.PM_PATH?.trim();if(n){let o=Y.resolve(e,n);if(qn(Y.join(o,"settings.json")))return o;let i=Y.join(o,".agents","pm");if(qn(Y.join(i,"settings.json")))return i}let r=Y.resolve(e);for(let o=0;o<32;o+=1){let i=Y.join(r,".agents","pm");if(qn(Y.join(i,"settings.json")))return i;let s=Y.dirname(r);if(s===r)break;r=s}}function Jo(e){if(!e.key)return;let t=Ma(e.cwd,e.env);if(t)try{let n=JSON.parse(Ra(Xn(t),"utf8"));return Ko(n.semantic_attribution?.[e.key])}catch{return}}async function __(e){return(await Ht(e)).focused_item}async function p_(e,t){let n=await Ht(e);await Kn(e,{...n,focused_item:t})}async function y_(e){let n={...await Ht(e)};delete n.focused_item,await Kn(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]="8d89d381-5c6e-5f96-ba03-298fc6db9bba")}catch{}})();var or=["model","effort","role","topic","version"],Bt=new rr,Zo=new rr,qt=new rr,ir=[{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:[]}],ei=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Pa=Object.freeze({...ei,max_bytes:4194304}),er=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function ja(e){let t=fe(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"?Pa:ei,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 ti=Object.freeze(ir.filter(e=>e.harness!=="ci").map(ja).sort((e,t)=>e.harness.localeCompare(t.harness))),Te=new Map,$e=new Map;function N(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function ue(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function fe(e){let t=e.harness.trim().toLowerCase();if(!er.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:ue(e.environment_keys),model_environment_keys:ue(e.model_environment_keys),session_environment_keys:ue(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),ue(r)]).filter(([n])=>er.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"&&er.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:ue(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:ue(e.argv_markers).map(n=>n.toLowerCase()),client_names:ue(e.client_names).map(n=>n.toLowerCase())}}var ni=ir.map(fe);function Fa(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Vt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function sr(e=[]){let t=new Map(ir.filter(o=>o.harness!=="ci").map(o=>[o.harness,fe(o)]));for(let{adapter:o}of Te.values())t.set(o.harness,fe(o.descriptor));let n=[...t.values(),...ni.filter(o=>o.harness==="ci"),...[...$e.values()].map(o=>o.descriptor),...qt.getStore()?.descriptors??[],...e.map(fe)],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 ar(e,t){for(let n of t??[]){let r=N(e[n]);if(r)return r.slice(0,256)}}function $a(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 ri(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 N(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return N(i.slice(s.length+1))?.slice(0,256)}}var za=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ce(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return za.has(n)?n:void 0}function tr(e,t){return N(e?.[t])?.slice(0,256)}var Ha=1048576,nr=4194304,Ut=new Map,Yo=Object.freeze({});function Ua(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return N(i)?.slice(0,256)}function Wa(e,t,n){let r=N(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=Wt.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=Wt.join(t.home_dir??Qo.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=ee.openSync(s,"r");try{let c=ee.fstatSync(a).size,d=Math.min(c,Ha),u=Buffer.alloc(d);ee.readSync(a,u,0,d,Math.max(0,c-d));let f=u.toString("utf8").split(`
|
|
2
|
-
`).reverse().slice(0,4096);for(let m of f){if(m.length===0||m.length>262144)continue;let y=Ua(m,e);if(y)return y}}finally{ee.closeSync(a)}}catch{return}}function Va(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=ee.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=Wt.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 Ba(e){if(e<=nr)return[{offset:0,length:e}];let t=Math.floor(nr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function qa(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??=N(o?.model)?.slice(0,256),e.effort??=N(o?.effort)?.slice(0,256)}function Ga(e,t){let n={},r=4096;for(let o of Ba(t)){let i=Buffer.alloc(o.length);ee.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
3
|
-
`).reverse().slice(0,r);r-=s.length;for(let a of s)if(qa(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function Xa(e,t,n){let r=N(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=Wt.join(t.home_dir??Qo.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=Ut.get(i);if(s)return s[e];let a=Va(o,r);if(!a){Ut.set(i,Yo);return}try{let c=ee.openSync(a,"r");try{let d=ee.fstatSync(c).size,u=Ga(c,d);return Ut.set(i,u),u[e]}finally{ee.closeSync(c)}}catch{Ut.set(i,Yo);return}}function Ka(e,t,n,r){let o=qt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(N(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Wa(e,t,n);if(s==="codex_session_file")return Xa(e,t,n);if(s==="ai_agent_version"){let a=N(n.AI_AGENT);return!a||!r||!Vt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function Ja(e,t,n){if(e==="ai_agent_version"){let r=N(n.AI_AGENT);return r!==void 0&&Vt(r,t.harness)}return e==="codex_session_file"?N(n.CODEX_THREAD_ID)!==void 0:N(n.CLAUDE_CODE_SESSION_ID)!==void 0}function cr(e){return e||(Zo.getStore()??{env:process.env,argv:process.argv})}function Ya(e,t,n,r){let o=e.environment_keys.some(a=>N(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return Vt(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Vt(r,a));return o||i||s}function Qa(e,t){if(!t)return;let n;if(e==="topic"&&(n=t.topic),e==="role"&&(n=t.role),!!n)return{value:n,source:"inferred",confidence:t.confidence,rule_version:t.rule_version,evidence:t.evidence}}function Za(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ec(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...or,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=Ce(e,N(n[s])?.slice(0,256)),u=Ce(e,ri(t.argv??[],e)),d=Ce(e,$a(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},y=tr(o?.provenance,e),_=Ce(e,ar(n,f[e])),b=Ce(e,tr(m,e)),v=Ce(e,tr(t.provenance,e)),O=Ka(e,t,n,r);return Za([[c,"override"],[y,"session"],[u,"argv"],[_,"environment"],[b,"mcp_client"],[v,"host"],[O,"probe"]])??Qa(e,i)??(d?{value:d,source:"argv"}:void 0)}function tc(e,t){if(!(!e||!t))return La("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function nc(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...or,...i,...Object.keys(n?.provenance_resolvers??{}),...Object.keys(e.provenance??{}),...Object.keys(e.client_info?.provenance??{}),...Object.keys(r?.provenance??{})]),a={};for(let c of s){let d=ec(c,e,t,n,r,o);d?a[c]=d:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function I_(e){let t=e.map(fe),n=new Map(ni.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness)||n.has(i.harness))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);let s=$e.get(i.harness);if(s&&!Fa(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=$e.get(i.harness);$e.set(i.harness,{descriptor:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=$e.get(i.harness);!s||s.registrations<=1?$e.delete(i.harness):s.registrations-=1}}}}function rc(e){let t=fe(e.descriptor),n=e.harness.trim().toLowerCase();if(e.contract_version!==1)throw new Error(`Unsupported provenance adapter contract for "${n}": ${e.contract_version}`);if(t.harness!==n)throw new Error(`Provenance adapter harness "${n}" does not match descriptor "${t.harness}".`);let r=N(e.adapter_version)?.slice(0,64);if(!r)throw new Error(`Provenance adapter "${n}" requires a version.`);if(!Number.isSafeInteger(e.priority))throw new Error(`Provenance adapter "${n}" requires an integer priority.`);if(e.probe_policy.network_access!==!1||e.probe_policy.subprocess_access!==!1||e.probe_policy.max_bytes>nr||e.probe_policy.max_lines>4096)throw new Error(`Provenance adapter "${n}" exceeds the bounded local probe policy.`);return Object.freeze({...e,adapter_version:r,harness:n,descriptor:t,supported_dimensions:Object.freeze(ue(e.supported_dimensions).map(o=>o.toLowerCase()).sort()),native_sources:Object.freeze([...new Set(e.native_sources)]),probe_policy:Object.freeze({...e.probe_policy}),normalization:Object.freeze({...e.normalization}),...e.waivers?{waivers:Object.freeze(Object.fromEntries(Object.entries(e.waivers).slice(0,32).map(([o,i])=>[o.slice(0,64),i.slice(0,256)])))}:{}})}function x_(){let e=new Map(ti.map(t=>[t.harness,t]));for(let{adapter:t}of Te.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function C_(e){let t=e.map(rc),n=new Map(ti.map(i=>[i.harness,i])),r=new Set;for(let i of t){if(r.has(i.harness))throw new Error(`Provenance adapter collision for "${i.harness}".`);let s=n.get(i.harness);if(s&&i.priority<=s.priority)throw new Error(`Provenance adapter override for "${i.harness}" requires priority greater than ${s.priority}.`);let a=Te.get(i.harness);if(a&&JSON.stringify(a.adapter)!==JSON.stringify(i))throw new Error(`Provenance adapter collision for "${i.harness}".`);r.add(i.harness)}for(let i of t){let s=Te.get(i.harness);Te.set(i.harness,{adapter:i,registrations:(s?.registrations??0)+1})}let o=!0;return()=>{if(o){o=!1;for(let i of t){let s=Te.get(i.harness);!s||s.registrations<=1?Te.delete(i.harness):s.registrations-=1}}}}function T_(e,t){let n=t.trim().slice(0,256),r=n.toLowerCase();if(e==="model"){let o=/^(gpt-\d+(?:\.\d+)?)/u.exec(r)?.[1];o&&(r=o)}else r=r.replaceAll(/[_\s-]+/gu,""),r={minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max",ultra:"ultra"}[r]??r;return{raw:n,normalized:r,vocabulary:"v1"}}function O_(e,t){return Zo.run(e,t)}function A_(e,t,n={}){let r=e.map(fe);return sr(r),qt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function dr(e){let t=cr(e),n=t.env??{},r=sr(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(_=>_.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(_=>Ya(_,n,o,i)),a=Bn(t,n),c=[ar(n,s?.session_environment_keys),N(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=tc(s?.harness,c),u=Jo({cwd:t.cwd??process.cwd(),env:n,key:d}),f=nc(t,n,s,a,u),m=f.model,y=[["harness",s?.harness],["model",m?.value],["model_source",m?.source],["session",c],["instance",d],["provenance",Object.keys(f).length>0?f:void 0],["episode",a.episode]];return Object.fromEntries(y.filter(_=>_[1]!==void 0))}function oc(e,t,n,r,o,i){let s=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...s?{resolver:s}:{},rule_version:"v1"};if(i)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(s){let a=Ja(s,n,r);return{status:a&&o?"failed":"unavailable",reason:a?o?"resolver_failed":"probes_disabled":"harness_unavailable",resolver:s,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function oi(e){let t=cr(e),n=dr(t),r=sr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&qt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(N(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Bn(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,ar(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ri(t.argv??[],"role")].some(d=>{let u=N(d)?.slice(0,256);return u!==void 0&&Ce("role",u)===void 0}),c=Object.fromEntries(or.map(d=>[d,oc(d,n,r,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function R_(){return process.env.PM_AUTHOR}function N_(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function D_(e){return dr(e).harness}function ic(e,t,n){let r=cr(n),o=dr(r);if(e!==void 0){let s=N(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=N(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=N(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ii(e){let t=Bt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function si(e){let t=Bt.getStore();return t?.author!==e?e.startsWith("harness:")?{harness:e.slice(8)}:{}:{...t.harness?{harness:t.harness}:{},...t.model?{model:t.model}:{},...t.model_source?{model_source:t.model_source}:{},...t.session?{session:t.session}:{},...t.instance?{instance:t.instance}:{},...t.provenance?{provenance:t.provenance}:{},...t.episode?{episode:t.episode}:{}}}function ai(e){let t=Bt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function ci(e,t){let n=ic(e,t);return Bt.enterWith(n),n.author}import sc from"node:crypto";import{AsyncLocalStorage as ac}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]="aacc48ae-e9b2-5c8e-945f-89d05aff48e8")}catch{}})();var li=new ac,di=1024;function ui(){let e=li.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function fi(e){let t=li.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>di)throw new Error(`Reproducible token length must be an integer between 0 and ${di}`);let n="";for(;n.length<e;){let r=sc.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7887e752-b1b8-5c5e-9dd8-93b41cb757af")}catch{}})();var cc=/^([+-]?)(\d+)([hdwm])$/i,dc=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,lc=/^(\d{4})(\d{2})(\d{2})$/,uc=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,fc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,mc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,_c=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Oe(){return ui()??new Date().toISOString()}function te(e){return Number.isFinite(Date.parse(e))}function _i(e){let t=_c.exec(e);if(!t||!Number.isFinite(Date.parse(e)))return!1;let[,n,r,o,i,s,a,c,d]=t,[u,f,m,y,_,b]=[n,r,o,i,s,a].map(Number);return f>=1&&f<=12&&m>=1&&m<=fr(u,f-1)&&y<=23&&_<=59&&b<=59&&(c===void 0||Number(c)<=23)&&(d===void 0||Number(d)<=59)}var pc=1e4,Gt=new Map;function mi(e){let t=Gt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Gt.size>=pc&&$t(Gt),Gt.set(e,n),n}function H(e,t){let n=mi(e),r=mi(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function U_(e,t){return!(t.deadlineBefore&&(!e.deadline||H(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||H(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&H(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&H(e.updated_at,t.updatedBefore)>0||t.createdAfter&&H(e.created_at,t.createdAfter)<0||t.createdBefore&&H(e.created_at,t.createdBefore)>0)}function lr(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function ur(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function yc(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function hc(e){let t=[],n=d=>yc(t,e,d),r=lc.exec(e);if(r){let[,d,u,f]=r;n(`${d}-${u}-${f}`)}let o=uc.exec(e);if(o){let[,d,u,f,m,y,_,b,v]=o,O=_?`:${_}`:"";n(`${d}-${u}-${f}T${m}:${y}${O}${lr(b)}${ur(v)}`)}let i=fc.exec(e);if(i){let[,d,u,f,m,y,_]=i,b=m?`:${m}`:"";n(`${d}T${u}:${f}${b}${lr(y)}${ur(_)}`)}let s=mc.exec(e);if(s){let[,d,u,f,m,y,_]=s,b=m?`:${m}`:"";n(`${d}T${u}:${f}${b}${lr(y)}${ur(_)}`)}let a=10,c=e.slice(0,a);if(bc(c)){let d=a;for(;d<e.length&&wc(e[d]);)d+=1;d<e.length&&n(`${c}T${e.slice(d)}`)}return t}function gc(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of hc(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function bc(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let r=n.charCodeAt(0);if(r<48||r>57)return!1}return!0}function wc(e){return e?e===" "||e===" "||e===`
|
|
4
|
-
`||e==="\r"||e==="\f"||e==="\v":!1}function fr(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Ec=["January","February","March","April","May","June","July","August","September","October","November","December"],vc=/^(\d{4})-(\d{2})-(\d{2})/,kc=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Sc(e,t,n){let r=vc.exec(t)??kc.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new x(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,k.USAGE);let c=fr(o,i-1);if(s<1||s>c)throw new x(`Invalid ${a} value "${e}". ${Ec[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,k.USAGE)}function Ic(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,fr(i,s));return n.setUTCFullYear(i,s,a),n}function W_(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=cc.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,c=o[3].toLowerCase();if(c==="m")return Ic(t,a).toISOString();let d=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*d).toISOString()}Sc(e,r,n);let i=gc(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=dc.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new x(`Invalid ${s} value "${e}". ${a}`,k.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var ze=1,pi=1;function B_(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=ze?t:ze}function yi(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=ze))return e}function xc(e,t=pi){return e<t?"outdated":e>t?"ahead":"current"}function q_(e,t=pi){let n=[],r=[];for(let o of e){let i=xc(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Cc={"in-progress":"in_progress",cancelled:"canceled"};function Xt(e,t){if(t){let o=Wo(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Cc[n]??n;if(Nt.includes(r))return r}function Tc(e,t){return Xt(e,t)??e}function J_(e,t){return t.terminal_statuses.has(Tc(e,t))}import{encode as zc}from"@toon-format/toon";import{isDeepStrictEqual as Ei}from"node:util";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="91a3969e-59b3-506e-9349-ca08e73a1228")}catch{}})();var Oc=16;function mr(e){let t=e.trim().replaceAll(/[^A-Za-z0-9]+/g," ").split(/\s+/).filter(o=>o.length>0).map(o=>o.toLowerCase());if(t.length===0)return e;let[n,...r]=t;return`${n}${r.map(o=>`${o.slice(0,1).toUpperCase()}${o.slice(1)}`).join("")}`}function Ac(e){return[...new Set([Bo(e),mr(e.key),mr(e.cli_flag),...e.cli_aliases.map(t=>mr(t))])]}function bi(e,t){for(let n of Ac(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function wi(e){return Array.isArray(e)?e.flatMap(t=>wi(t)).map(t=>t.trim()).filter(t=>t.length>0):typeof e=="string"?e.split(/[,\n|]/).map(t=>t.trim()).filter(t=>t.length>0):e==null?[]:[String(e).trim()].filter(t=>t.length>0)}function hi(e,t){if(typeof e=="boolean")return e;if(typeof e=="number"){if(e===1)return!0;if(e===0)return!1}if(typeof e=="string"){let n=e.trim().toLowerCase();if(n==="true"||n==="1"||n==="yes")return!0;if(n==="false"||n==="0"||n==="no")return!1}throw new x(`${t} must be one of true|false|1|0|yes|no`,k.USAGE)}function gi(e,t){if(typeof e=="number"&&Number.isFinite(e))return e;let n=typeof e=="string"?e.trim():String(e),r=Number(n);if(!Number.isFinite(r))throw new x(`${t} must be a number`,k.USAGE);return r}function Rc(e,t,n){let r=typeof e=="string"?(()=>{try{return JSON.parse(e)}catch{return}})():e;if(n==="array"&&Array.isArray(r)||n==="object"&&typeof r=="object"&&r!==null&&!Array.isArray(r))return r;throw new x(`${t} must be valid JSON ${n}`,k.USAGE)}function Nc(e,t){return t===void 0?!0:t==="array"?Array.isArray(e):t==="object"?typeof e=="object"&&e!==null&&!Array.isArray(e):typeof e===t}function Dc(e,t,n){if(t.const!==void 0&&L(e)!==L(t.const))return`${n} must equal ${L(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>L(r)===L(e)))return`${n} must be one of ${t.enum.map(r=>L(r)).join("|")}`;if(!Nc(e,t.type))return`${n} must match configured type ${String(t.type)}`;if(typeof e=="string"){if(t.min_length!==void 0&&e.length<t.min_length)return`${n} must contain at least ${t.min_length} characters`;if(t.format==="date-time"&&!_i(e))return`${n} must be an RFC 3339 date-time`}}function Mc(e,t,n,r){if(Array.isArray(e)){if(t.min_items!==void 0&&e.length<t.min_items)return`${n} must contain at least ${t.min_items} items`;if(t.items)for(let[o,i]of e.entries()){let s=Kt(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Lc(e,t,n,r){if(typeof e!="object"||e===null||Array.isArray(e))return;let o=e;for(let i of t.required??[])if(!Object.hasOwn(o,i))return`${n}.${i} is required`;for(let[i,s]of Object.entries(o)){let a=t.properties?.[i];if(!a){if(t.additional_properties===!1)return`${n}.${i} is not allowed`;continue}let c=Kt(s,a,`${n}.${i}`,r+1);if(c)return c}}function Kt(e,t,n,r=0){if(r>Oc)return`${n} value schema exceeds maximum depth`;let o=Dc(e,t,n);if(o)return o;let i=Mc(e,t,n,r);if(i)return i;let s=Lc(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Kt(e,c,n,r+1)===void 0&&(a+=1,a>1))break;return a===1?void 0:`${n} must match exactly one configured schema variant`}function Ae(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Kt(t,e.value_schema,n);if(r)throw new x(r,k.USAGE);return t}function ut(e,t,n){let r=n??`--${e.cli_flag}`;if(e.type==="array"||e.type==="object"){let i=Array.isArray(t)?t[t.length-1]:t;return i===void 0?void 0:Ae(e,Rc(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=wi(t);return e.type==="number"?Ae(e,i.map(s=>gi(s,r)),r):e.type==="boolean"?Ae(e,i.map(s=>hi(s,r)),r):Ae(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Ae(e,gi(o,r),r):e.type==="boolean"?Ae(e,hi(o,r),r):Ae(e,typeof o=="string"?o:String(o),r)}function Pc(e,t){return!e.required&&!e.required_on_create?!1:e.required_types.length===0?!0:t?e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function rp(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=bi(e,i);if(s===void 0){Pc(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=ut(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function op(e,t,n=["update"]){let r={},o=(n??["update"]).flatMap(s=>t.command_to_fields.get(s)??[]),i=new Set;for(let s of o){let a=bi(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=ut(s,a)))}return r}import{decode as jc}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function _r(e){return{value:jc(e),usedScalarBracketEscape:!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]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var Fc=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function $c(e){if(e.length===0)return[];let t=e.split(/\r?\n/),n=[];for(let r=0;r<t.length;r+=1){let o=t[r]??"",i=o.match(Fc);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Jt(e){return $c(e)[0]}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="051655a4-8ba7-5118-9758-d9ca377fa7e4")}catch{}})();var gr=new Set(["schema","tracker","auto"]),Si=new Set(["source","isolated","snapshot"]),Hc=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Uc=new Set(["passed","failed","stopped","canceled"]),Wc=new Set(vo);function We(e){return e.replaceAll("\\","/")}function Ii(e){for(let t of e)if(t!==0)return t;return 0}function Qt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var xi=["id","title","description","created_at","updated_at"],Vc=new Set(de);function Ci(e){if(e?.schema)return{statusRegistry:Uo(e.schema),fieldRegistry:Vo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Bc(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function me(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new x(`Invalid item metadata: ${e}`,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:e.includes("required")?"missing_required_field":"schema_validation_error",...t?{field:t}:{},required:"Provide an item document whose metadata satisfies the active runtime schema.",why:e})}function _t(e,t){throw new x(t,k.GENERIC_FAILURE,{code:"item_document_invalid",reason:"syntax_error",format:e,required:`Provide a syntactically valid ${e==="toon"?"TOON":"JSON Markdown"} item document.`,why:"The document could not be decoded far enough to validate item metadata."})}function Ti(e){let t=new Set(Vc);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function E(e,t){e||me(t)}function pt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&me(t),e}function pr(e,t){let n=e[t];E(typeof n=="string",`${t} must be a string`),E(te(n),`${t} must be a valid ISO timestamp`)}function vi(e,t,n){let r=e[t];r!==void 0&&E(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function br(e,t,n){let r=e[t];r!==void 0&&(E(typeof r=="string",`${n} must be a string`),E(te(r),`${n} must be a valid ISO timestamp`))}function qc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){E(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();E(Pt.includes(n),`event.recurrence.by_weekday entries must be one of: ${Pt.join(", ")}`)}}}function Gc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)E(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Xc(e){if(e!==void 0){E(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)E(typeof t=="string","event.recurrence.exdates entries must be strings"),E(te(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Kc(e){let t=pt(e,"event.recurrence must be an object");E(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();E(Lt.includes(n),`event.recurrence.freq must be one of: ${Lt.join(", ")}`),vi(t,"interval","event.recurrence.interval"),vi(t,"count","event.recurrence.count"),br(t,"until","event.recurrence.until"),qc(t.by_weekday),Gc(t.by_month_day),Xc(t.exdates)}function Jc(e){for(let r of xi)E(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;E(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&E(typeof n=="number"&&Number.isInteger(n)&&n>=ze,`pm_format_version must be an integer >= ${ze}`),t}function Yc(e,t){let n=e.status;E(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Xt(n,r),i=r?r.definitions.map(s=>s.id):[...Nt];E(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Qc(e){let t=e.priority;E(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;E(Array.isArray(n),"tags must be an array");for(let r of n)E(typeof r=="string","tags entries must be strings")}function Zc(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){E(Number.isInteger(t)&&t>=0&&t<=100,"confidence number value must be an integer 0..100");return}if(typeof t=="string"){let n=t.trim().toLowerCase(),r=n==="med"||Mt.includes(n);E(r,`confidence string value must be one of: ${[...Mt,"med"].join(", ")}`);return}E(!1,"confidence must be a number or string")}}function ed(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&me("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||Dt.includes(n);E(r,`severity value must be one of: ${[...Dt,"med"].join(", ")}`)}function td(e){e.regression!==void 0&&typeof e.regression!="boolean"&&me("regression must be a boolean")}function nd(e){let t=e.reminders;if(t!==void 0){E(Array.isArray(t),"reminders must be an array");for(let n of t){let r=pt(n,"reminders entries must be objects");E(typeof r.at=="string","reminder.at must be a string"),E(te(r.at),"reminder.at must be a valid ISO timestamp"),E(typeof r.text=="string","reminder.text must be a string"),E(r.text.trim().length>0,"reminder.text must not be empty")}}}function rd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(E(typeof e[t]=="string",`event.${t} must be a string`),E(e[t].trim().length>0,`event.${t} must not be empty`))}function od(e){e.recurrence!==void 0&&(Kc(e.recurrence),e.recurrence.until!==void 0&&E(H(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function id(e){let t=pt(e,"events entries must be objects");E(typeof t.start_at=="string","event.start_at must be a string"),E(te(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(E(typeof t.end_at=="string","event.end_at must be a string"),E(te(t.end_at),"event.end_at must be a valid ISO timestamp"),E(H(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),rd(t),t.all_day!==void 0&&E(typeof t.all_day=="boolean","event.all_day must be a boolean"),od(t)}function sd(e){let t=e.events;if(t!==void 0){E(Array.isArray(t),"events must be an array");for(let n of t)id(n)}}function ad(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&E(typeof n=="string",`${t} must be a string`)}}function cd(e){let t=e.type_options;if(t===void 0)return;let n=pt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))E(r.trim().length>0,"type_options keys must be non-empty"),E(typeof o=="string","type_options values must be strings"),E(o.trim().length>0,"type_options values must be non-empty strings")}function dd(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Bc(r,t)&&me(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=ut(r,o,`metadata field "${r.metadata_key}"`)}catch(i){me(String(i?.message).replace(/^Invalid\s+/u,""))}}}function ld(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ti(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?me(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function wr(e,t){let n=pt(e,"item metadata must be an object"),r=Jc(n);Yc(n,t),Qc(n),Zc(n),ed(n),td(n),pr(n,"created_at"),pr(n,"updated_at"),n.deadline!==void 0&&pr(n,"deadline"),nd(n),sd(n),br(n,"closed_at","closed_at"),br(n,"completed_at","completed_at"),ad(n),cd(n),dd(n,r,t),ld(n,t)}function ud(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim(),kind:t.kind,created_at:t.created_at,author:t.author?.trim()||void 0,source_kind:t.source_kind?.trim()||void 0,author_source:t.author_source})).sort((t,n)=>{let r=H(t.created_at,n.created_at);if(r!==0)return r;let o=t.id.localeCompare(n.id);if(o!==0)return o;let i=t.kind.localeCompare(n.kind);return i!==0?i:(t.source_kind??"").localeCompare(n.source_kind??"")})}function yr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=H(t.created_at,n.created_at);if(r!==0)return r;let o=t.text.localeCompare(n.text);return o!==0?o:t.author.localeCompare(n.author)})}function fd(e){if(!e||e.length===0)return;let t=[...e].map(n=>({at:n.at,text:n.text.trim()})).filter(n=>n.text.length>0).sort((n,r)=>{let o=H(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function md(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Lt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>Pt.includes(s)))).sort((s,a)=>Hn(s)-Hn(a)),r=Array.from(new Set((e.by_month_day??[]).filter(s=>Number.isInteger(s)&&s>=1&&s<=31).map(s=>s))).sort((s,a)=>s-a),o=Array.from(new Set((e.exdates??[]).map(s=>s.trim()).filter(s=>te(s)))).sort((s,a)=>H(s,a)),i={freq:t,interval:e.interval!==void 0&&e.interval>1?e.interval:void 0,count:e.count,until:e.until?.trim()||void 0,by_weekday:n.length>0?n:void 0,by_month_day:r.length>0?r:void 0,exdates:o.length>0?o:void 0};for(let[s,a]of Object.entries(i))a===void 0&&delete i[s];return i}function _d(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(pd).sort(yd)}function pd(e){let t={start_at:e.start_at,end_at:e.end_at||void 0,title:e.title?.trim()||void 0,description:e.description?.trim()||void 0,location:e.location?.trim()||void 0,all_day:e.all_day,timezone:e.timezone?.trim()||void 0,recurrence:md(e.recurrence)};return Qt(t),t}function yd(e,t){return Ii([H(e.start_at,t.start_at),(e.end_at??"").localeCompare(t.end_at??""),(e.title??"").localeCompare(t.title??""),+!!e.all_day-+!!t.all_day,(e.timezone??"").localeCompare(t.timezone??""),(e.location??"").localeCompare(t.location??""),(e.description??"").localeCompare(t.description??""),JSON.stringify(e.recurrence??{}).localeCompare(JSON.stringify(t.recurrence??{}))])}function hd(e){if(!(!e||e.length===0))return e.map(t=>({path:We(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function gd(e){if(!e||e.length===0)return;let t=e.map(vd).filter(n=>n.run_id.length>0&&n.started_at.length>0&&n.finished_at.length>0&&n.recorded_at.length>0).sort((n,r)=>Ii([H(n.recorded_at,r.recorded_at),n.run_id.localeCompare(r.run_id),n.kind.localeCompare(r.kind)]));return t.length>0?t:void 0}function He(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function bd(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function hr(e){return typeof e=="string"?e:""}function wd(e){if(!Array.isArray(e))return;let t=e.filter(r=>r!==null&&typeof r=="object"&&typeof r.name=="string"&&r.name.trim().length>0&&typeof r.value=="number"&&Number.isFinite(r.value)&&typeof r.recorded_at=="string"&&r.recorded_at.trim().length>0).map(r=>({name:r.name.trim(),value:r.value,unit:typeof r.unit=="string"&&r.unit.trim()||void 0,threshold:typeof r.threshold=="number"&&Number.isFinite(r.threshold)?r.threshold:void 0,recorded_at:r.recorded_at.trim()})),n=[...new Map(t.map(r=>[r.name,r])).values()].sort((r,o)=>r.name.localeCompare(o.name)).slice(0,32);return n.length>0?n:void 0}function Yt(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Ed(e){if(!Array.isArray(e))return;let t=e.filter(n=>n&&typeof n.command=="string"&&n.command.trim().length>0).slice(0,32).map(n=>({command:n.command.trim(),requested_pm_context_mode:Yt(n.requested_pm_context_mode,gr),pm_context_mode:Yt(n.pm_context_mode,gr),workspace_context_mode:Yt(n.workspace_context_mode,Si),trust_reason:Yt(n.trust_reason,Hc)}));return t.length>0?t:void 0}function vd(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Uc.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:hr(e.started_at),finished_at:hr(e.finished_at),recorded_at:hr(e.recorded_at),attempt:bd(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:He(e.passed)??0,failed:He(e.failed)??0,skipped:He(e.skipped)??0,items:He(e.items),linked_tests:He(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:wd(e.measurements),executions:Ed(e.executions)};return Qt(o),o}function kd(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Td)}function ft(e){if(!Array.isArray(e))return;let t=[...new Set(e.filter(n=>typeof n=="string").map(n=>n.trim()).filter(n=>n.length>0))].sort((n,r)=>n.localeCompare(r));return t.length>0?t:void 0}function vr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function kr(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ki(e){if(!vr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!kr(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Sd(e){if(!vr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!kr(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Id(e){let t=e?.trim().toLowerCase();if(!(!t||!gr.has(t)))return t}function xd(e){let t=e?.trim().toLowerCase();if(!(!t||!Si.has(t)))return t}function Cd(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!vr(e))return{provenance_invalid:!0};let n=g(e.author),r=g(e.created_at),o=e.source_kind;return!n||!r||!te(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:g(e.source_ref)}}}function Td(e){let t={command:e.command?.trim()||void 0,path:e.path?We(e.path):void 0,scope:e.scope,timeout_seconds:typeof e.timeout_seconds=="number"&&Number.isFinite(e.timeout_seconds)&&e.timeout_seconds>0?e.timeout_seconds:void 0,pm_context_mode:Id(e.pm_context_mode),workspace_context_mode:xd(e.workspace_context_mode),...Cd(e.provenance,e.provenance_invalid),env_set:ki(e.env_set),env_clear:ft(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:ft(e.assert_stdout_contains),assert_stdout_regex:ft(e.assert_stdout_regex),assert_stderr_contains:ft(e.assert_stderr_contains),assert_stderr_regex:ft(e.assert_stderr_regex),assert_stdout_min_lines:He(e.assert_stdout_min_lines),assert_json_field_equals:ki(e.assert_json_field_equals),assert_json_field_gte:Sd(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Qt(t),t}function Od(e){if(!(!e||e.length===0))return[...e].map(t=>({path:We(t.path),scope:t.scope,note:t.note?.trim()||void 0})).sort((t,n)=>{let r=t.scope.localeCompare(n.scope);if(r!==0)return r;let o=t.path.localeCompare(n.path);return o!==0?o:(t.note??"").localeCompare(n.note??"")})}function g(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ad(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.id),i=g(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=g(r.note);a&&(s.note=a),r.required_before_step===!0&&(s.required_before_step=!0),t.push(s)}return t.length>0?t:void 0}function Rd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:We(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Nd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.command),i=g(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=We(i));let a=g(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Dd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.path);if(!o)continue;let i={path:We(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=g(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Md(e){if(e===null||typeof e!="object")return;let t=e,n=g(t.id),r=g(t.title),o=g(t.status),i=o&&Wc.has(o)?o:void 0,s=Ao(t.order)??Number.NaN,a=typeof t.created_at=="string"?t.created_at:"",c=typeof t.updated_at=="string"?t.updated_at:"";if(!n||!r||!i||!Number.isFinite(s)||!a||!c)return;let d={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Ld(d,t),d}function Ld(e,t){let n=[["body","body"],["owner","owner"],["evidence","evidence"],["blocked_reason","blocked_reason"],["superseded_by","superseded_by"]];for(let[i,s]of n){let a=g(t[s]);a&&(e[i]=a)}let r=typeof t.completed_at=="string"?t.completed_at:void 0;r&&r.length>0&&(e.completed_at=r);let o=[["linked_items","linked_items",Ad],["files","files",Rd],["tests","tests",Nd],["docs","docs",Dd]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Pd(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Md(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function jd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=g(r.rationale);c&&(a.rationale=c);let d=g(r.evidence);d&&(a.evidence=d);let u=g(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function Fd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=typeof r.ts=="string"?r.ts:"",i=typeof r.author=="string"?r.author:"",s=g(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=g(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function $d(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=g(r.text);if(!o)continue;let i={text:o},s=g(r.command);s&&(i.command=s);let a=g(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function zd(e){if(!e)return;let t=Object.entries(e).map(([n,r])=>[n.trim(),r.trim()]).filter(([n,r])=>n.length>0&&r.length>0).sort((n,r)=>n[0].localeCompare(r[0]));if(t.length!==0)return Object.fromEntries(t)}function Ue(e){let t=0;for(;t<e.length&&e[t]===`
|
|
5
|
-
`;)t+=1;return e.slice(t).trimEnd()}function Hd(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Mt.includes(t))return t}function Ud(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Dt.includes(t))return t}function mt(e){return e||void 0}function Wd(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))kr(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Vd(e,t){if(!t?.fieldRegistry)return;let n=e;for(let r of t.fieldRegistry.definitions){let o=n[r.metadata_key];o!==void 0&&(n[r.metadata_key]=ut(r,o,`metadata field "${r.metadata_key}"`))}}function Bd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ti(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&me(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function Zt(e,t={}){let n=Ci(t),r=Xt(e.status,n?.statusRegistry)??e.status,o=Array.from(new Set((Array.isArray(e.tags)?e.tags:[]).filter(s=>typeof s=="string").map(s=>s.trim().toLowerCase()).filter(Boolean))).sort((s,a)=>s.localeCompare(a)),i={id:e.id,title:e.title,description:e.description,type:e.type,pm_format_version:yi(e.pm_format_version),source_type:g(e.source_type),type_options:zd(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:ud(e.dependencies),comments:yr(e.comments),notes:yr(e.notes),learnings:yr(e.learnings),files:hd(e.files),tests:kd(e.tests),test_runs:gd(e.test_runs),docs:Od(e.docs),deadline:mt(e.deadline),reminders:fd(e.reminders),events:_d(e.events),closed_at:mt(e.closed_at),completed_at:mt(e.completed_at),assignee:g(e.assignee),claim_principal:g(e.claim_principal),source_owner:g(e.source_owner),author:mt(e.author),estimated_minutes:e.estimated_minutes,acceptance_criteria:e.acceptance_criteria??void 0,design:e.design??void 0,external_ref:e.external_ref??void 0,definition_of_ready:g(e.definition_of_ready),order:e.order,goal:g(e.goal),objective:g(e.objective),value:g(e.value),impact:g(e.impact),outcome:g(e.outcome),why_now:g(e.why_now),parent:g(e.parent),reviewer:g(e.reviewer),risk:e.risk??void 0,confidence:Hd(e.confidence),sprint:g(e.sprint),release:g(e.release),blocked_by:g(e.blocked_by),blocked_reason:g(e.blocked_reason),unblock_note:g(e.unblock_note),reporter:g(e.reporter),severity:Ud(e.severity),environment:g(e.environment),repro_steps:g(e.repro_steps),resolution:g(e.resolution),expected_result:g(e.expected_result),actual_result:g(e.actual_result),affected_version:g(e.affected_version),fixed_version:g(e.fixed_version),component:g(e.component),regression:e.regression,customer_impact:g(e.customer_impact),close_reason:mt(e.close_reason),plan_mode:g(e.plan_mode),plan_scope:g(e.plan_scope),plan_harness:g(e.plan_harness),plan_resume_context:g(e.plan_resume_context),plan_steps:Pd(e.plan_steps),plan_decisions:jd(e.plan_decisions),plan_discoveries:Fd(e.plan_discoveries),plan_validation:$d(e.plan_validation)};return Wd(i,e),Vd(i,n),Bd(i,n),Qt(i),i}function Oi(e){return S(e,de)}function qd(e){let t=0,n=!1,r=!1;for(let o=0;o<e.length;o+=1){let i=e[o];if(n){if(r){r=!1;continue}if(i==="\\"){r=!0;continue}i==='"'&&(n=!1);continue}if(i==='"'){n=!0;continue}if(i==="{"){t+=1;continue}if(i==="}"&&(t-=1,t===0))return o}return-1}function Gd(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=qd(e);if(t<0)return{frontMatter:"",body:e};let n=e.slice(0,t+1),r=e.slice(t+1).replace(/^\r?\n+/,"");return{frontMatter:n,body:r}}function Xd(e){let t=e.charCodeAt(0)===65279?e.slice(1):e,n=t.match(/^[ \t]*---[ \t]*(?:\r?\n|$)/);if(!n)return{content:t,stripped:!1};let r=n[0].length;for(;r<t.length;){let o=t.indexOf(`
|
|
6
|
-
`,r),i=o===-1?t.length:o,s=t.slice(r,i).replace(/\r$/,""),a=o===-1?i:i+1;if(s.trim()==="---")return{content:t.slice(a).replace(/^\s+/,""),stripped:!0};r=a}return{content:t,stripped:!1}}function Er(e,t){return Zt(e,{...t,onWarning:void 0})}function Kd(e,t,n={}){let r=Xd(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Gd(r.content);o||(e.trimStart().startsWith("{")&&_t("json_markdown","JSON front matter is not valid JSON"),_t("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{_t("json_markdown","JSON front matter is not valid JSON")}return wr(s,t),{metadata:Er(s,n),body:Ue(i)}}function Jd(e,t,n={}){let r;try{r=_r(e).value}catch{_t("toon","TOON item document is not valid TOON")}E(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!xi.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&_t("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return wr(o.front_matter,t),E(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Er(o.front_matter,n),body:Ue(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return E(i===void 0||typeof i=="string","TOON item document body must be a string"),wr(s,t),{metadata:Er(s,n),body:Ue(typeof i=="string"?i:"")}}function Yd(e,t={}){let n=Zt(e.metadata,t),r=Oi(n),o=JSON.stringify(r,null,2),i=Ue(e.body??"");return i?`${o}
|
|
7
|
-
|
|
8
|
-
${i}
|
|
9
|
-
`:`${o}
|
|
10
|
-
`}function Qd(e,t={}){let n=Zt(e.metadata,t),r=Oi(n),o=Ue(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=zc(s),c;try{c=_r(a).value}catch(d){throw new x("Refusing to persist a TOON item document that the configured decoder cannot read back.",k.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:d instanceof Error?d.message:String(d)})}if(!Ei(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},u=Object.keys(s).find(f=>!Ei(s[f],d[f]))??"document";throw new x(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${u}".`,k.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:u,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
|
|
11
|
-
`}function en(e,t={}){let n=Jt(e);if(n)throw new x(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,k.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=Ci(t);return r==="toon"?Jd(e,o,t):Kd(e,o,t)}function Ai(e,t={}){return(t.format??"toon")==="toon"?Qd(e,t):Yd(e,t)}function G(e,t={}){return{metadata:Zt(e.metadata,t),body:Ue(e.body??"")}}import{existsSync as el}from"node:fs";import{AsyncLocalStorage as tl}from"node:async_hooks";import ne 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]="bd9832a9-f6a2-5351-a929-0a0d2766df88")}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]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch{}})();function Cp(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let o=Promise.all([e,...t]).then(()=>n());return e=o.then(()=>{},()=>{}),o}}}function Zd(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="38024e6c-c1ef-5c15-8421-ac18d317e330")}catch{}})();var Ve=null,Ni=null,nl=null,rl=null,Sr=null,ol=null,Di=null,il=null;var sl=[],Mi=new tl;function F(){return Mi.getStore()}function zp(e){return Mi.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var al=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function Ri(e){let t=ne.resolve(e);for(;;){if(el(ne.join(t,".git")))return t;let n=ne.dirname(t);if(n===t)return;t=n}}function cl(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=Ri(t)??ne.resolve(t),r=Ri(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=ne.relative(n,ne.resolve(e)),i=o.length>0&&!o.startsWith(`..${ne.sep}`)&&o!==".."&&!ne.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(ne.sep).join("/")}:{}}}function Hp(e){let t=F();if(t){t.hooks=e;return}Ve=e}function Up(e){let t=F();if(t){t.commands=e;return}Ni=e}function Wp(e){let t=F();if(t){t.parsers=e;return}nl=e}function Vp(e){let t=F();if(t){t.preflight=e;return}rl=e}function Bp(e){let t=F();if(t){t.services=e;return}Sr=e}function qp(e){let t=F();if(t){t.renderers=e;return}ol=e}function Gp(e){let t=F();if(t){t.registrations=e;return}Di=e}function Re(){let e=F();return e?e.registrations:Di}function Ir(e){if(!e)return;let t=F();t?t.affectedItems.push(e):sl.push(e)}function tn(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let r=e;for(let o of t){if(typeof o!="string")continue;let i=o.startsWith("unset:")?o.slice(6):o;i==="id"||i==="type"||i==="status"||al.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function X(e){let t=F(),n=t?t.hooks:Ve;return n?Mo(n,e):[]}async function xr(e){let t=F(),n=t?t.hooks:Ve;n&&await Do(n,e)}async function Q(e){let t=F(),n=t?t.hooks:Ve;return n?Lo(n,e):[]}function Cr(){let e=F();return((e?e.hooks:Ve)?.onRead?.length??0)>0}async function Xp(e){let t=F(),n=t?t.hooks:Ve;return n?Po(n,e):[]}async function Kp(e){let t=F(),n=t?t.commands:Ni;return n?jo(n,{...e,...cl(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function Li(e,t){let n=F(),r=n?n.commandContext:il;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function re(e,t){let n=F(),r=n?n.services:Sr;return r?$o(r,Li(e,t)):{handled:!1,result:t,warnings:[]}}function Pi(e,t){let n=F(),r=n?n.services:Sr;return r?Fo(r,Li(e,t)):{handled:!1,result:t,warnings:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function Be(e,t){let n=await le(e);if(n===null)return[];if(await Q({path:e,scope:"project"}),n.trim()==="")return[];let r=Jt(n);if(r)throw new x(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,k.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new x(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,k.GENERIC_FAILURE)}}return o}import $r from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();import ns from"fast-json-patch";import oe from"node:fs/promises";import ie from"node:path";import{randomUUID as dl}from"node:crypto";import{createRequire as ll}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a84b308f-7eef-535c-9531-b33b0775c651")}catch{}})();var ul="history-event-index.sqlite",Tr="2",fl=8,Ne=new Map;function sn(e){return ie.join(e,"runtime",ul)}async function ji(e){let t=ie.join(e,"history"),n=await oe.readdir(t,{withFileTypes:!0}).catch(s=>{if(typeof s=="object"&&s!==null&&"code"in s&&s.code==="ENOENT")return[];throw s}),r=Ne.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!Ne.has(e);for(let s of n.filter(a=>a.isFile()&&a.name.endsWith(".jsonl")).sort((a,c)=>a.name.localeCompare(c.name))){let a=s.name.slice(0,-6);o.add(a);let c=ie.join(t,s.name),d=await oe.stat(c,{bigint:!0}),u=[d.dev,d.ino,d.size,d.mtimeNs,d.ctimeNs].join(":");if(r.streams.get(a)?.signature===u)continue;let f=await Be(c,a);r.streams.set(a,{signature:u,events:f.map((m,y)=>({stream_id:a,stream_offset:y,entry:m}))}),i=!0}for(let s of r.streams.keys())o.has(s)||(r.streams.delete(s),i=!0);if(i&&(r.ordered_events=[...r.streams.values()].flatMap(s=>s.events).sort($i)),Ne.delete(e),Ne.set(e,r),Ne.size>fl){let s=Ne.keys().next().value;Ne.delete(s)}return r.ordered_events}function ml(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function _l(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?ml(t):null}var nn;function Or(){return nn!==void 0||(nn=_l(process.versions.node,ll(import.meta.url))),nn}function pl(e){e.exec(`
|
|
12
|
-
PRAGMA journal_mode = OFF;
|
|
13
|
-
PRAGMA synchronous = OFF;
|
|
14
|
-
CREATE TABLE metadata (
|
|
15
|
-
key TEXT PRIMARY KEY,
|
|
16
|
-
value TEXT NOT NULL
|
|
17
|
-
) STRICT;
|
|
18
|
-
CREATE TABLE events (
|
|
19
|
-
stream_id TEXT NOT NULL,
|
|
20
|
-
stream_offset INTEGER NOT NULL,
|
|
21
|
-
ts TEXT NOT NULL,
|
|
22
|
-
author TEXT NOT NULL,
|
|
23
|
-
agent_harness TEXT,
|
|
24
|
-
agent_instance TEXT,
|
|
25
|
-
op TEXT NOT NULL,
|
|
26
|
-
entry_json TEXT NOT NULL,
|
|
27
|
-
PRIMARY KEY(stream_id, stream_offset)
|
|
28
|
-
) STRICT;
|
|
29
|
-
CREATE INDEX events_order
|
|
30
|
-
ON events(ts, stream_id, stream_offset);
|
|
31
|
-
CREATE INDEX events_op_order
|
|
32
|
-
ON events(op, ts, stream_id, stream_offset);
|
|
33
|
-
CREATE INDEX events_author_order
|
|
34
|
-
ON events(author, ts, stream_id, stream_offset);
|
|
35
|
-
CREATE INDEX events_harness_order
|
|
36
|
-
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
37
|
-
CREATE INDEX events_instance_order
|
|
38
|
-
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
39
|
-
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(Tr)}function Fi(e,t){e.prepare(`INSERT INTO events(
|
|
40
|
-
stream_id, stream_offset, ts, author, agent_harness,
|
|
41
|
-
agent_instance, op, entry_json
|
|
42
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function my(e){let t=Or();if(!t)return!1;let n=sn(e);await oe.mkdir(ie.dirname(n),{recursive:!0});let r=`${n}.${dl()}.tmp`,o;try{o=new t(r),pl(o),o.exec("BEGIN IMMEDIATE");for(let i of await ji(e))Fi(o,i);return o.exec("COMMIT"),o.close(),o=void 0,await oe.rm(n,{force:!0}),await oe.rename(r,n),!0}catch(i){throw o?.close(),await oe.rm(r,{force:!0}),i}}function rn(e,t){return!t||t.length===0||t.includes(e)}function $i(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function yl(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if($i(e,{stream_id:t.after_stream_id,stream_offset:t.after_stream_offset,entry:{...e.entry,ts:t.after_ts}})<=0)return!1}else if(t.since_ts!==void 0&&e.entry.ts<t.since_ts)return!1;return!0}function hl(e,t){return!t.harnesses||t.harnesses.length===0||t.harnesses.includes(e.entry.agent_harness??"")?!0:e.entry.agent_harness===void 0&&(t.harness_alias_authors??[]).includes(e.entry.author)}function gl(e,t){return!yl(e,t)||!rn(e.entry.op,t.ops)||!rn(e.entry.author,t.authors)||!rn(e.entry.agent_instance??"",t.agent_instances)||!rn(e.stream_id,t.stream_ids)||!hl(e,t)?!1:(t.provenance??[]).every(n=>{let r=e.entry.agent_provenance?.[n.dimension]?.value;return r!==void 0&&n.values.includes(r)})}async function _y(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await ji(e)).filter(o=>gl(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function zi(e,t){let n=ie.dirname(ie.dirname(e)),r=sn(n);try{await oe.access(r)}catch{return}let o=Or();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Tr)throw new TypeError("Unsupported history event index version");let a=ie.basename(e,".jsonl"),c=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);Fi(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await oe.rm(r,{force:!0})}}async function an(e){await oe.rm(sn(ie.dirname(ie.dirname(e))),{force:!0})}function on(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function bl(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function py(e,t){let n=Or();if(!n)return null;let r=[],o=[];t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0?(r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))"),o.push(t.after_ts,t.after_ts,t.after_stream_id,t.after_ts,t.after_stream_id,t.after_stream_offset)):t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(t.since_ts)),on(r,o,"op",t.ops),on(r,o,"author",t.authors),bl(r,o,t.harnesses,t.harness_alias_authors),on(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);on(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(sn(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Tr)return s.close(),null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
43
|
-
FROM events${i}
|
|
44
|
-
ORDER BY ts, stream_id, stream_offset
|
|
45
|
-
LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),d=c.length>t.limit,u=c.slice(0,t.limit).map(f=>({stream_id:String(f.stream_id),stream_offset:Number(f.stream_offset),entry:JSON.parse(String(f.entry_json))}));return s.close(),{events:u,has_more:d}}catch{return s?.close(),null}}import Pr from"node:fs/promises";import Ge from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a3e0573a-01fd-54fb-a568-51c5287b696c")}catch{}})();var cn="changed_fields",wl="changed_field_count",Ar="rows",El=new Set(["apply","rollback"]),Wi=new Set(["deleted","would_delete"]),Hi=256;function Ui(e){return typeof e!="string"||e.length<=Hi?e:`${e.slice(0,Hi-1)}\u2026`}function vl(e){if(!se(e))return null;let t={...e};return t.reason=Ui(t.reason),se(t.previous_terminal)&&(t.previous_terminal=Object.fromEntries(Object.entries(t.previous_terminal).map(([n,r])=>[n,Ui(r)]))),t}function se(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Vi(e){let t=e[cn];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==cn&&(n[r]=o);return n[wl]=t.length,n}function kl(e){return"item"in e&&Array.isArray(e[cn])}function Sl(e){return typeof e.mode=="string"&&El.has(e.mode)&&Array.isArray(e[Ar])}function Il(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[Ar]=t,n}function xl(e){if(!se(e))return null;let t=se(e.item)?e.item:se(e.plan)?e.plan:null;if(t===null)return null;let n=typeof t.id=="string"?t.id:void 0,r=typeof e.outcome=="string"&&Wi.has(e.outcome)?e.outcome:typeof t.status=="string"?t.status:void 0;return n?r?{id:n,status:r,...typeof e.deleted=="boolean"?{deleted:e.deleted}:{}}:{id:n}:null}function Cl(e){if(!se(e)||!se(e.item)||typeof e.item.id!="string")return null;let t=e[cn];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&Wi.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:t.length},r=typeof e.close_reason=="string"?e.close_reason:typeof e.item.close_reason=="string"?e.item.close_reason:void 0;r!==void 0&&(n.close_reason=r);let o=vl(e.recurrence);return o!==null&&(n.recurrence=o),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function Tl(e){let t=Sl(e)?e[Ar]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!se(o))return o;let i=Vi(o);return i?(n=!0,i):o});return n?{projected:Il(e,r),changed:!0}:{projected:e,changed:!1}}function Ol(e,t={}){if(t.idOnly===!0){let a=xl(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=Cl(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!se(e))return e;let r=!1,o=e,i=kl(e)?Vi(e):null;i!==null&&(o=i,r=!0);let s=Tl(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as Gi}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="202cbb3e-71fe-5701-a1f5-eb515bf56561")}catch{}})();var Ly=new Set(Object.values(k));var Bi=!1;function qe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Rr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Al(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.SUCCESS)}function Rl(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.GENERIC_FAILURE)}function Nr(e){if(e==="stdout"){Al();return}Rl()}function qi(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Nl(){Bi||(Bi=!0,process.stdout.on("error",e=>{if(Rr(e)){Nr("stdout");return}qi(e)}),process.stderr.on("error",e=>{if(Rr(e)){Nr("stderr");return}qi(e)}))}function Dl(e,t){Nl();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(Rr(n))return Nr(e),!1;throw n}}function dn(e){return Dl("stderr",e)}function Dr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Ml(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function Xi(e){if(e.length===0||!e.every(qe))return!1;let t=Object.keys(e[0]);return t.length>0&&e.every(n=>Object.keys(n).length===t.length&&t.every(r=>Object.hasOwn(n,r)&&Ml(n[r])))}function Ki(e,t){let n=" ".repeat(t);return e.split(`
|
|
46
|
-
`).map(r=>`${n}${r}`).join(`
|
|
47
|
-
`)}function Ll(e,t,n){let r=" ".repeat(n);return!qe(t)&&!Array.isArray(t)?`${r}${e}: ${Dr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&Xi(t)?Ki(Gi({[e]:t}),n):qe(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
|
|
48
|
-
${Lr(t,n+1)}`}function Mr(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>Mr(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(qe(e)){let t={};for(let[n,r]of Object.entries(e)){if(n==="omitted_field_groups"&&Array.isArray(r)&&r.length===0){t[n]=[];continue}let o=Mr(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function Lr(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":Xi(e)?Ki(Gi(e),t):e.map(r=>{if(!qe(r)&&!Array.isArray(r))return`${n}- ${Dr(r)}`;let i=Lr(r,t+1).split(`
|
|
49
|
-
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
50
|
-
${a.join(`
|
|
51
|
-
`)}`}).join(`
|
|
52
|
-
`);if(qe(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Ll(o,i,t)).join(`
|
|
53
|
-
`)}return`${n}${Dr(e)}`}function Py(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
54
|
-
`;let n=Mr(e);return n===void 0?`{}
|
|
55
|
-
`:`${Lr(n,0)}
|
|
56
|
-
`}function jy(e){let t=Pi("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;dn(n.endsWith(`
|
|
57
|
-
`)?n:`${n}
|
|
58
|
-
`)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5121b339-6594-58ec-b479-11cbf7dafd27")}catch{}})();var Pl=Ge.join("runtime","history-drift-cache.json"),Ji={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function Yi(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function jl(e){let t=Ge.join(e,Pl),n=!1,r="invalid_cache_path";try{n=(await Pr.stat(await Pr.realpath(e))).isDirectory()}catch(o){let i=Yi(o);r=i===void 0?"unknown":Ji[i]??"filesystem_error"}if(!n){dn(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
59
|
-
`);return}try{await Pr.rm(t,{force:!0})}catch(o){let i=Yi(o);if(Se(o))return;let s=i===void 0?"unknown":Ji[i]??"filesystem_error";dn(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
60
|
-
`)}}async function yt(e){let t=Ge.dirname(Ge.resolve(e));Ge.basename(t)==="history"&&await jl(Ge.dirname(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]="f7cf18cb-0068-58ad-bd7f-759a5d91eb9f")}catch{}})();var $l={front_matter:{},body:""},pe=2,ht=[1,2];function ln(e,t){return(e??"").localeCompare(t??"")}function Qi(e,t){return(e??0)-(t??0)}function _e(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function zl(e,t){return[e.scope.localeCompare(t.scope),ln(e.path,t.path),ln(e.command,t.command),Qi(e.timeout_seconds,t.timeout_seconds),ln(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,_e(e.env_clear,t.env_clear,[]),_e(e.env_set,t.env_set,{}),_e(e.assert_stdout_contains,t.assert_stdout_contains,[]),_e(e.assert_stdout_regex,t.assert_stdout_regex,[]),_e(e.assert_stderr_contains,t.assert_stderr_contains,[]),_e(e.assert_stderr_regex,t.assert_stderr_regex,[]),Qi(e.assert_stdout_min_lines,t.assert_stdout_min_lines),_e(e.assert_json_field_equals,t.assert_json_field_equals,{}),_e(e.assert_json_field_gte,t.assert_json_field_gte,{}),ln(e.note,t.note)].find(r=>r!==0)??0}function Hl(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Ul(e,t){let n=Hl(t);if(n.length===0)return!0;let r=e;for(let o of n){if(Array.isArray(r)){if(o==="-"||!/^(0|[1-9]\d*)$/.test(o))return!1;let s=Number(o);if(!Number.isInteger(s)||s<0||s>=r.length)return!1;let a=r[s];if(a===void 0)return!1;r=a;continue}if(typeof r!="object"||r===null||!Object.prototype.hasOwnProperty.call(r,o))return!1;let i=r[o];if(i===void 0)return!1;r=i}return!0}function Wl(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Ul(r,o.path)?{...o,op:"add"}:o;n.push(i),r=ns.applyPatch(r,[i],!0,!0).newDocument}return n}function jr(e,t){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=G(e),o=t===1&&r.metadata.tests?{...r.metadata,tests:[...r.metadata.tests].sort(zl)}:r.metadata;return{front_matter:S(o,de),body:r.body}}function Zi(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=G(e);return{metadata:S(n.metadata,de),body:n.body}}function th(e){return Fr(e,pe)}function Fr(e,t){if(!ht.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return Ie(L(jr(e,t)))}function nh(){return Ie(L($l))}function Xe(e){let t=jr(e.before,pe),n=jr(e.after,pe),r=Zi(e.before),o=Zi(e.after),i=ns.compare(r,o),s=Wl(r,i),a=si(e.author),c=a.harness?Object.fromEntries(Object.entries(oi().provenance_outcomes).filter(([,u])=>u.resolver!==void 0&&u.status!=="resolved")):void 0,d=c===void 0||Object.keys(c).length===0?e.context:{...e.context,agent_provenance_outcomes:c};return{ts:e.nowIso,author:e.author,author_source:e.authorSource??ii(e.author),...a.harness?{agent_harness:a.harness}:{},...a.model?{agent_model:a.model}:{},...a.model_source?{agent_model_source:a.model_source}:{},...a.instance?{agent_instance:a.instance}:{},...a.provenance?{agent_provenance:a.provenance}:{},...a.episode?{agent_episode:a.episode}:{},op:e.op,patch:s,before_hash:Ie(L(t)),after_hash:Ie(L(n)),item_hash_version:pe,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}}}function es(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Vl(e){let t=e.ts.trim();return t.length>0?t:Oe()}function ts(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function un(e,t){let n=Vl(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(es(r))return JSON.stringify(ts(r,n))}catch{}return e}return es(e)?JSON.stringify(ts(e,n)):JSON.stringify(e)}async function Ke(e,t){let n=await re("history_append",{history_path:e,entry:t});if(n.handled){if(n.result===!1)return;if(typeof n.result=="string"){await it(e,un(n.result,t)),await yt(e),await an(e);return}if(typeof n.result=="object"&&n.result!==null){let r=n.result;if(r.skip===!0)return;let o=typeof r.history_path=="string"?r.history_path:e;if(typeof r.line=="string"){await it(o,un(r.line,t)),await yt(o),await an(o);return}await it(o,un(r.entry??t,t)),await yt(o),await an(o);return}}await it(e,un(t,t)),await yt(e),await zi(e,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]="bf8797ec-53d3-5d23-8a6e-8296a027ddf2")}catch{}})();var Bl={metadata:{},body:""};function mn(){return structuredClone(Bl)}function fn(e,t=pe){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Fr(_n(e),t)}catch{}return Ie(L({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function _n(e){return{metadata:e.metadata,body:e.body}}function lh(e,t={}){return G(_n(e),t)}function uh(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=G(e);return{metadata:S(t.metadata,de),body:t.body}}function rs(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function ql(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function is(e){return Array.isArray(e)?e.filter(ql).map(t=>({...t,path:rs(t.path),from:typeof t.from=="string"?rs(t.from):void 0})):[]}function Gl(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function pn(e,t){try{let n=is(t),r=$r.applyPatch(structuredClone(e),n,!0,!1).newDocument;return Gl(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function Xl(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&ht.includes(t)))]}function Kl(e,t){return e!==void 0?[e]:t===void 0?[1,pe]:[t]}function ss(e){let t=mn(),n,r;for(let o=0;o<e.length;o+=1){let i=e[o],s=i.item_hash_version;if(s!==void 0&&!ht.includes(s))return{ok:!1,errors:[`verify_failed:unsupported_item_hash_version:${String(s)}:entry_${o+1}`]};let a=pn(t,i.patch);if(!a.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${o+1}`]};let d=Kl(s,r).filter(f=>fn(t,f)===i.before_hash);if(d.length===0)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${o+1}`]};let u=d.find(f=>fn(a.document,f)===i.after_hash);if(u===void 0)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${o+1}`]};t=a.document,n=u,s!==void 0&&(r=u)}return{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function yn(e){let t=ss(e);return{ok:t.ok,errors:t.errors}}function os(e,t){try{return{ok:!0,document:$r.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function Jl(e,t){let n=structuredClone(e),r=0,o=0;for(let a of is(t)){let c=os(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let d=os(n,{...a,op:"add"});if(d.ok){n=d.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function Yl(e){let t=Xl(e);if(t.length===1)return t[0];let n=ss(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:pe}function fh(e,t=Yl(e)){let n=e.findIndex(f=>f.item_hash_version!==void 0&&!ht.includes(f.item_hash_version));if(n>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[n]?.item_hash_version)}:entry_${n+1}`);let r=mn(),o=[],i=[],s=0,a=0,c=0,d=0,u=t!==1||e.some(f=>f.item_hash_version!==void 0);for(let f=0;f<e.length;f+=1){let m=e[f],y=fn(r,t),_=pn(r,m.patch),b,v,O=!1,D=0,P=0;if(_.ok)b=_.document,v=m.patch;else{let U=Jl(r,m.patch);b=U.document,v=$r.compare(r,b),O=!0,D=U.convertedReplaceToAdd,P=U.skippedOps,c+=D,d+=P,a+=1}let j=fn(b,t),J=y!==m.before_hash||j!==m.after_hash;J&&(s+=1);let ve={...m,patch:v,before_hash:y,after_hash:j};u?ve.item_hash_version=t:delete ve.item_hash_version,o.push(ve),i.push({index:f+1,rehashed:J,patch_repaired:O,converted_replace_to_add:D,skipped_ops:P}),r=b}return{entries:o,finalDocument:r,entriesRehashed:s,entriesPatchRepaired:a,convertedReplaceToAdd:c,skippedOps:d,details:i,itemHashVersion:t,explicitItemHashVersion:u}}function mh(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
61
|
-
`)}
|
|
62
|
-
`}import Ql from"node:crypto";import as 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]="6b3f1585-ab12-57ca-80eb-d3cebc384c52")}catch{}})();function ds(e){let t=[],n=!1;for(let r of(e??"").toLowerCase()){let o=r.charCodeAt(0),i=o>=48&&o<=57,s=o>=97&&o<=122;if(!i&&!s){n=t.length>0;continue}n&&(t.push("-"),n=!1),t.push(r)}return t.length===0?"pm-":`${t.join("")}-`}function zr(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function gt(e,t){let n=ds(t),r=zr(e);return r.startsWith(n)?r:`${n}${r}`}function Zl(e){let t=fi(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Ql.randomInt(0,36).toString(36);return n}async function eu(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[as.join(e,o,`${t}.md`),as.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>Pe(o)))).some(Boolean)}var cs=4,ls=12;function tu(e){return typeof e!="number"||!Number.isFinite(e)?cs:Math.min(ls,Math.max(cs,Math.trunc(e)))}async function wh(e,t,n={}){let r=tu(n.tokenLength),o=Math.min(r+6,ls),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${ds(t)}${Zl(r)}`;if(n.probeExisting===!1||!await eu(e,a,n.typeToFolder??ke))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import De from"node:fs/promises";import fs from"node:path";import{randomUUID as nu}from"node:crypto";import{createRequire as ru}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e94075b0-810d-506c-b6a2-ae322526c078")}catch{}})();var ou="metadata-query-index.sqlite",bt="4";function iu(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var hn;function su(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?iu(t):null}function wt(){return hn!==void 0||(hn=su(process.versions.node,ru(import.meta.url))),hn}function us(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function Je(e){return fs.join(e,"runtime",ou)}function au(e){e.exec(`
|
|
63
|
-
PRAGMA foreign_keys = ON;
|
|
64
|
-
PRAGMA journal_mode = OFF;
|
|
65
|
-
PRAGMA synchronous = OFF;
|
|
66
|
-
CREATE TABLE metadata (
|
|
67
|
-
key TEXT PRIMARY KEY,
|
|
68
|
-
value TEXT NOT NULL
|
|
69
|
-
) STRICT;
|
|
70
|
-
CREATE TABLE items (
|
|
71
|
-
id TEXT PRIMARY KEY,
|
|
72
|
-
relative_path TEXT NOT NULL UNIQUE,
|
|
73
|
-
metadata_json TEXT NOT NULL,
|
|
74
|
-
status TEXT NOT NULL,
|
|
75
|
-
type TEXT NOT NULL,
|
|
76
|
-
priority INTEGER NOT NULL,
|
|
77
|
-
updated_at TEXT NOT NULL,
|
|
78
|
-
created_at TEXT NOT NULL,
|
|
79
|
-
parent TEXT,
|
|
80
|
-
assignee TEXT,
|
|
81
|
-
sprint TEXT,
|
|
82
|
-
release TEXT
|
|
83
|
-
) STRICT;
|
|
84
|
-
CREATE INDEX items_default_order
|
|
85
|
-
ON items(priority, updated_at DESC, id);
|
|
86
|
-
CREATE INDEX items_status_default_order
|
|
87
|
-
ON items(status, priority, updated_at DESC, id);
|
|
88
|
-
CREATE INDEX items_type_default_order
|
|
89
|
-
ON items(type, priority, updated_at DESC, id);
|
|
90
|
-
CREATE INDEX items_parent_default_order
|
|
91
|
-
ON items(parent, priority, updated_at DESC, id);
|
|
92
|
-
CREATE TABLE item_metadata_keys (
|
|
93
|
-
item_id TEXT NOT NULL,
|
|
94
|
-
key TEXT NOT NULL,
|
|
95
|
-
PRIMARY KEY(item_id, key),
|
|
96
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
97
|
-
) STRICT;
|
|
98
|
-
CREATE INDEX item_metadata_keys_key_item
|
|
99
|
-
ON item_metadata_keys(key, item_id);
|
|
100
|
-
CREATE TABLE item_linked_files (
|
|
101
|
-
item_id TEXT NOT NULL,
|
|
102
|
-
path TEXT NOT NULL,
|
|
103
|
-
scope TEXT NOT NULL,
|
|
104
|
-
note TEXT,
|
|
105
|
-
PRIMARY KEY(item_id, path, scope),
|
|
106
|
-
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
107
|
-
) STRICT;
|
|
108
|
-
CREATE INDEX item_linked_files_path_scope_item
|
|
109
|
-
ON item_linked_files(path, scope, item_id);
|
|
110
|
-
CREATE VIRTUAL TABLE item_search USING fts5(
|
|
111
|
-
id UNINDEXED,
|
|
112
|
-
title,
|
|
113
|
-
description,
|
|
114
|
-
tags,
|
|
115
|
-
tokenize = 'unicode61'
|
|
116
|
-
);
|
|
117
|
-
`)}function bn(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function ms(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
|
|
118
|
-
id, relative_path, metadata_json, status, type, priority,
|
|
119
|
-
updated_at, created_at, parent, assignee, sprint, release
|
|
120
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
121
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
122
|
-
relative_path = excluded.relative_path,
|
|
123
|
-
metadata_json = excluded.metadata_json,
|
|
124
|
-
status = excluded.status,
|
|
125
|
-
type = excluded.type,
|
|
126
|
-
priority = excluded.priority,
|
|
127
|
-
updated_at = excluded.updated_at,
|
|
128
|
-
created_at = excluded.created_at,
|
|
129
|
-
parent = excluded.parent,
|
|
130
|
-
assignee = excluded.assignee,
|
|
131
|
-
sprint = excluded.sprint,
|
|
132
|
-
release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function _s(e){let t=Je(e.pmRoot),n=wt();if(!n){await De.rm(t,{force:!0});return}await De.mkdir(fs.dirname(t),{recursive:!0});let r=`${t}.${nu()}.tmp`,o;try{o=new n(r),au(o),o.exec("BEGIN IMMEDIATE"),bn(o,"version",bt),bn(o,"context_fingerprint",e.contextFingerprint),bn(o,"source_cursor",e.sourceCursor);for(let i of e.rows)ms(o,i);o.exec("COMMIT"),o.close(),o=void 0,await De.rm(t,{force:!0}),await De.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([De.rm(r,{force:!0})]),i}}function wn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function ps(e){let t=Je(e.pmRoot),n;try{await De.access(t);let r=wt();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=wn(n);if(o.version!==bt||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let i=n.prepare("DELETE FROM items WHERE relative_path = ?"),s=n.prepare("SELECT id FROM items WHERE relative_path = ?"),a=n.prepare("DELETE FROM item_search WHERE id = ?");for(let c of e.deletedRelativePaths??[]){let d=s.get(c);i.run(c),d&&a.run(d.id)}return e.row&&ms(n,e.row),bn(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function gn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function cu(e){let t=[],n=[];gn(t,n,"status",e.statuses,"IN"),gn(t,n,"status",e.excludeStatuses,"NOT IN"),gn(t,n,"type",e.types,"IN"),gn(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function xh(e){let t=wt();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=cu(n),i;try{i=new t(Je(e.pmRoot),{readOnly:!0});let s=wn(i);if(s.version!==bt||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],d="";n.limit!==void 0?(d+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(d+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(d+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let f=i.prepare(`SELECT metadata_json FROM items${r}
|
|
133
|
-
ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${d}`).all(...o,...n.terminalStatuses??[],...c).map(m=>{let y=JSON.parse(String(m.metadata_json));if(!y.id)throw new TypeError("Indexed metadata row has no id");return y});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:f}}catch{return i?.close(),null}}async function Ch(e){let t=wt();if(!t||e.paths.length===0)return null;let n;try{n=new t(Je(e.pmRoot),{readOnly:!0});let r=wn(n);if(r.version!==bt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
|
|
134
|
-
FROM item_linked_files
|
|
135
|
-
WHERE ${a}`).get(...s),d=us(e.limit,50),u=us(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
|
|
136
|
-
FROM items
|
|
137
|
-
WHERE EXISTS (
|
|
138
|
-
SELECT 1 FROM item_linked_files
|
|
139
|
-
WHERE item_linked_files.item_id = items.id AND ${a}
|
|
140
|
-
)
|
|
141
|
-
ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
|
|
142
|
-
LIMIT ? OFFSET ?`).all(...s,d,u),m=[];if(f.length>0){let y=f.map(v=>String(v.id)),_=n.prepare(`SELECT item_id, path, scope, note
|
|
143
|
-
FROM item_linked_files
|
|
144
|
-
WHERE item_id IN (${y.map(()=>"?").join(", ")})
|
|
145
|
-
AND ${a}
|
|
146
|
-
ORDER BY path ASC, scope ASC`).all(...y,...s),b=new Map(y.map(v=>[v,[]]));for(let v of _){let O=String(v.item_id),D=b.get(O);D.push({path:String(v.path),scope:String(v.scope),...v.note===null?{}:{note:String(v.note)}}),b.set(O,D)}for(let v of f){let O=JSON.parse(String(v.metadata_json));m.push({item:O,files:b.get(String(v.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function Th(e){let t=wt();if(!t)return null;let n;try{n=new t(Je(e.pmRoot),{readOnly:!0});let r=wn(n);if(r.version!==bt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
147
|
-
FROM item_search
|
|
148
|
-
JOIN items ON items.id = item_search.id
|
|
149
|
-
WHERE item_search MATCH ?
|
|
150
|
-
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
151
|
-
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 En(e){await De.rm(Je(e),{force:!0})}import z from"node:fs/promises";import R from"node:path";import{createHash as Au,randomUUID as As}from"node:crypto";import ae from"node:fs/promises";import Hr from"node:path";import{randomUUID as du}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]="a9ad8a9f-de6e-5bce-8685-844f1129d5fb")}catch{}})();function lu(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.created_at,a=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||typeof s!="string"||typeof a!="number"||!Number.isFinite(a)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,created_at:s,ttl_seconds:a},warnings:[]}}async function bs(e){try{let t=await ae.readFile(e,"utf8");return await Q({path:e,scope:"project"}),lu(t)}catch(t){return Se(t)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function Ur(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function ws(e,t){await X({path:e,scope:"project",op:t})}function uu(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:Oe(),ttl_seconds:n}}async function fu(e,t,n,r){await ae.mkdir(Hr.dirname(e),{recursive:!0});let o=await ae.open(e,"wx");try{await o.writeFile(`${JSON.stringify(uu(t,n,r),null,2)}
|
|
152
|
-
`,"utf8")}finally{await o.close()}await ws(e,"lock:create")}async function Es(e,t){try{return await ae.unlink(e),await ws(e,t),!0}catch{return!1}}function vs(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function mu(e){return e?.owner?` (owner ${e.owner})`:""}var _u=25,pu=200,yu=250,hu=3,gu=".stale-cleanup",ks="owner.json",bu=1e4,wu=5*6e4;function ys(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function Eu(e){let t=process.env.PM_LOCK_WAIT_MS,n=ys(t);if(n!==void 0)return n;let r=ys(e);return r!==void 0?r:0}function vu(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Ss(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new x(`Item ${e} is locked${mu(t)}${r}`,k.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:yu}})}function ku(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function Su(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new x(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,k.CONFLICT)}}function Iu(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0?null:{pid:r,token:o}}async function Is(e){try{return Iu(await ae.readFile(Hr.join(e,ks),"utf8"))}catch{return null}}function xu(e){try{return process.kill(e,0),!0}catch(t){return!Ur(t,"ESRCH")}}async function Wr(e){try{return await ae.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function hs(e,t){let n=await Is(e);n===null||n.token!==t||await Wr(e)}async function gs(e){try{await ae.mkdir(e)}catch(n){return Ur(n,"EEXIST"),null}let t={pid:process.pid,token:du()};try{await ae.writeFile(Hr.join(e,ks),`${JSON.stringify(t)}
|
|
153
|
-
`,"utf8")}catch{return await Wr(e),null}return t}async function Cu(e){let t;try{let r=await ae.stat(e);if(t=Date.now()-r.mtimeMs,t<=bu)return!1}catch(r){return Se(r)}let n=await Is(e);return n!==null&&xu(n.pid)&&t<=wu?!1:Wr(e)}async function Tu(e,t){let n=`${e}${gu}`,r=await gs(n);if(r!==null)return async()=>hs(n,r.token);if(!await Cu(n))return null;let o=await gs(n);return o===null?null:async()=>hs(n,o.token)}async function Ou(e){let t=await Tu(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await bs(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!vs(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Su(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=hu)throw Ss(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Es(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function ce(e,t,n,r,o=!1,i=!0,s){let a=await re("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let y=ku(a.result);if(y)return async()=>{await Promise.resolve(y()),await re("lock_release",{pm_root:e,id:t,owner:r})}}let c=Co(e,t),d=Eu(s),u=Date.now(),f=0,m=_u;for(;;)try{return await fu(c,t,r,n),async()=>{await Es(c,"lock:release"),await re("lock_release",{pm_root:e,id:t,owner:r})}}catch(y){if(!Ur(y,"EEXIST"))throw new x(`Failed to acquire lock for ${t}: ${Oo(y)}`,k.GENERIC_FAILURE);let _=await bs(c);if(vs(_.info,n)){let v=await Ou({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:f,waitBudgetMs:d,startedAtMs:u,fallbackLockInfo:_});if(_=v.lockInfo,v.staleRemovalCounted&&(f+=1),v.shouldRetryCreate)continue}let b=Date.now()-u;if(d===0||b>=d)throw Ss(t,_.info,d===0?0:b);await vu(Math.min(m,d-b)),m=Math.min(m*2,pu)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b8c705a-8d80-576f-8642-f6f686cdbed9")}catch{}})();var Z=8,Rs=500,Ru="metadata-derived-index",Nu="metadata-cache.json",Du="metadata-cache-bodies.json",Mu="metadata-cache-collections.json",Lu="metadata-cache-delta.json",Pu="metadata-cache-manifest.json",xs=4,ju=["comments","notes","learnings","files","tests","test_runs","docs"];function Ns(){return jt(Re())}function kn(e){let t={...e},n={};for(let r of ju)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Ds(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Ms(e,t,n,r){let o=Au("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 Sn(e){return R.join(e,"runtime",Nu)}function In(e){return R.join(e,"runtime",Du)}function xn(e){return R.join(e,"runtime",Mu)}function Br(e){return R.join(e,"runtime",Lu)}function qr(e){return R.join(e,"runtime",Pu)}function Cn(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Fu=24,q=new Map,Tn=new WeakMap;function Gr(e){return Tn.get(e)??e.source_cursor}function $u(e,t){let n=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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 zu(e,t){if(!e)return;let n=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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 Hu(e,t){if(!e)return;let n=Gr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){Tn.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 Uu(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||($u(e,r),zu(t,r),Hu(n,r))}function Vr(e,t){q.size>=Fu&&!q.has(e)&&$t(q),q.set(e,t)}async function ye(e,t){let n;try{n=await z.stat(e)}catch{return q.delete(e),null}let r=q.get(e);if(r&&Et(r.signature,n.mtimeMs,n.ctimeMs,n.size))return q.delete(e),q.set(e,r),r.envelope;let o;try{o=t(await z.readFile(e,"utf8"))}catch{o=null}return Vr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Wu(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==Z||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Sn(e),i=await ye(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ye(Cn(o,t),r);return s===null&&St(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Vu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Z||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=In(e),o=await ye(r,n);return t&&o?.context_fingerprint!==t?await ye(Cn(r,t),n):o}async function Bu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Z||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=xn(e),o=await ye(r,n);return t&&o?.context_fingerprint!==t?await ye(Cn(r,t),n):o}async function Xr(e){let t=Br(e),n=await ye(t,r=>{let o=JSON.parse(r);return o.version!==Z||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 z.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Kr(e){let t=qr(e),n=await ye(t,r=>{let o=JSON.parse(r);return o.version!==Z||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 z.stat(t),await Ye(e)}catch{}return null}async function vt(e,t){await z.mkdir(R.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await z.stat(e);Vr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{q.delete(e)}let n=R.dirname(R.dirname(e));if(e===Sn(n)||e===In(n)||e===xn(n)){let r=Cn(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let c=await z.stat(r);Vr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{q.delete(r)}let o=R.dirname(e),i=R.extname(e),s=R.basename(e,i),a=(await z.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==R.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>R.join(o,c.name));if(a.length>xs){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await z.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-xs)))await z.rm(d.path,{force:!0}),q.delete(d.path)}}}function qu(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Ls(e,t,n){return e===void 0||qu(e,t,n)}function St(e,t){e&&!e.includes(t)&&e.push(t)}function Et(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Gu(e,t,n){let r=R.join(e,t);try{let o=await z.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!Se(o)&&St(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Xu(e,t){try{let n=await z.stat(R.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 vn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Xu(e,n))))}function kt(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&&Et(o,r.mtime_ms,r.ctime_ms,r.size)})}function Ku(e){return Ft.some(t=>e.toLowerCase().endsWith(t))}function Ju(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Yu(e,t,n){if(n)for(let r of await Q({path:e,scope:"project"}))St(t,r)}function Cs(e,t,n,r){if(e)return t&&n?n.collections:r}async function Qu(e,t,n){let r=await z.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=Wn(e);await Yu(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Et(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&Et(u,o,i,s),m=n.previousCollections[t],y=!n.forceSourceRead&&m!==void 0&&Et(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!y))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Cs(n.includeCollections,y,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let b=await z.readFile(e,"utf8"),v=en(b,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:D=>St(n.warnings,D)}),O=kn(v.metadata);return Ju(n.state.misses,n.includeBody,n.includeCollections,d,f,y),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:O.light,heavyMetadata:Cs(n.includeCollections,y,m,O.heavy),bodyLength:d?c.body_length:v.body.length,body:n.includeBody?v.body:void 0}}function Zu(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?Ds(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};Ls(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function ef(e,t,n,r){try{let o=await Qu(t,n,r);Zu(t,n,r,o)}catch{St(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function tf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function nf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function rf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function of(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function sf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Ku(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(ef(r,a,c,t))}return n}async function af(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!kt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await vt(Sn(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await vt(qr(e.pmRoot),{version:Z,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:R.relative(e.pmRoot,r.item_path),metadata:kn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await _s({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await En(e.pmRoot)}catch{}}async function cf(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 vt(In(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function df(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 vt(xn(e.pmRoot),{version:Z,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Jr(e,t,n={}){let r=await Kr(e);return n.required!==!0&&(r===null||r.entry_count<Rs)?async()=>{}:ce(e,Ru,30,t,!1,!1,3e3)}async function Qh(e,t){let n=await Kr(e);if(n===null)return null;let r=await Xr(e);if(r.invalid)return await Ye(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&&!kt(i,await vn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ts(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function Ye(e){await Promise.all([Sn(e),In(e),xn(e),Br(e),qr(e)].map(async t=>{await z.rm(t,{force:!0}),q.delete(t)})),await En(e)}async function lf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await z.stat(e.mutation.itemPath),n=kn(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 uf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Yr(e){let t=Ts(e.pmRoot,e.itemPath),n=e.previousItemPath?Ts(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Ye(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Ms(e.preferredFormat,e.typeToFolder,e.schema,Ns()),o=await Kr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Xr(e.pmRoot);if(s.invalid)return await Ye(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=uf(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 lf({mutation:e});let d=As();return await vt(Br(e.pmRoot),{version:Z,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await vn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await ps({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:kn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await En(e.pmRoot),[]}catch{return await Ye(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function ff(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Os(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function mf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function _f(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=Wn(n);if(!o)continue;let i=e.includeCollections?Ds(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Ls(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:R.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function pf(e){return e.forceSourceScan||Cr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!kt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Os(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Os(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&mf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function On(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Ns(),d=Ms(t,n,o,c),u=await Xr(e);u.invalid&&await Ye(e);let f=await Wu(e,d,i.cacheDiagnostics),m=s?await Vu(e,d):null,y=a?await Bu(e,d):null;Uu(f,m,y,u.envelope);let _=tf(f,d),b=nf(m,d),v=rf(y,d),O=[...new Set(Object.values(n))],D=await vn(e,O),P=Object.keys(_),j=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Rs));if(pf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:y,directorySignatures:D,entryKeys:P,minimumIndexedItems:j,includeBody:s,includeCollections:a,previousBodies:b,previousCollections:v}))return _f({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:b,previousCollections:v});let J=await Promise.all(O.map(Ta=>Gu(e,Ta,r))),ve=Cr(),U=of(),$n={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:ve,previousEntries:_,previousBodies:b,previousCollections:v,state:U};await Promise.all(sf(J,$n));let Ot=await vn(e,O),At=kt(D,Ot)?Ot:{},zn=U.misses.metadata||Object.keys(_).length!==Object.keys(U.newEntries).length||!kt(f?.directory_signatures,At)||f===null?As():f.source_cursor;return await af({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingCache:f,previousEntries:_,directorySignatures:At,state:U,minimumIndexedItems:j}),s&&await cf({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingBodyCache:m,previousBodies:b,state:U}),a&&await df({pmRoot:e,contextFingerprint:d,sourceCursor:zn,existingCollectionsCache:y,previousCollections:v,state:U}),ff(U)}async function Ps(e,t,n,r,o){return(await On(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function js(e,t,n,r,o){return(await On(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]="d49d73c9-f988-5c3c-a22d-0580ee5526f6")}catch{}})();function he(){let e=Ro();for(let t of Re()?.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]="924f7718-0527-5967-8ab0-53e8228bd665")}catch{}})();function It(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function An(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function yf(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 hf(e,t){let n=[...e].sort(),r=yf(n,t),o=new Set,i=gf(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=bf(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 gf(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 bf(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 Fs(e){let t=new Map;for(let n of e){let r=It(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function wf(e,t,n){let r=It(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 Ef(e,t,n,r){let o=It(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 $s(e,t){let n=new Map;for(let[r,o]of e){let i=wf(r,o,e);i&&n.set(An(i),i);for(let s of o.dependencies??[]){let a=Ef(r,s,e,t);a&&n.set(An(a),a)}}return[...n.values()].sort((r,o)=>An(r).localeCompare(An(o)))}function sg(e,t=he()){return $s(Fs(e),t)}function vf(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 kf(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=It(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 Rn(e,t=r=>r==="closed"||r==="canceled",n=he()){let r=Fs(e),o=$s(r,n),i=Sf(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=hf([...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:vf(o,i.parents_by_child,s),divergences:kf(r,o,s)}}function ag(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 Sf(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 Qr(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function cg(e,t,n,r,o){let i=It(n);if(!i)return;let s=Rn(e,r,o),a=Rn(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&&Qr(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new x(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,k.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&&Qr(f.parent_ids,m.parent_ids)));if(d)throw new x(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,k.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=>Qr(f.item_ids,m.item_ids)));if(u)throw new x(`Hierarchy mutation would create a cycle: ${u.item_ids.join(" -> ")}.`,k.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]="1b2f1ac3-82b3-58a2-9f40-2dd95ab1b2bc")}catch{}})();var zs="global",If="external";function Qe(e){let t=e?.trim().toLowerCase();return t===zs||t===If}function ug(e){let t=e?.trim();if(t)return Qe(t)?zs:t}function fg(e,t,n){let r=e.trim();return Qe(n)?r:gt(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]="9a6974b3-63d7-5dc7-8329-0f15f0dc83ec")}catch{}})();function et(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Zr(e){let t=et(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Ze(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function xf(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=et(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${o.toLowerCase()}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Cf(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 xf(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=Ze(r.holder_id,o.holder_id);if(i!==0)return i;let s=Ze(r.target_id,o.target_id);return s!==0?s:Ze(r.kind,o.kind)})}function Tf(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=et(n.id);if(!i||i.toLowerCase()!==t.toLowerCase())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 Of(e,t=r=>r==="closed"||r==="canceled",n=he()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=et(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=Tf(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=Ze(o.holder_id,i.holder_id);if(s!==0)return s;let a=Ze(o.target_id,i.target_id);return a!==0?a:Ze(o.dependency_kind,i.dependency_kind)})}function Af(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)=>{let m=et(d);if(!m||r.has(m.toLowerCase()))return;let y={holder_id:c.id.trim(),target_id:m,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:m.toLowerCase()==="no-active-blocker"};o.set(`${y.holder_id}::${y.target_id}::${y.kind}::${y.source}`,y)};for(let c of n){i(c,c.parent,"parent","parent"),i(c,c.blocked_by,"blocked_by","blocked_by");for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;Qe(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency")}}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 Rf(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 Nf(e){let t=new Map;for(let n of e)for(let r of n.dependencies??[]){if(typeof r!="object"||r===null||!Qe(r.source_kind))continue;let o=et(r.id);o&&!t.has(o.toLowerCase())&&t.set(o.toLowerCase(),o)}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Hs=new WeakMap;function gg(e){return e.hierarchyIntegrity??Hs.get(e)}function Df(e,t=he()){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 bg(e,t,n){let r=n??he(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Af(o,t),a=Rf(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Nf(o),d=new Set(i.keys()),u=new Map;for(let _ of c){let b=_;for(;d.has(b.toLowerCase());)b=`external:${b}`;u.set(_.toLowerCase(),b),d.add(b.toLowerCase())}let f=o.map(_=>{let b=Zr(_.parent),v=Zr(_.blocked_by),O=(_.dependencies??[]).flatMap(D=>{if(typeof D!="object"||D===null)return[];let P=D,j=Zr(P.id);return j?[{id:Qe(P.source_kind)?u.get(j.toLowerCase()):i.get(j.toLowerCase()),kind:typeof P.kind=="string"?P.kind:"related"}]:[]});return{id:_.id.trim(),...b?{parent:i.get(b.toLowerCase())}:{},...v?{blocked_by:i.get(v.toLowerCase())}:{},dependencies:O}}),m=Rn(o,t,r),y={graph:No.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:u.get(_.toLowerCase())}))],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(_.toLowerCase()),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Cf(o,t),orderingContradictions:Of(o,t,r),legacyAliasCounts:Df(o,r),hierarchyIntegrity:m};return Hs.set(y,m),y}import Mf from"node:fs/promises";import tt 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]="9027d972-ce29-5511-ba81-27e17d97446e")}catch{}})();var xt="_workspace";function eo(e){return tt.join(e,"history",`${xt}.jsonl`)}function Lf(e,t){return{metadata:{id:xt,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function to(e,t=e.length){let n=mn();for(let r of e.slice(0,t))n=pn(n,r.patch).document;return _n(n)}function Us(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function no(e){throw new x(`Workspace history verification failed: ${e.join(", ")}`,k.CONFLICT,{code:"workspace_history_chain_invalid",reason:"workspace_history_chain_verification_failed",verification_errors:[...e],required:"Repair the _workspace history chain before reading, reconciling, restoring, or appending audited singleton state.",why:"Continuing against an unverifiable append-only stream could hide or compound workspace state corruption.",examples:["pm history _workspace --verify --json","pm validate --check-history-drift --fix-hints --json"],nextSteps:["Inspect the exact verification_errors and preserve the corrupt stream as evidence.","Use the history-drift remediation returned by validate before retrying the refused operation."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify --json"}})}function Pf(e,t){let n=tt.resolve(t),r=tt.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||tt.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Ng(e){let t=await Be(eo(e),xt),n=yn(t);n.ok||no(n.errors);let r=Us(t.length===0?Le:to(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Pf(e,tt.resolve(e,c));if(d=await le(u.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(L(f)===L(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function Ws(e){let t=eo(e.pmRoot),n=await Be(t,xt),r=yn(n);r.ok||no(r.errors);let o=e.idempotencyKey===void 0?void 0:n.find(f=>f.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=new Date().toISOString(),s=n.length===0?Le:to(n),a=Us(s),c=a[e.documentPath];if(c!==void 0&&L(c)!==L(e.before))throw new x(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,k.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let d=Lf({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=Xe({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:d,message:e.message});return await Ke(t,u),{entry:u,historyPath:t}}async function Dg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ws(e)}finally{await t()}}async function Mg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=eo(e.pmRoot),r=await Be(n,xt),o=yn(r);o.ok||no(o.errors);let i=r.length===0?Le:to(r),s=Xe({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Ke(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Vs(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await W(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await Ws({pmRoot:e.pmRoot,documentPath:tt.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await Mf.rm(e.filePath,{force:!0}):await W(e.filePath,t),o}return!0}async function Lg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await le(e.filePath),r=await e.mutate(n);return{changed:await Vs({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function Bs(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Vs(e,await le(e.filePath))}finally{await 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]="0e135793-d2ed-505b-b73e-6db55218d8af")}catch{}})();var $={ok:!1},p=e=>typeof e=="string"?{ok:!0,value:e}:$,C=e=>typeof e=="boolean"?{ok:!0,value:e}:$;function A(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?$:{ok:!0,value:t}}function T(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:$}function h(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return $;let r=[];for(let o of n){let i=e(o);if(!i.ok)return $;r.push(i.value)}return{ok:!0,value:r}}}function oo(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}:$}function l(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function Nn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return $;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return $;n[r]=i.value}return{ok:!0,value:n}}}function I(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return $;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return $;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var jf=I({key:p,values:h(p),required:l(C),aliases:l(h(p)),description:l(p)}),Ff=I({command:T("create","update"),option:p,required:l(C),visible:l(C),enabled:l(C)}),$f=I({name:p,description:l(p),default_status:l(p),folder:l(p),aliases:l(h(p)),required_create_fields:l(h(p)),required_create_repeatables:l(h(p)),options:l(h(jf)),command_option_policies:l(h(Ff))}),zf=I({id:p,aliases:l(h(p)),roles:l(h(T(...ho))),description:l(p),order:l(A())}),Hf=I({key:p,metadata_key:l(p),front_matter_key:l(p),cli_flag:l(p),cli_aliases:l(h(p)),description:l(p),type:l(T(...go)),commands:l(h(T(...bo))),repeatable:l(C),required:l(C),required_on_create:l(C),required_types:l(h(p)),allow_unset:l(C)}),Uf=e=>{if(!Array.isArray(e)||e.length!==2)return $;let[t,n]=e;return typeof t!="string"||typeof n!="string"?$:{ok:!0,value:[t,n]}},Wf=I({type:p,allowed_transitions:h(Uf)}),Vf=l(I({version:l(A({int:!0})),files:l(I({types:l(p),statuses:l(p),fields:l(p),workflows:l(p)})),statuses:l(h(zf)),fields:l(h(Hf)),workflow:l(I({draft_status:l(p),open_status:l(p),in_progress_status:l(p),blocked_status:l(p),close_status:l(p),canceled_status:l(p)})),type_workflows:l(h(Wf)),unknown_field_policy:l(T(...wo))})),Bf=l(I({preset:l(T(...Eo)),ownership_enforcement:l(T("none","warn","strict")),create_mode_default:l(T("progressive","strict")),close_validation_default:l(T("off","warn","strict")),require_close_reason:l(C),parent_reference:l(T("warn","strict_error")),metadata_profile:l(T("core","strict","custom")),force_required_for_stale_lock:l(C),create_default_type:l(p),workflow_enforcement:l(T("off","warn","strict")),duplicate_detection_mode:l(T("off","advisory","strict")),duplicate_detection_threshold:l(A({min:0,max:1})),duplicate_detection_limit:l(A({int:!0,min:0,max:20}))})),qf=I({name:p,disabled:l(C),require_trusted:l(C),require_provenance:l(C),sandbox_profile:l(T("none","restricted","strict")),allowed_capabilities:l(h(p)),blocked_capabilities:l(h(p)),allowed_surfaces:l(h(p)),blocked_surfaces:l(h(p)),allowed_commands:l(h(p)),blocked_commands:l(h(p)),allowed_actions:l(h(p)),blocked_actions:l(h(p)),allowed_services:l(h(p)),blocked_services:l(h(p))}),ro=T("block","warn"),Gf=e=>typeof e=="string"?ro(e):I({global:l(ro),project:l(ro)})(e),Xf=l(I({mode:l(T("off","warn","enforce")),trust_mode:l(T("off","warn","enforce")),pm_max_version_exceeded_mode:l(Gf),require_provenance:l(C),trusted_extensions:l(h(p)),default_sandbox_profile:l(T("none","restricted","strict")),allowed_extensions:l(h(p)),blocked_extensions:l(h(p)),allowed_capabilities:l(h(p)),blocked_capabilities:l(h(p)),allowed_surfaces:l(h(p)),blocked_surfaces:l(h(p)),allowed_commands:l(h(p)),blocked_commands:l(h(p)),allowed_actions:l(h(p)),blocked_actions:l(h(p)),allowed_services:l(h(p)),blocked_services:l(h(p)),extension_overrides:l(h(qf))})),Me=oo(128),Kf=I({harness:oo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(h(Me,64)),model_environment_keys:l(h(Me,64)),session_environment_keys:l(h(Me,64)),provenance_environment_keys:l(Nn(h(Me,64))),provenance_resolvers:l(Nn(T("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(h(Me,64)),argv_markers:l(h(Me,64)),client_names:l(h(Me,64))}),Jf=I({version:A({int:!0}),id_prefix:p,ids:l(I({token_length:l(A({int:!0,min:4,max:12}))})),author_default:p,agent_identity:l(I({probes_enabled:l(C),identity_vocabulary:l(I({version:A({int:!0,positive:!0}),aliases:Nn(oo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:h(Kf)})),mutation_guard:l(I({require_attributed_author:l(C),secret_guard:l(T("off","advise","block")),stale_in_progress_hours:l(A({int:!0,positive:!0}))})),item_format:l(T("toon","json_markdown")),locks:I({ttl_seconds:A({int:!0}),wait_ms:l(A({int:!0,min:0}))}),checkpoints:l(I({retention_days:l(A({int:!0,positive:!0}))})),output:I({default_format:T("toon","json")}),ux:l(I({deprecation_hints:l(C)})),history:l(I({missing_stream:T("auto_create","strict_error"),compact_policy:l(I({enabled:l(C),max_entries:l(A({int:!0,positive:!0})),trigger:l(T("health_warn","auto"))}))})),validation:l(I({sprint_release_format:T("warn","strict_error"),parent_reference:l(T("warn","strict_error")),metadata_profile:l(T("core","strict","custom")),metadata_required_fields:l(h(p)),lifecycle_stale_blocker_reason_patterns:l(h(p)),lifecycle_closure_like_blocked_reason_patterns:l(h(p)),lifecycle_closure_like_resolution_patterns:l(h(p)),lifecycle_closure_like_actual_result_patterns:l(h(p)),estimate_defaults_by_type:l(Nn(A({int:!0,positive:!0})))})),governance:Bf,workflow:l(I({definition_of_done:h(p)})),testing:l(I({record_results_to_items:C,allow_untrusted_linked_tests:l(C)})),telemetry:l(I({enabled:C,first_run_prompt_completed:l(C),capture_level:l(T("minimal","redacted","max")),endpoint:l(p),installation_id:l(p),retention_days:l(A({int:!0,positive:!0}))})),agent_guidance:l(I({prompt_completed:l(C),declined:l(C),declined_at:l(p),template_version:l(A({int:!0,positive:!0})),last_checked_files:l(h(p))})),item_types:l(I({definitions:h($f)})),schema:Vf,context:l(I({default_depth:l(T("brief","standard","deep")),activity_limit:l(A({int:!0,positive:!0})),stale_threshold_days:l(A({int:!0,positive:!0})),sections:l(I({hierarchy:l(C),activity:l(C),progress:l(C),recently_created:l(C),unparented:l(C),blockers:l(C),files:l(C),workload:l(C),staleness:l(C),tests:l(C)}))})),extensions:I({enabled:h(p),disabled:h(p),policy:Xf}),search:I({score_threshold:A(),hybrid_semantic_weight:l(A()),max_results:A({int:!0}),embedding_model:p,embedding_corpus_max_characters:l(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:l(A({int:!0})),scanner_max_batch_retries:A({int:!0}),provider:l(p),corpus_fields:l(h(p)),mutation_refresh_policy:l(T("cache_only","semantic_configured","semantic_auto")),query_expansion:l(I({enabled:l(C),provider:l(p)})),rerank:l(I({enabled:l(C),model:l(p),top_k:l(A({int:!0,positive:!0}))})),bm25:l(I({k1:l(A()),b:l(A())}))}),providers:I({openai:I({base_url:p,api_key:p,model:p}),ollama:I({base_url:p,model:p})}),vector_store:I({adapter:l(p),collection_name:l(p),qdrant:I({url:p,api_key:p}),lancedb:I({path:p})})});function qs(e){let t=Jf(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]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var Yf={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Gs=120;function io(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ks(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Qf=Ks(Yf),Xs=new WeakMap;function Zf(e){let t=Xs.get(e);if(t)return t;let n=Ks(e);return Xs.set(e,n),n}function $g(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Gs;if(t){let o=Zf(t).get(n);if(io(o))return Math.floor(o)}let r=Qf.get(n);return io(r)?Math.floor(r):Gs}function so(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||!io(r)||(t[o]=Math.floor(r))}return t}import{stat as em}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]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var Dn=new Map;function Js(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function tm(e){try{let t=await em(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function ge(e){let t=Js(e),n=await Promise.all(t.map(r=>tm(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Ct(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 Ys(e){return Dn.get(e)}function Mn(e,t){let n=Js(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));Dn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function be(e){if(e){Dn.delete(e);return}Dn.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]="5b95183e-9fd3-55cf-9059-8736f692e96e")}catch{}})();var nm="settings:write",na=Symbol("pm.settings.persist_source"),rm=128,om=new Set(["off","advisory","strict"]);function Qs(e){return structuredClone(ko[e])}function im(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:w.governance.preset}function Zs(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 sm(e){return e.preset==="custom"?Zs({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):Zs({preset:e.preset},e)}function am(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),om.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 Pn(e){let t=e.governance??{},n=im(t.preset),r=am(t);if(n==="custom"){let s=Qs("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=Qs(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function ra(){return structuredClone(w)}function oa(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:w.search.mutation_refresh_policy}function ia(e){return typeof e=="boolean"?e:w.search.query_expansion.enabled}function sa(e){return typeof e!="string"?w.search.query_expansion.provider:e.trim()}function aa(e){return typeof e=="boolean"?e:w.search.rerank.enabled}function ca(e){return typeof e!="string"?w.search.rerank.model:e.trim()}function da(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:w.search.rerank.top_k}function la(e){if(typeof e!="string")return w.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,rm);return n.length>0?n:w.vector_store.collection_name}function ao(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function cm(e,t){let n=e.schema,r=ao(n?.statuses),o=ao(n?.fields),i=ao(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:nt(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:nt(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 ua(e,t){Object.defineProperty(e,na,{value:t,writable:!0,configurable:!0,enumerable:!1})}function fa(e){let t=e[na];if(!(!t||typeof t!="object"))return t}function Ln(e){let t=structuredClone(e.settings),n=fa(e.settings);return n&&ua(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function dm(e,t,n){let r=dt(t);return[n,lt(e,r.files.types,ct.types),lt(e,r.files.statuses,ct.statuses),lt(e,r.files.fields,ct.fields),lt(e,r.files.workflows,ct.workflows)]}async function lm(e,t,n){let r=await ge(t);Mn(e,{tracked_paths:t,signatures:r,value:Ln(n)})}async function um(e,t,n){try{await lm(e,t,n)}catch{be(e)}}function ea(e,t){return e.find(n=>n.path===t)}function fm(e,t,n){for(let r of n){let o=ea(e,r),i=ea(t,r);if(!o||!i||!Ct([o],[i]))return!1}return!0}async function co(e,t,n,r,o){try{let i=await ge(t);if(!fm(r,i,o)){be(e);return}Mn(e,{tracked_paths:t,signatures:i,value:Ln(n)})}catch{be(e)}}function mm(e,t){let n=dt(e.schema),r=nt(e.item_types?.definitions);if(!t)return{item_type_definitions:r,schema_statuses:n.statuses,schema_fields:n.fields,schema_type_workflows:n.type_workflows};let o=n.type_workflows??[],i=je(r,t.runtime_item_type_definitions),s=je(n.statuses,t.runtime_schema_statuses),a=je(n.fields,t.runtime_schema_fields),c=je(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?nt(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 Tt(e){return{settings:ra(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function _m(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function uo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function ma(e){let t=w.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:uo(e?.last_checked_files??t.last_checked_files)}}function K(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function pm(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.mode}function ym(e){return e==="off"||e==="warn"||e==="enforce"?e:w.extensions.policy.trust_mode}function _a(e){return e==="none"||e==="restricted"||e==="strict"?e:w.extensions.policy.default_sandbox_profile}function hm(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=_a(e.sandbox_profile));let r=K(e.allowed_capabilities),o=K(e.blocked_capabilities),i=K(e.allowed_surfaces),s=K(e.blocked_surfaces),a=K(e.allowed_commands),c=K(e.blocked_commands),d=K(e.allowed_actions),u=K(e.blocked_actions),f=K(e.allowed_services),m=K(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 gm(e){let t=new Map;for(let n of e??[]){let r=hm(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function lo(e){return e==="block"||e==="warn"?e:void 0}function bm(e){if(typeof e=="string")return lo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=lo(e.global),n=lo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function V(e,t){return K(e?.[t]??w.extensions.policy[t])}function pa(e){let t=bm(e?.pm_max_version_exceeded_mode);return{mode:pm(e?.mode),trust_mode:ym(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:V(e,"trusted_extensions"),default_sandbox_profile:_a(e?.default_sandbox_profile),allowed_extensions:V(e,"allowed_extensions"),blocked_extensions:V(e,"blocked_extensions"),allowed_capabilities:V(e,"allowed_capabilities"),blocked_capabilities:V(e,"blocked_capabilities"),allowed_surfaces:V(e,"allowed_surfaces"),blocked_surfaces:V(e,"blocked_surfaces"),allowed_commands:V(e,"allowed_commands"),blocked_commands:V(e,"blocked_commands"),allowed_actions:V(e,"allowed_actions"),blocked_actions:V(e,"blocked_actions"),allowed_services:V(e,"allowed_services"),blocked_services:V(e,"blocked_services"),extension_overrides:gm(e?.extension_overrides??w.extensions.policy.extension_overrides)}}function ya(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 we(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function M(e,t){return e===void 0?t:e}function B(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function fo(e){return Array.isArray(e)?e:[]}function wm(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:ya(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:we(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:we(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:we(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:we(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:so(e.validation?.estimate_defaults_by_type)}}function Em(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 vm(e,t){return{...t.search,...e.search,mutation_refresh_policy:oa(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:ia(e.search?.query_expansion?.enabled),provider:sa(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:aa(e.search?.rerank?.enabled),model:ca(e.search?.rerank?.model),top_k:da(e.search?.rerank?.top_k)}}}function km(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:la(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Sm(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Im(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 xm(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function nt(e){let t=(e??[]).map(r=>Io(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 ha(e){let t=ra(),n=Pn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Sm(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:wm(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:Em(e,t),agent_guidance:ma(e.agent_guidance??t.agent_guidance),item_types:{definitions:nt(e.item_types?.definitions)},schema:dt(e.schema??t.schema),context:Im(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:pa(e.extensions.policy??t.extensions.policy)},search:vm(e,t),providers:xm(e,t),vector_store:km(e,t)}}function Cm(e){e.agent_identity=S(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=S(B(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=fo(e.agent_identity.harness_signals).map(n=>S(B(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=S(e.locks,["ttl_seconds","wait_ms"]),e.ids=S(e.ids,["token_length"]),e.mutation_guard=S(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=S(e.checkpoints,["retention_days"]),e.output=S(e.output,["default_format"]),e.ux=S(e.ux,["deprecation_hints"]),e.history=S(e.history,["missing_stream","compact_policy"]),e.validation=S(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=S(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=S(e.workflow,["definition_of_done"]),e.testing=S(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=S(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=S(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=S(e.item_types,["definitions"]),e.schema=S(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=S(B(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=S(B(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=S(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=S(B(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=S(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=S(B(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=fo(e.extensions.policy.extension_overrides).map(n=>S(B(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=S(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","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=S(B(e.search.query_expansion),["enabled","provider"]),e.search.rerank=S(B(e.search.rerank),["enabled","model","top_k"]),e.providers=S(e.providers,["openai","ollama"]),e.providers.openai=S(B(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=S(B(e.providers.ollama),["base_url","model"]),e.vector_store=S(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=S(B(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=S(B(e.vector_store.lancedb),["path"])}function Tm(e){return{...e,locks:M(e.locks,w.locks),ids:M(e.ids,w.ids),agent_identity:M(e.agent_identity,w.agent_identity),mutation_guard:M(e.mutation_guard,w.mutation_guard),checkpoints:M(e.checkpoints,w.checkpoints),output:M(e.output,w.output),ux:M(e.ux,w.ux),history:M(e.history,w.history),validation:M(e.validation,w.validation),workflow:M(e.workflow,w.workflow),testing:M(e.testing,w.testing),telemetry:M(e.telemetry,w.telemetry),agent_guidance:M(e.agent_guidance,w.agent_guidance),item_types:M(e.item_types,w.item_types),schema:M(e.schema,w.schema),context:M(e.context,w.context),extensions:M(e.extensions,w.extensions),search:M(e.search,w.search),providers:M(e.providers,w.providers),vector_store:M(e.vector_store,w.vector_store)}}function Om(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:ya(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:we(e.validation?.lifecycle_stale_blocker_reason_patterns??w.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:we(e.validation?.lifecycle_closure_like_blocked_reason_patterns??w.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:we(e.validation?.lifecycle_closure_like_resolution_patterns??w.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:we(e.validation?.lifecycle_closure_like_actual_result_patterns??w.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:so(e.validation?.estimate_defaults_by_type)}}function Am(e){return{...w.search,...e.search,mutation_refresh_policy:oa(e.search?.mutation_refresh_policy),query_expansion:{...w.search.query_expansion,...e.search?.query_expansion,enabled:ia(e.search?.query_expansion?.enabled),provider:sa(e.search?.query_expansion?.provider)},rerank:{...w.search.rerank,...e.search?.rerank,enabled:aa(e.search?.rerank?.enabled),model:ca(e.search?.rerank?.model),top_k:da(e.search?.rerank?.top_k)}}}function Rm(e){return{default_depth:e.context?.default_depth??w.context.default_depth,activity_limit:e.context?.activity_limit??w.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??w.context.stale_threshold_days,sections:{...w.context.sections,...e.context?.sections}}}function Nm(e){return{...e.vector_store,adapter:e.vector_store?.adapter??w.vector_store.adapter,collection_name:la(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function Dm(e,t,n,r){return{...e,item_format:"toon",validation:Om(e,t),governance:t,agent_guidance:ma(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:Am(e),context:Rm(e),extensions:{enabled:uo(e.extensions?.enabled),disabled:uo(e.extensions?.disabled),policy:pa(e.extensions?.policy)},vector_store:Nm(e)}}function ga(e,t,n){let r=new Set([...Object.keys(t),...Object.keys(n)]);for(let o of r){let i=t[o],s=n[o];if(!je(i,s)){if(s===void 0){delete e[o];continue}if(typeof i=="object"&&i!==null&&!Array.isArray(i)&&typeof s=="object"&&s!==null&&!Array.isArray(s)){let a=e[o],c=typeof a=="object"&&a!==null&&!Array.isArray(a)?a:{};ga(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var ba=["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 ta(e,t){let n=Tm(e),r=Pn(n),o=dt(n.schema),i=mm(n,t),s=Dm(n,r,o,i),a=S({...s,governance:sm(r)},ba);return Cm(a),a}function Mm(e,t={}){let n=ta(e,t.persist_source);if(t.persist_source){let r=ha(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=ta(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return ga(i,o,n),`${JSON.stringify(S(i,ba),null,2)}
|
|
154
|
-
`}return`${JSON.stringify(n,null,2)}
|
|
155
|
-
`}async function wa(e){let t=st(e),n=[t];await Q({path:t,scope:"project"});let r=Ys(e);if(r){let d=await ge(r.tracked_paths);if(Ct(d,r.signatures))return Ln(r.value)}let o=await ge([t]),i;try{i=await le(t)}catch{return Tt("settings_read_fs_error")}if(i===null){let d=Tt();return await co(e,[t],d,o,[t]),d}let s=await ge([t]);if(!Ct(o,s))return be(e),wa(e);let a;try{a=JSON.parse(i)}catch{let d=Tt("settings_read_invalid_json");return await co(e,[t],d,s,[t]),d}let c=qs(a);if(!c.success){let d=Tt("settings_read_invalid_schema");return await co(e,[t],d,s,[t]),d}try{let d=ha(c.data),u=dm(e,d.schema,t);n=u;let f=await ge(u),m=await zo(e,d.schema),y=await Ho(e,d.schema),_=await ge(u),b={...d,item_types:{definitions:nt([...d.item_types.definitions,...fo(y.type_definitions_from_file)])},schema:y.schema};ua(b,cm(c.data,b));let v={settings:b,metadata:{has_explicit_item_format:_m(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(O=>`runtime_schema_bootstrap_created:${O}`),...y.warnings]};return m.created_paths.length===0?Ct(f,_)?Mn(e,{tracked_paths:u,signatures:_,value:Ln(v)}):be(e):be(e),v}catch{let d=Tt("settings_read_merge_failed");return await um(e,n,d),d}}async function tb(e){return(await wa(e)).settings}async function nb(e,t,n=nm){let r=st(e),o=Mm(t,{persist_source:fa(t)});try{await Bs({pmRoot:e,filePath:r,raw:o,op:n,author:ci(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await X({path:r,scope:"project",op:n})}finally{be(e)}}import Lm from"node:fs/promises";import Pm 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]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function jm(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function Fm(e,t){return new x(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,k.NOT_FOUND)}async function $m(e,t){return await So(Pm.dirname(e)),await(await Lm.open(e,"a")).close(),X({path:e,scope:"project",op:`${t}:history:auto_create`})}async function mo(e){return zm({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function zm(e){let t=jm(e.itemIds),n=[],r=[];for(let o of t){let i=at(e.pmRoot,o);if(!await Pe(i)){if(e.settings.history.missing_stream==="strict_error")throw Fm(o,e.commandLabel);r.push(...await $m(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import po from"node:fs/promises";import jn 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]="8b0efe32-43f5-51ed-b1d5-5c26a3ae5bf0")}catch{}})();function Ee(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function yo(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 Fn(e){return new x(`Tracker root is not a directory at ${e}.`,k.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 _o(e){return new x(`Tracker root is not readable at ${e}.`,k.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 Hm(e){let t=jn.resolve(e),n=jn.parse(t).root,r=jn.dirname(t);for(;r!==n;){let o;try{o=await po.stat(r)}catch(i){if(Ee(i,"ENOTDIR"))throw Fn(e);if(!Ee(i,"ENOENT"))throw i;r=jn.dirname(r);continue}if(!o.isDirectory())throw Fn(e);return}}async function rt(e){let t;try{t=await po.stat(e)}catch(n){throw Ee(n,"ENOENT")?(await Hm(e),new x(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,k.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:yo(e)})):Ee(n,"ENOTDIR")?Fn(e):Ee(n,"EACCES")||Ee(n,"EPERM")?_o(e):n}if(!t.isDirectory())throw Fn(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw _o(e);try{await(await po.opendir(e)).close()}catch(n){throw Ee(n,"EACCES")||Ee(n,"EPERM")?_o(e):n}}async function Um(e){if(await rt(e),!await Pe(st(e)))throw new x(`Tracker is not initialized at ${e}. Run pm init first.`,k.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:yo(e)})}import ot from"node:fs/promises";import Wm 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]="bffd3114-3e85-58ae-90c7-eea5069cdb89")}catch{}})();async function Vm(e){try{return await ot.access(e),!0}catch{return!1}}function Bm(e,t){e&&(e.includes(t)||e.push(t))}function Ea(e){return e??jt(Re())}function qm(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function va(e,t,n="pm-",r,o=ke){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=gt(t,n),c=zr(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),u=Object.entries(o),f=qm(r);for(let m of d)for(let[y]of u)for(let _ of f){let b=Un(e,y,m,_,o);if(await Vm(b))return{id:m,type:y,itemPath:b,item_format:_}}return null}async function ka(e,t={}){let n=await ot.readFile(e.itemPath,"utf8");await Q({path:e.itemPath,scope:"project"});let r=en(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ea(t.extensionFieldNames),onWarning:o=>Bm(t.warnings,o)});return{raw:n,document:r}}async function Gm(e,t,n=ke,r,o){return await rt(e),(await Ps(e,t,n,r,o)).map(s=>s.metadata)}async function $b(e,t,n=ke,r,o){return await rt(e),(await js(e,t,n,r,o)).map(s=>s.metadata)}async function zb(e,t,n=ke,r,o,i={}){return await rt(e),(await On(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Sa(e){return{async get(t){let n=await va(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await ka(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>Gm(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function Xm(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ot.readdir(Wm.join(e,o));for(let s of i)for(let a of Ft)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Km(e,t,n,r){let o=gt(t,n),i=await Xm(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Rt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function Jm(e,t,n,r){let o=await Km(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 x(`Item ${t} not found`,k.NOT_FOUND,{nextSteps:i})}function Ym(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 Ia(e){let t=e.typeToFolder??xo(e.settings,Re()).type_to_folder,n=await va(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Jm(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await ce(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 ka(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=ai(e.author),u=Pn(e.settings);if(a&&c!==d&&!e.force&&!Ym(e.op,e.bypassAssigneeConflict)){if(u.ownership_enforcement==="strict")throw new x(`Item ${n.id} is assigned to ${a}. Use --force to override.`,k.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 Qm(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 Zm(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await W(e.originalItemPath,e.originalRaw),await ot.rm(e.effectiveTargetItemPath,{force:!0});return}await W(e.originalItemPath,e.originalRaw)}}async function xa(e){let t=await Ia({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=G(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=G(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=Oe();let m=G(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await xr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Sa({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await mo({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",b=Ai(m,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),v=Un(e.pmRoot,m.metadata.type,r.id,_,n),O=at(e.pmRoot,r.id),D=await re("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:v,history_path:O,item_format:_,before:c,after:m,contents:b}),{effectiveTargetItemPath:P,effectiveSerializedAfter:j,skipItemWrite:J}=Qm(D,v,b),ve=await Jr(e.pmRoot,e.author),U=[];try{J||await W(P,j),!J&&P!==r.itemPath&&await ot.rm(r.itemPath);let Ot=Xe({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:f});try{await Ke(O,Ot)}catch(At){throw await Zm({skipItemWrite:J,effectiveTargetItemPath:P,originalItemPath:r.itemPath,originalRaw:o}),At}J||(U=await Yr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:P,previousItemPath:r.itemPath,document:m}))}finally{await ve()}let $n=[...await X({path:P,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:u.changedFields}),...await X({path:O,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 Ir({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:tn(c.metadata,u.changedFields),current:tn(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...y.warnings,...D.warnings,...U,...$n]}}finally{await a()}}async function Hb(e){return xa(e)}async function Ub(e){return xa(e)}async function Wb(e){let t=await Ia({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=Ea(void 0),c=G(o,{schema:e.settings.schema,extensionFieldNames:a});await xr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Sa({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let d=await mo({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),u=Oe(),f=Le,m=Xe({nowIso:u,author:e.author,op:"delete",before:c,after:f,message:e.message}),y=at(e.pmRoot,n.id),_=await re("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:y,before:c}),b=n.itemPath,v=!1;if(_.handled&&typeof _.result=="object"&&_.result!==null){let j=_.result;typeof j.item_path=="string"&&j.item_path.trim().length>0&&(b=j.item_path),j.skip_delete===!0&&(v=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:b,warnings:[...i,...d.warnings,..._.warnings]};let O=await Jr(e.pmRoot,e.author),D=[];try{v||await ot.rm(b);try{await Ke(y,m)}catch(j){throw v||await W(b,r),j}v||(D=await Yr({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:b,document:null}))}finally{await O()}let P=[...await X({path:b,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]}),...await X({path:y,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:f,changed_fields:["deleted"]})];return Ir({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:tn(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,..._.warnings,...D,...P]}}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]="745b9c3b-538c-558f-b018-b406ca4318f0")}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]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function e_(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:Rt(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 Ca(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Jb(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,y)=>m.localeCompare(y));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:e_(r,o),u=Ca([...i,r,...s]),f=e.retry_command??(d?Ca([...i,d,...s]):void 0);return new x(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??k.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}})}export{Cp as a,Zd as b,zp as c,cl as d,Hp as e,Up as f,Wp as g,Vp as h,Bp as i,qp as j,Gp as k,Re as l,Ir as m,tn as n,X as o,xr as p,Q as q,Cr as r,Xp as s,Kp as t,re as u,Ol as v,xe as w,Bn as x,r_ as y,o_ as z,Ht as A,Jn as B,u_ as C,f_ as D,m_ as E,__ as F,p_ as G,y_ as H,or as I,ir as J,ti as K,I_ as L,x_ as M,C_ as N,T_ as O,O_ as P,A_ as Q,dr as R,oi as S,R_ as T,N_ as U,D_ as V,ic as W,ai as X,ci as Y,Oe as Z,te as _,_i as $,H as aa,U_ as ba,W_ as ca,ce as da,bi as ea,ut as fa,rp as ga,op as ha,ze as ia,pi as ja,B_ as ka,yi as la,xc as ma,q_ as na,Xt as oa,Tc as pa,J_ as qa,Jt as ra,Zt as sa,en as ta,Ai as ua,G as va,Be as wa,my as xa,_y as ya,py as za,Py as Aa,jy as Ba,jl as Ca,yt as Da,pe as Ea,th as Fa,Fr as Ga,nh as Ha,Xe as Ia,Ke as Ja,Bl as Ka,mn as La,fn as Ma,_n as Na,lh as Oa,uh as Pa,is as Qa,pn as Ra,ss as Sa,yn as Ta,Yl as Ua,fh as Va,mh as Wa,xt as Xa,eo as Ya,Ng as Za,Dg as _a,Mg as $a,Lg as ab,Bs as bb,$g as cb,Pn as db,wa as eb,tb as fb,nb as gb,mo as hb,zm as ib,ds as jb,zr as kb,gt as lb,wh as mb,xh as nb,Ch as ob,Th as pb,Rs as qb,ju as rb,Jr as sb,Qh as tb,Yr as ub,On as vb,rt as wb,Um as xb,va as yb,ka as zb,Gm as Ab,$b as Bb,zb as Cb,Sa as Db,Jm as Eb,Hb as Fb,Ub as Gb,Wb as Hb,Jb as Ib,Qe as Jb,ug as Kb,fg as Lb,he as Mb,sg as Nb,Rn as Ob,ag as Pb,Sf as Qb,cg as Rb,Zr as Sb,Cf as Tb,Of as Ub,Af as Vb,Rf as Wb,gg as Xb,bg as Yb};
|
|
156
|
-
//# sourceMappingURL=chunk-XDPYBQCF.js.map
|