@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
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import{$ as Mo,Aa as Uo,B as Oo,Ba as Wo,H as Ao,Ka as Ut,M as Ht,Ma as ct,Oa as dt,Pa as lt,Q as st,R as Vn,Ra as Bo,S as qn,Sa as Vo,T as at,Ta as qo,U as Ro,Ua as Go,V as Do,Va as Xo,Wa as Ko,_ as No,a as Mt,fa as Lo,h as zt,ka as Po,q as To,r as je,t as ke,u as le,v as W,va as jo,w as it,wa as Fo,xa as $o,ya as zo,za as Ho}from"./chunk-AD6ULRAF.js";import{C as Ft,D as $t,E as Bn,G as xo,L as de,S as ve,T as Co,W as E,X as Pe,Y as k,Z as x,aa as j,ba as Fe,ca as Se,da as S,n as Lt,o as Eo,p as vo,q as ko,r as So,v as Pt,w as jt,x as Io}from"./chunk-Z2USIBR2.js";import{AsyncLocalStorage as Pa}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 Gn=new Pa,Jo=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function Wt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function Ie(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=Wt(n.id,128),o=Wt(n.parent_id,128);if(r===void 0||!Jo.test(r)||o!==void 0&&!Jo.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=Wt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function $e(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=Wt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function ja(e,t,n){let r=Gn.getStore(),o=$e({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=Ie(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={...$e(r?.provenance),...o,...$e(e?.provenance)},a=Ie(e?.episode,!1)??Ie(n,!1)??i??Ie(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 Xn(e,t){return ja(e.session_context,t,e.client_info?.episode)??{}}function l_(e,t){let n=Gn.getStore(),r=Ie(e.episode,!0),o=Ie(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...$e(n?.provenance),...$e(e.provenance)};return Gn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function u_(e){let t=$e(e.provenance),n=Ie(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 ar}from"node:async_hooks";import{createHash as Ua}from"node:crypto";import Z from"node:fs";import oi from"node:os";import qt from"node:path";import{createHash as Yo}from"node:crypto";import{existsSync as Kn,promises as Zo,readFileSync as Fa}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 $a="session.json";function Jn(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Qo(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=Jn(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=>Jn(c,128)),a=t.focused_item_id===void 0||Jn(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function za(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Qo(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Yn(e){return Y.join(Do(e),$a)}async function Bt(e){try{let t=await Zo.readFile(Yn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=za(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 Zn(e,t){let n=Yn(e);await Zo.mkdir(Y.dirname(n),{recursive:!0}),await W(n,JSON.stringify(t))}function Qn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Yo("sha256").update(e).digest("hex").slice(0,24)}`}function er(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function tr(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)}+${Yo("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function nr(e,t,n){let r=await Bt(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 Zn(e,s)}async function g_(e){let t=Qn(e.principal);await nr(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??tr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:er([...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 b_(e){let t=Qn(e.principal);await nr(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??tr(r),confidence:o?"high":"medium",evidence:er([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function w_(e){let t=Qn(e.principal);await nr(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??tr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:er([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Ha(e,t){let n=t.PM_PATH?.trim();if(n){let o=Y.resolve(e,n);if(Kn(Y.join(o,"settings.json")))return o;let i=Y.join(o,".agents","pm");if(Kn(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(Kn(Y.join(i,"settings.json")))return i;let s=Y.dirname(r);if(s===r)break;r=s}}function ei(e){if(!e.key)return;let t=Ha(e.cwd,e.env);if(t)try{let n=JSON.parse(Fa(Yn(t),"utf8"));return Qo(n.semantic_attribution?.[e.key])}catch{return}}async function E_(e){return(await Bt(e)).focused_item}async function v_(e,t){let n=await Bt(e);await Zn(e,{...n,focused_item:t})}async function k_(e){let n={...await Bt(e)};delete n.focused_item,await Zn(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]="cf550961-0040-5e04-9d8d-16e316027e43")}catch{}})();var cr=["model","effort","role","topic","version"],Xt=new ar,ii=new ar,Kt=new ar,dr=[{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:[]}],si=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),Wa=Object.freeze({...si,max_bytes:4194304}),rr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Ba(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"?Wa:si,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 ai=Object.freeze(dr.filter(e=>e.harness!=="ci").map(Ba).sort((e,t)=>e.harness.localeCompare(t.harness))),Ce=new Map,ze=new Map;function D(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(!rr.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])=>rr.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"&&rr.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 ci=dr.map(fe);function Va(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Gt(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function lr(e=[]){let t=new Map(dr.filter(o=>o.harness!=="ci").map(o=>[o.harness,fe(o)]));for(let{adapter:o}of Ce.values())t.set(o.harness,fe(o.descriptor));let n=[...t.values(),...ci.filter(o=>o.harness==="ci"),...[...ze.values()].map(o=>o.descriptor),...Kt.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 ur(e,t){for(let n of t??[]){let r=D(e[n]);if(r)return r.slice(0,256)}}function qa(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 di(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 D(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return D(i.slice(s.length+1))?.slice(0,256)}}var Ga=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function xe(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Ga.has(n)?n:void 0}function or(e,t){return D(e?.[t])?.slice(0,256)}var Xa=1048576,sr=4194304,Vt=new Map,ti=Object.freeze({}),ir=new Map,ni=Object.freeze({});function ri(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Ka(e){let t;try{t=JSON.parse(e)}catch{return ni}let n=ri(t);if(!n)return ni;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=D(a.value.model)?.slice(0,256),s??=D(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=ri(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function Ja(e,t,n){let r=D(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=qt.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=qt.join(t.home_dir??oi.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=Z.openSync(s,"r");try{let c=Z.fstatSync(a),d=`${s}\0${c.size}\0${c.mtimeMs}`,u=ir.get(d);if(u)return u[e];let f=Math.min(c.size,Xa),m=Math.min(f,Math.ceil(f/2)),y=Math.min(f-m,c.size-m),_=Buffer.alloc(m);Z.readSync(a,_,0,m,0);let h=Buffer.alloc(y);y>0&&Z.readSync(a,h,0,y,c.size-y);let w={},T=c.size<=f?Buffer.concat([_,h]).toString("utf8").split(`
|
|
2
|
+
`):[..._.toString("utf8").split(`
|
|
3
|
+
`).slice(0,4096),...h.toString("utf8").split(`
|
|
4
|
+
`).slice(-4096)];for(let M of T){if(M.length===0||M.length>262144)continue;let L=Ka(M);if(w.model??=L.model,w.version??=L.version,w.model&&w.version)break}let R=Object.freeze(w);return ir.clear(),ir.set(d,R),R[e]}finally{Z.closeSync(a)}}catch{return}}function Ya(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=Z.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=qt.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 Za(e){if(e<=sr)return[{offset:0,length:e}];let t=Math.floor(sr/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??=D(o?.model)?.slice(0,256),e.effort??=D(o?.effort)?.slice(0,256)}function ec(e,t){let n={},r=4096;for(let o of Za(t)){let i=Buffer.alloc(o.length);Z.readSync(e,i,0,o.length,o.offset);let s=i.toString("utf8").split(`
|
|
5
|
+
`).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 tc(e,t,n){let r=D(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=qt.join(t.home_dir??oi.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=Vt.get(i);if(s)return s[e];let a=Ya(o,r);if(!a){Vt.set(i,ti);return}try{let c=Z.openSync(a,"r");try{let d=Z.fstatSync(c).size,u=ec(c,d);return Vt.set(i,u),u[e]}finally{Z.closeSync(c)}}catch{Vt.set(i,ti);return}}function nc(e,t,n,r){let o=Kt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(D(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return Ja(e,t,n);if(s==="codex_session_file")return tc(e,t,n);if(s==="ai_agent_version"){let a=D(n.AI_AGENT);return!a||!r||!Gt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function rc(e,t,n){if(e==="ai_agent_version"){let r=D(n.AI_AGENT);return r!==void 0&&Gt(r,t.harness)}return e==="codex_session_file"?D(n.CODEX_THREAD_ID)!==void 0:D(n.CLAUDE_CODE_SESSION_ID)!==void 0}function fr(e){return e||(ii.getStore()??{env:process.env,argv:process.argv})}function oc(e,t,n,r){let o=e.environment_keys.some(a=>D(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return Gt(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Gt(r,a));return o||i||s}function ic(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 sc(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ac(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...cr,...Object.keys(r?.provenance_environment_keys??{})]),c,d,u;a.has(e)&&(c=xe(e,D(n[s])?.slice(0,256)),u=xe(e,di(t.argv??[],e)),d=xe(e,qa(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=or(o?.provenance,e),_=xe(e,ur(n,f[e])),h=xe(e,or(m,e)),w=xe(e,or(t.provenance,e)),T=nc(e,t,n,r);return sc([[c,"override"],[y,"session"],[u,"argv"],[_,"environment"],[h,"mcp_client"],[w,"host"],[T,"probe"]])??ic(e,i)??(d?{value:d,source:"argv"}:void 0)}function cc(e,t){if(!(!e||!t))return Ua("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function dc(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...cr,...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=ac(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 D_(e){let t=e.map(fe),n=new Map(ci.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=ze.get(i.harness);if(s&&!Va(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=ze.get(i.harness);ze.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=ze.get(i.harness);!s||s.registrations<=1?ze.delete(i.harness):s.registrations-=1}}}}function lc(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=D(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>sr||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 N_(){let e=new Map(ai.map(t=>[t.harness,t]));for(let{adapter:t}of Ce.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function M_(e){let t=e.map(lc),n=new Map(ai.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=Ce.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=Ce.get(i.harness);Ce.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=Ce.get(i.harness);!s||s.registrations<=1?Ce.delete(i.harness):s.registrations-=1}}}}function L_(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 P_(e,t){return ii.run(e,t)}function j_(e,t,n={}){let r=e.map(fe);return lr(r),Kt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function mr(e){let t=fr(e),n=t.env??{},r=lr(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(_=>oc(_,n,o,i)),a=Xn(t,n),c=[ur(n,s?.session_environment_keys),D(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=cc(s?.harness,c),u=ei({cwd:t.cwd??process.cwd(),env:n,key:d}),f=dc(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 uc(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=rc(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 li(e){let t=fr(e),n=mr(t),r=lr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Kt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(D(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Xn(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,ur(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,di(t.argv??[],"role")].some(d=>{let u=D(d)?.slice(0,256);return u!==void 0&&xe("role",u)===void 0}),c=Object.fromEntries(cr.map(d=>[d,uc(d,n,r,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function F_(){return process.env.PM_AUTHOR}function $_(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function z_(e){return mr(e).harness}function fc(e,t,n){let r=fr(n),o=mr(r);if(e!==void 0){let s=D(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=D(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=D(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ui(e){let t=Xt.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function fi(e){let t=Xt.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 mi(e){let t=Xt.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function _i(e,t){let n=fc(e,t);return Xt.enterWith(n),n.author}import mc from"node:crypto";import{AsyncLocalStorage as _c}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 yi=new _c,pi=1024;function hi(){let e=yi.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 gi(e){let t=yi.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>pi)throw new Error(`Reproducible token length must be an integer between 0 and ${pi}`);let n="";for(;n.length<e;){let r=mc.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 pc=/^([+-]?)(\d+)([hdwm])$/i,yc=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,hc=/^(\d{4})(\d{2})(\d{2})$/,gc=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,bc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,wc=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ec=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/i;function Te(){return hi()??new Date().toISOString()}function te(e){return Number.isFinite(Date.parse(e))}function wi(e){let t=Ec.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,_,h]=[n,r,o,i,s,a].map(Number);return f>=1&&f<=12&&m>=1&&m<=yr(u,f-1)&&y<=23&&_<=59&&h<=59&&(c===void 0||Number(c)<=23)&&(d===void 0||Number(d)<=59)}var vc=1e4,Jt=new Map;function bi(e){let t=Jt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Jt.size>=vc&&Ut(Jt),Jt.set(e,n),n}function H(e,t){let n=bi(e),r=bi(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function K_(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 _r(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function pr(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 kc(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Sc(e){let t=[],n=d=>kc(t,e,d),r=hc.exec(e);if(r){let[,d,u,f]=r;n(`${d}-${u}-${f}`)}let o=gc.exec(e);if(o){let[,d,u,f,m,y,_,h,w]=o,T=_?`:${_}`:"";n(`${d}-${u}-${f}T${m}:${y}${T}${_r(h)}${pr(w)}`)}let i=bc.exec(e);if(i){let[,d,u,f,m,y,_]=i,h=m?`:${m}`:"";n(`${d}T${u}:${f}${h}${_r(y)}${pr(_)}`)}let s=wc.exec(e);if(s){let[,d,u,f,m,y,_]=s,h=m?`:${m}`:"";n(`${d}T${u}:${f}${h}${_r(y)}${pr(_)}`)}let a=10,c=e.slice(0,a);if(xc(c)){let d=a;for(;d<e.length&&Cc(e[d]);)d+=1;d<e.length&&n(`${c}T${e.slice(d)}`)}return t}function Ic(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Sc(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function xc(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 Cc(e){return e?e===" "||e===" "||e===`
|
|
6
|
+
`||e==="\r"||e==="\f"||e==="\v":!1}function yr(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Tc=["January","February","March","April","May","June","July","August","September","October","November","December"],Oc=/^(\d{4})-(\d{2})-(\d{2})/,Ac=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Rc(e,t,n){let r=Oc.exec(t)??Ac.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=yr(o,i-1);if(s<1||s>c)throw new x(`Invalid ${a} value "${e}". ${Tc[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,k.USAGE)}function Dc(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,yr(i,s));return n.setUTCFullYear(i,s,a),n}function J_(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=pc.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 Dc(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()}Rc(e,r,n);let i=Ic(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=yc.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 He=1,Ei=1;function Z_(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=He?t:He}function vi(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=He))return e}function Nc(e,t=Ei){return e<t?"outdated":e>t?"ahead":"current"}function Q_(e,t=Ei){let n=[],r=[];for(let o of e){let i=Nc(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 Mc={"in-progress":"in_progress",cancelled:"canceled"};function Yt(e,t){if(t){let o=Go(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Mc[n]??n;if(Lt.includes(r))return r}function Lc(e,t){return Yt(e,t)??e}function rp(e,t){return t.terminal_statuses.has(Lc(e,t))}import{encode as Gc}from"@toon-format/toon";import{isDeepStrictEqual as Ci}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 Pc=16;function hr(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 jc(e){return[...new Set([Ko(e),hr(e.key),hr(e.cli_flag),...e.cli_aliases.map(t=>hr(t))])]}function Ii(e,t){for(let n of jc(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function xi(e){return Array.isArray(e)?e.flatMap(t=>xi(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 ki(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 Si(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 Fc(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 $c(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 zc(e,t,n){if(t.const!==void 0&&j(e)!==j(t.const))return`${n} must equal ${j(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>j(r)===j(e)))return`${n} must be one of ${t.enum.map(r=>j(r)).join("|")}`;if(!$c(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"&&!wi(e))return`${n} must be an RFC 3339 date-time`}}function Hc(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=Zt(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Uc(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=Zt(s,a,`${n}.${i}`,r+1);if(c)return c}}function Zt(e,t,n,r=0){if(r>Pc)return`${n} value schema exceeds maximum depth`;let o=zc(e,t,n);if(o)return o;let i=Hc(e,t,n,r);if(i)return i;let s=Uc(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(Zt(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 Oe(e,t,n){if(!e.value_schema||t===void 0)return t;let r=Zt(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:Oe(e,Fc(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=xi(t);return e.type==="number"?Oe(e,i.map(s=>Si(s,r)),r):e.type==="boolean"?Oe(e,i.map(s=>ki(s,r)),r):Oe(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Oe(e,Si(o,r),r):e.type==="boolean"?Oe(e,ki(o,r),r):Oe(e,typeof o=="string"?o:String(o),r)}function Wc(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 lp(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Ii(e,i);if(s===void 0){Wc(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 up(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=Ii(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 Bc}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 gr(e){return{value:Bc(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 Vc=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function qc(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(Vc);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Qt(e){return qc(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 vr=new Set(["schema","tracker","auto"]),Ai=new Set(["source","isolated","snapshot"]),Xc=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Kc=new Set(["passed","failed","stopped","canceled"]),Jc=new Set(xo);function Be(e){return e.replaceAll("\\","/")}function Ri(e){for(let t of e)if(t!==0)return t;return 0}function tn(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Di=["id","title","description","created_at","updated_at"],Yc=new Set(de);function Ni(e){if(e?.schema)return{statusRegistry:qo(e.schema),fieldRegistry:Xo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Zc(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 Mi(e){let t=new Set(Yc);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function v(e,t){e||me(t)}function pt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&me(t),e}function br(e,t){let n=e[t];v(typeof n=="string",`${t} must be a string`),v(te(n),`${t} must be a valid ISO timestamp`)}function Ti(e,t,n){let r=e[t];r!==void 0&&v(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function kr(e,t,n){let r=e[t];r!==void 0&&(v(typeof r=="string",`${n} must be a string`),v(te(r),`${n} must be a valid ISO timestamp`))}function Qc(e){if(e!==void 0){v(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){v(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();v($t.includes(n),`event.recurrence.by_weekday entries must be one of: ${$t.join(", ")}`)}}}function ed(e){if(e!==void 0){v(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)v(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function td(e){if(e!==void 0){v(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)v(typeof t=="string","event.recurrence.exdates entries must be strings"),v(te(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function nd(e){let t=pt(e,"event.recurrence must be an object");v(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();v(Ft.includes(n),`event.recurrence.freq must be one of: ${Ft.join(", ")}`),Ti(t,"interval","event.recurrence.interval"),Ti(t,"count","event.recurrence.count"),kr(t,"until","event.recurrence.until"),Qc(t.by_weekday),ed(t.by_month_day),td(t.exdates)}function rd(e){for(let r of Di)v(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;v(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&v(typeof n=="number"&&Number.isInteger(n)&&n>=He,`pm_format_version must be an integer >= ${He}`),t}function od(e,t){let n=e.status;v(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Yt(n,r),i=r?r.definitions.map(s=>s.id):[...Lt];v(o!==void 0,`status must be one of: ${i.join(", ")}`)}function id(e){let t=e.priority;v(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;v(Array.isArray(n),"tags must be an array");for(let r of n)v(typeof r=="string","tags entries must be strings")}function sd(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){v(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"||jt.includes(n);v(r,`confidence string value must be one of: ${[...jt,"med"].join(", ")}`);return}v(!1,"confidence must be a number or string")}}function ad(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"||Pt.includes(n);v(r,`severity value must be one of: ${[...Pt,"med"].join(", ")}`)}function cd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&me("regression must be a boolean")}function dd(e){let t=e.reminders;if(t!==void 0){v(Array.isArray(t),"reminders must be an array");for(let n of t){let r=pt(n,"reminders entries must be objects");v(typeof r.at=="string","reminder.at must be a string"),v(te(r.at),"reminder.at must be a valid ISO timestamp"),v(typeof r.text=="string","reminder.text must be a string"),v(r.text.trim().length>0,"reminder.text must not be empty")}}}function ld(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(v(typeof e[t]=="string",`event.${t} must be a string`),v(e[t].trim().length>0,`event.${t} must not be empty`))}function ud(e){e.recurrence!==void 0&&(nd(e.recurrence),e.recurrence.until!==void 0&&v(H(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function fd(e){let t=pt(e,"events entries must be objects");v(typeof t.start_at=="string","event.start_at must be a string"),v(te(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(v(typeof t.end_at=="string","event.end_at must be a string"),v(te(t.end_at),"event.end_at must be a valid ISO timestamp"),v(H(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),ld(t),t.all_day!==void 0&&v(typeof t.all_day=="boolean","event.all_day must be a boolean"),ud(t)}function md(e){let t=e.events;if(t!==void 0){v(Array.isArray(t),"events must be an array");for(let n of t)fd(n)}}function _d(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&v(typeof n=="string",`${t} must be a string`)}}function pd(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))v(r.trim().length>0,"type_options keys must be non-empty"),v(typeof o=="string","type_options values must be strings"),v(o.trim().length>0,"type_options values must be non-empty strings")}function yd(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Zc(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 hd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Mi(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 Sr(e,t){let n=pt(e,"item metadata must be an object"),r=rd(n);od(n,t),id(n),sd(n),ad(n),cd(n),br(n,"created_at"),br(n,"updated_at"),n.deadline!==void 0&&br(n,"deadline"),dd(n),md(n),kr(n,"closed_at","closed_at"),kr(n,"completed_at","completed_at"),_d(n),pd(n),yd(n,r,t),hd(n,t)}function gd(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 wr(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 bd(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 wd(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!Ft.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>$t.includes(s)))).sort((s,a)=>Bn(s)-Bn(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 Ed(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(vd).sort(kd)}function vd(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:wd(e.recurrence)};return tn(t),t}function kd(e,t){return Ri([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 Sd(e){if(!(!e||e.length===0))return e.map(t=>({path:Be(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function Id(e){if(!e||e.length===0)return;let t=e.map(Od).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)=>Ri([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 Ue(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function xd(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Er(e){return typeof e=="string"?e:""}function Cd(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 en(e,t){return typeof e=="string"&&t.has(e)?e:void 0}function Td(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:en(n.requested_pm_context_mode,vr),pm_context_mode:en(n.pm_context_mode,vr),workspace_context_mode:en(n.workspace_context_mode,Ai),trust_reason:en(n.trust_reason,Xc)}));return t.length>0?t:void 0}function Od(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Kc.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Er(e.started_at),finished_at:Er(e.finished_at),recorded_at:Er(e.recorded_at),attempt:xd(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Ue(e.passed)??0,failed:Ue(e.failed)??0,skipped:Ue(e.skipped)??0,items:Ue(e.items),linked_tests:Ue(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Cd(e.measurements),executions:Td(e.executions)};return tn(o),o}function Ad(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Ld)}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 xr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Cr(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function Oi(e){if(!xr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!Cr(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Rd(e){if(!xr(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!Cr(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Dd(e){let t=e?.trim().toLowerCase();if(!(!t||!vr.has(t)))return t}function Nd(e){let t=e?.trim().toLowerCase();if(!(!t||!Ai.has(t)))return t}function Md(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!xr(e))return{provenance_invalid:!0};let n=b(e.author),r=b(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:b(e.source_ref)}}}function Ld(e){let t={command:e.command?.trim()||void 0,path:e.path?Be(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:Dd(e.pm_context_mode),workspace_context_mode:Nd(e.workspace_context_mode),...Md(e.provenance,e.provenance_invalid),env_set:Oi(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:Ue(e.assert_stdout_min_lines),assert_json_field_equals:Oi(e.assert_json_field_equals),assert_json_field_gte:Rd(e.assert_json_field_gte),note:e.note?.trim()||void 0};return tn(t),t}function Pd(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Be(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 b(e){if(typeof e!="string")return;let t=e.trim();return 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=b(r.id),i=b(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=b(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 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=b(r.path);if(!o)continue;let i={path:Be(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=b(r.note);s&&(i.note=s),t.push(i)}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=b(r.command),i=b(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Be(i));let a=b(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function zd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.path);if(!o)continue;let i={path:Be(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=b(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Hd(e){if(e===null||typeof e!="object")return;let t=e,n=b(t.id),r=b(t.title),o=b(t.status),i=o&&Jc.has(o)?o:void 0,s=Mo(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 Ud(d,t),d}function Ud(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=b(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",jd],["files","files",Fd],["tests","tests",$d],["docs","docs",zd]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Wd(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Hd(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Bd(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=b(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=b(r.rationale);c&&(a.rationale=c);let d=b(r.evidence);d&&(a.evidence=d);let u=b(r.step_id);u&&(a.step_id=u),t.push(a)}return t.length>0?t:void 0}function Vd(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=b(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=b(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function qd(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=b(r.text);if(!o)continue;let i={text:o},s=b(r.command);s&&(i.command=s);let a=b(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Gd(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 We(e){let t=0;for(;t<e.length&&e[t]===`
|
|
7
|
+
`;)t+=1;return e.slice(t).trimEnd()}function Xd(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(jt.includes(t))return t}function Kd(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(Pt.includes(t))return t}function mt(e){return e||void 0}function Jd(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))Cr(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Yd(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 Zd(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Mi(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 nn(e,t={}){let n=Ni(t),r=Yt(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:vi(e.pm_format_version),source_type:b(e.source_type),type_options:Gd(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:gd(e.dependencies),comments:wr(e.comments),notes:wr(e.notes),learnings:wr(e.learnings),files:Sd(e.files),tests:Ad(e.tests),test_runs:Id(e.test_runs),docs:Pd(e.docs),deadline:mt(e.deadline),reminders:bd(e.reminders),events:Ed(e.events),closed_at:mt(e.closed_at),completed_at:mt(e.completed_at),assignee:b(e.assignee),claim_principal:b(e.claim_principal),source_owner:b(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:b(e.definition_of_ready),order:e.order,goal:b(e.goal),objective:b(e.objective),value:b(e.value),impact:b(e.impact),outcome:b(e.outcome),why_now:b(e.why_now),parent:b(e.parent),reviewer:b(e.reviewer),risk:e.risk??void 0,confidence:Xd(e.confidence),sprint:b(e.sprint),release:b(e.release),blocked_by:b(e.blocked_by),blocked_reason:b(e.blocked_reason),unblock_note:b(e.unblock_note),reporter:b(e.reporter),severity:Kd(e.severity),environment:b(e.environment),repro_steps:b(e.repro_steps),resolution:b(e.resolution),expected_result:b(e.expected_result),actual_result:b(e.actual_result),affected_version:b(e.affected_version),fixed_version:b(e.fixed_version),component:b(e.component),regression:e.regression,customer_impact:b(e.customer_impact),close_reason:mt(e.close_reason),plan_mode:b(e.plan_mode),plan_scope:b(e.plan_scope),plan_harness:b(e.plan_harness),plan_resume_context:b(e.plan_resume_context),plan_steps:Wd(e.plan_steps),plan_decisions:Bd(e.plan_decisions),plan_discoveries:Vd(e.plan_discoveries),plan_validation:qd(e.plan_validation)};return Jd(i,e),Yd(i,n),Zd(i,n),tn(i),i}function Li(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 el(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 tl(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(`
|
|
8
|
+
`,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 Ir(e,t){return nn(e,{...t,onWarning:void 0})}function nl(e,t,n={}){let r=tl(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=el(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 Sr(s,t),{metadata:Ir(s,n),body:We(i)}}function rl(e,t,n={}){let r;try{r=gr(e).value}catch{_t("toon","TOON item document is not valid TOON")}v(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!Di.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 Sr(o.front_matter,t),v(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Ir(o.front_matter,n),body:We(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return v(i===void 0||typeof i=="string","TOON item document body must be a string"),Sr(s,t),{metadata:Ir(s,n),body:We(typeof i=="string"?i:"")}}function ol(e,t={}){let n=nn(e.metadata,t),r=Li(n),o=JSON.stringify(r,null,2),i=We(e.body??"");return i?`${o}
|
|
9
|
+
|
|
10
|
+
${i}
|
|
11
|
+
`:`${o}
|
|
12
|
+
`}function il(e,t={}){let n=nn(e.metadata,t),r=Li(n),o=We(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Gc(s),c;try{c=gr(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(!Ci(c,s)){let d=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},u=Object.keys(s).find(f=>!Ci(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}
|
|
13
|
+
`}function rn(e,t={}){let n=Qt(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=Ni(t);return r==="toon"?rl(e,o,t):nl(e,o,t)}function Pi(e,t={}){return(t.format??"toon")==="toon"?il(e,t):ol(e,t)}function G(e,t={}){return{metadata:nn(e.metadata,t),body:We(e.body??"")}}import{existsSync as al}from"node:fs";import{AsyncLocalStorage as cl}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 Mp(){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 sl(){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,Fi=null,dl=null,ll=null,Tr=null,ul=null,$i=null,fl=null;var ml=[],zi=new cl;function F(){return zi.getStore()}function Gp(e){return zi.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var _l=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function ji(e){let t=ne.resolve(e);for(;;){if(al(ne.join(t,".git")))return t;let n=ne.dirname(t);if(n===t)return;t=n}}function pl(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=ji(t)??ne.resolve(t),r=ji(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 Xp(e){let t=F();if(t){t.hooks=e;return}Ve=e}function Kp(e){let t=F();if(t){t.commands=e;return}Fi=e}function Jp(e){let t=F();if(t){t.parsers=e;return}dl=e}function Yp(e){let t=F();if(t){t.preflight=e;return}ll=e}function Zp(e){let t=F();if(t){t.services=e;return}Tr=e}function Qp(e){let t=F();if(t){t.renderers=e;return}ul=e}function ey(e){let t=F();if(t){t.registrations=e;return}$i=e}function Ae(){let e=F();return e?e.registrations:$i}function Or(e){if(!e)return;let t=F();t?t.affectedItems.push(e):ml.push(e)}function on(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"||_l.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?Fo(n,e):[]}async function Ar(e){let t=F(),n=t?t.hooks:Ve;n&&await jo(n,e)}async function Q(e){let t=F(),n=t?t.hooks:Ve;return n?$o(n,e):[]}function Rr(){let e=F();return((e?e.hooks:Ve)?.onRead?.length??0)>0}async function ty(e){let t=F(),n=t?t.hooks:Ve;return n?zo(n,e):[]}async function ny(e){let t=F(),n=t?t.commands:Fi;return n?Ho(n,{...e,...pl(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function Hi(e,t){let n=F(),r=n?n.commandContext:fl;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:Tr;return r?Wo(r,Hi(e,t)):{handled:!1,result:t,warnings:[]}}function Ui(e,t){let n=F(),r=n?n.services:Tr;return r?Uo(r,Hi(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 qe(e,t){let n=await le(e);if(n===null)return[];if(await Q({path:e,scope:"project"}),n.trim()==="")return[];let r=Qt(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 Wr 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 cs from"fast-json-patch";import oe from"node:fs/promises";import ie from"node:path";import{randomUUID as yl}from"node:crypto";import{createRequire as hl}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 gl="history-event-index.sqlite",Dr="2",bl=8,Re=new Map;function dn(e){return ie.join(e,"runtime",gl)}async function Wi(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=Re.get(e)??{streams:new Map,ordered_events:[]},o=new Set,i=!Re.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 qe(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(Vi)),Re.delete(e),Re.set(e,r),Re.size>bl){let s=Re.keys().next().value;Re.delete(s)}return r.ordered_events}function wl(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function El(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?wl(t):null}var sn;function Nr(){return sn!==void 0||(sn=El(process.versions.node,hl(import.meta.url))),sn}function vl(e){e.exec(`
|
|
14
|
+
PRAGMA journal_mode = OFF;
|
|
15
|
+
PRAGMA synchronous = OFF;
|
|
16
|
+
CREATE TABLE metadata (
|
|
17
|
+
key TEXT PRIMARY KEY,
|
|
18
|
+
value TEXT NOT NULL
|
|
19
|
+
) STRICT;
|
|
20
|
+
CREATE TABLE events (
|
|
21
|
+
stream_id TEXT NOT NULL,
|
|
22
|
+
stream_offset INTEGER NOT NULL,
|
|
23
|
+
ts TEXT NOT NULL,
|
|
24
|
+
author TEXT NOT NULL,
|
|
25
|
+
agent_harness TEXT,
|
|
26
|
+
agent_instance TEXT,
|
|
27
|
+
op TEXT NOT NULL,
|
|
28
|
+
entry_json TEXT NOT NULL,
|
|
29
|
+
PRIMARY KEY(stream_id, stream_offset)
|
|
30
|
+
) STRICT;
|
|
31
|
+
CREATE INDEX events_order
|
|
32
|
+
ON events(ts, stream_id, stream_offset);
|
|
33
|
+
CREATE INDEX events_op_order
|
|
34
|
+
ON events(op, ts, stream_id, stream_offset);
|
|
35
|
+
CREATE INDEX events_author_order
|
|
36
|
+
ON events(author, ts, stream_id, stream_offset);
|
|
37
|
+
CREATE INDEX events_harness_order
|
|
38
|
+
ON events(agent_harness, ts, stream_id, stream_offset);
|
|
39
|
+
CREATE INDEX events_instance_order
|
|
40
|
+
ON events(agent_instance, ts, stream_id, stream_offset);
|
|
41
|
+
`),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(Dr)}function Bi(e,t){e.prepare(`INSERT INTO events(
|
|
42
|
+
stream_id, stream_offset, ts, author, agent_harness,
|
|
43
|
+
agent_instance, op, entry_json
|
|
44
|
+
) 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 wy(e){let t=Nr();if(!t)return!1;let n=dn(e);await oe.mkdir(ie.dirname(n),{recursive:!0});let r=`${n}.${yl()}.tmp`,o;try{o=new t(r),vl(o),o.exec("BEGIN IMMEDIATE");for(let i of await Wi(e))Bi(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 an(e,t){return!t||t.length===0||t.includes(e)}function Vi(e,t){return e.entry.ts.localeCompare(t.entry.ts)||e.stream_id.localeCompare(t.stream_id)||e.stream_offset-t.stream_offset}function kl(e,t){if(t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0){if(Vi(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 Sl(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 Il(e,t){return!kl(e,t)||!an(e.entry.op,t.ops)||!an(e.entry.author,t.authors)||!an(e.entry.agent_instance??"",t.agent_instances)||!an(e.stream_id,t.stream_ids)||!Sl(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 Ey(e,t){let n=Math.max(0,Math.floor(t.limit)),r=(await Wi(e)).filter(o=>Il(o,t)).slice(0,n+1);return{events:r.slice(0,t.limit),has_more:r.length>t.limit}}async function qi(e,t){let n=ie.dirname(ie.dirname(e)),r=dn(n);try{await oe.access(r)}catch{return}let o=Nr();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Dr)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);Bi(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await oe.rm(r,{force:!0})}}async function ln(e){await oe.rm(dn(ie.dirname(ie.dirname(e))),{force:!0})}function cn(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function xl(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 vy(e,t){let n=Nr();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)),cn(r,o,"op",t.ops),cn(r,o,"author",t.authors),xl(r,o,t.harnesses,t.harness_alias_authors),cn(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);cn(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(dn(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==Dr)return s.close(),null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
|
|
45
|
+
FROM events${i}
|
|
46
|
+
ORDER BY ts, stream_id, stream_offset
|
|
47
|
+
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 zr from"node:fs/promises";import Xe 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 un="changed_fields",Cl="changed_field_count",Mr="rows",Tl=new Set(["apply","rollback"]),Ki=new Set(["deleted","would_delete"]),Gi=256;function Xi(e){return typeof e!="string"||e.length<=Gi?e:`${e.slice(0,Gi-1)}\u2026`}function Ol(e){if(!se(e))return null;let t={...e};return t.reason=Xi(t.reason),se(t.previous_terminal)&&(t.previous_terminal=Object.fromEntries(Object.entries(t.previous_terminal).map(([n,r])=>[n,Xi(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 Ji(e){let t=e[un];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==un&&(n[r]=o);return n[Cl]=t.length,n}function Al(e){return"item"in e&&Array.isArray(e[un])}function Rl(e){return typeof e.mode=="string"&&Tl.has(e.mode)&&Array.isArray(e[Mr])}function Dl(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[Mr]=t,n}function Nl(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"&&Ki.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 Ml(e){if(!se(e)||!se(e.item)||typeof e.item.id!="string")return null;let t=e[un];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&Ki.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=Ol(e.recurrence);return o!==null&&(n.recurrence=o),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function Ll(e){let t=Rl(e)?e[Mr]: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=Ji(o);return i?(n=!0,i):o});return n?{projected:Dl(e,r),changed:!0}:{projected:e,changed:!1}}function Pl(e,t={}){if(t.idOnly===!0){let a=Nl(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=Ml(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!se(e))return e;let r=!1,o=e,i=Al(e)?Ji(e):null;i!==null&&(o=i,r=!0);let s=Ll(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as Qi}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 Uy=new Set(Object.values(k));var Yi=!1;function Ge(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Lr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function jl(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.SUCCESS)}function Fl(){(process.exitCode===void 0||process.exitCode===k.SUCCESS)&&(process.exitCode=k.GENERIC_FAILURE)}function Pr(e){if(e==="stdout"){jl();return}Fl()}function Zi(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function $l(){Yi||(Yi=!0,process.stdout.on("error",e=>{if(Lr(e)){Pr("stdout");return}Zi(e)}),process.stderr.on("error",e=>{if(Lr(e)){Pr("stderr");return}Zi(e)}))}function zl(e,t){$l();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(Lr(n))return Pr(e),!1;throw n}}function fn(e){return zl("stderr",e)}function jr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Hl(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function es(e){if(e.length===0||!e.every(Ge))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)&&Hl(n[r])))}function ts(e,t){let n=" ".repeat(t);return e.split(`
|
|
48
|
+
`).map(r=>`${n}${r}`).join(`
|
|
49
|
+
`)}function Ul(e,t,n){let r=" ".repeat(n);return!Ge(t)&&!Array.isArray(t)?`${r}${e}: ${jr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&es(t)?ts(Qi({[e]:t}),n):Ge(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
|
|
50
|
+
${$r(t,n+1)}`}function Fr(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>Fr(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Ge(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=Fr(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function $r(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":es(e)?ts(Qi(e),t):e.map(r=>{if(!Ge(r)&&!Array.isArray(r))return`${n}- ${jr(r)}`;let i=$r(r,t+1).split(`
|
|
51
|
+
`),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
|
|
52
|
+
${a.join(`
|
|
53
|
+
`)}`}).join(`
|
|
54
|
+
`);if(Ge(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Ul(o,i,t)).join(`
|
|
55
|
+
`)}return`${n}${jr(e)}`}function Wy(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
|
|
56
|
+
`;let n=Fr(e);return n===void 0?`{}
|
|
57
|
+
`:`${$r(n,0)}
|
|
58
|
+
`}function By(e){let t=Ui("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;fn(n.endsWith(`
|
|
59
|
+
`)?n:`${n}
|
|
60
|
+
`)}(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 Wl=Xe.join("runtime","history-drift-cache.json"),ns={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 rs(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Bl(e){let t=Xe.join(e,Wl),n=!1,r="invalid_cache_path";try{n=(await zr.stat(await zr.realpath(e))).isDirectory()}catch(o){let i=rs(o);r=i===void 0?"unknown":ns[i]??"filesystem_error"}if(!n){fn(`[pm] warning: history_drift_cache_invalidation_failed:${r}
|
|
61
|
+
`);return}try{await zr.rm(t,{force:!0})}catch(o){let i=rs(o);if(ke(o))return;let s=i===void 0?"unknown":ns[i]??"filesystem_error";fn(`[pm] warning: history_drift_cache_invalidation_failed:${s}
|
|
62
|
+
`)}}async function yt(e){let t=Xe.dirname(Xe.resolve(e));Xe.basename(t)==="history"&&await Bl(Xe.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]="8581413f-e74e-5db3-86bf-5e39290de741")}catch{}})();var ql={front_matter:{},body:""},De=3,ht=[1,2,3];function mn(e,t){return(e??"").localeCompare(t??"")}function os(e,t){return(e??0)-(t??0)}function _e(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Gl(e,t){return[e.scope.localeCompare(t.scope),mn(e.path,t.path),mn(e.command,t.command),os(e.timeout_seconds,t.timeout_seconds),mn(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,[]),os(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,{}),mn(e.note,t.note)].find(r=>r!==0)??0}function Xl(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Kl(e,t){let n=Xl(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 Jl(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Kl(r,o.path)?{...o,op:"add"}:o;n.push(i),r=cs.applyPatch(r,[i],!0,!0).newDocument}return n}function Hr(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(Gl)}:r.metadata;return{front_matter:S(o,de),body:r.body}}function is(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 ch(e){return Ur(e,De)}function Ur(e,t){if(!ht.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return Se(j(Hr(e,t)))}function dh(){return Se(j(ql))}function Ke(e){let t=Hr(e.before,De),n=Hr(e.after,De),r=is(e.before),o=is(e.after),i=cs.compare(r,o),s=Jl(r,i),a=fi(e.author),c=a.harness?Object.fromEntries(Object.entries(li().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??ui(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:Se(j(t)),after_hash:Se(j(n)),item_hash_version:De,message:e.message===void 0?void 0:e.message,...d===void 0?{}:{context:d}}}function ss(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Yl(e){let t=e.ts.trim();return t.length>0?t:Te()}function as(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function _n(e,t){let n=Yl(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(ss(r))return JSON.stringify(as(r,n))}catch{}return e}return ss(e)?JSON.stringify(as(e,n)):JSON.stringify(e)}async function Je(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,_n(n.result,t)),await yt(e),await ln(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,_n(r.line,t)),await yt(o),await ln(o);return}await it(o,_n(r.entry??t,t)),await yt(o),await ln(o);return}}await it(e,_n(t,t)),await yt(e),await qi(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]="c823af51-0cfd-536b-8f85-1f3e72db1c86")}catch{}})();var Zl={metadata:{},body:""};function yn(){return structuredClone(Zl)}function pn(e,t=De){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return Ur(hn(e),t)}catch{}return Se(j({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function hn(e){return{metadata:e.metadata,body:e.body}}function hh(e,t={}){return G(hn(e),t)}function gh(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 ds(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 us(e){return Array.isArray(e)?e.filter(Ql).map(t=>({...t,path:ds(t.path),from:typeof t.from=="string"?ds(t.from):void 0})):[]}function eu(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 gt(e,t){try{let n=us(t),r=Wr.applyPatch(structuredClone(e),n,!0,!1).newDocument;return eu(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 tu(e){return[...new Set(e.map(t=>t.item_hash_version).filter(t=>t!==void 0&&ht.includes(t)))]}function fs(e){return e!==void 0&&!ht.includes(e)}function nu(e,t){return e!==void 0?[e]:t===void 0?[...ht]:[t]}function ms(e){let t=yn(),n,r,o=[];for(let i=0;i<e.length;i+=1){let s=e[i],a=s.item_hash_version;if(fs(a)){o.push(`verify_failed:unsupported_item_hash_version:${String(a)}:entry_${i+1}`);let m=gt(t,s.patch);if(!m.ok)return{ok:!1,errors:[...o,`verify_failed:patch_apply_failed:entry_${i+1}`]};t=m.document,n=void 0,r=void 0;continue}let c=gt(t,s.patch);if(!c.ok)return{ok:!1,errors:[...o,`verify_failed:patch_apply_failed:entry_${i+1}`]};let u=nu(a,r).filter(m=>pn(t,m)===s.before_hash);if(u.length===0)return{ok:!1,errors:[...o,`verify_failed:before_hash_mismatch:entry_${i+1}`]};let f=u.find(m=>pn(c.document,m)===s.after_hash);if(f===void 0)return{ok:!1,errors:[...o,`verify_failed:after_hash_mismatch:entry_${i+1}`]};t=c.document,n=f,r=a??r}return o.length>0?{ok:!1,errors:o,...n===void 0?{}:{item_hash_version:n}}:{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function gn(e){let t=ms(e);return{ok:t.ok,errors:t.errors}}function ls(e,t){try{return{ok:!0,document:Wr.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function ru(e,t){let n=structuredClone(e),r=0,o=0;for(let a of us(t)){let c=ls(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let d=ls(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 ou(e){let t=tu(e);if(t.length===1)return t[0];let n=ms(e);return n.ok&&n.item_hash_version!==void 0?n.item_hash_version:t.length===0?1:De}function bh(e,t=ou(e)){let n=e.findIndex(f=>fs(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=yn(),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=pn(r,t),_=gt(r,m.patch),h,w,T=!1,R=0,M=0;if(_.ok)h=_.document,w=m.patch;else{let U=ru(r,m.patch);h=U.document,w=Wr.compare(r,h),T=!0,R=U.convertedReplaceToAdd,M=U.skippedOps,c+=R,d+=M,a+=1}let L=pn(h,t),J=y!==m.before_hash||L!==m.after_hash;J&&(s+=1);let Ee={...m,patch:w,before_hash:y,after_hash:L};u?Ee.item_hash_version=t:delete Ee.item_hash_version,o.push(Ee),i.push({index:f+1,rehashed:J,patch_repaired:T,converted_replace_to_add:R,skipped_ops:M}),r=h}return{entries:o,finalDocument:r,entriesRehashed:s,entriesPatchRepaired:a,convertedReplaceToAdd:c,skippedOps:d,details:i,itemHashVersion:t,explicitItemHashVersion:u}}function wh(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
|
|
63
|
+
`)}
|
|
64
|
+
`}import iu from"node:crypto";import _s 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 ys(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 Br(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function bt(e,t){let n=ys(t),r=Br(e);return r.startsWith(n)?r:`${n}${r}`}function su(e){let t=gi(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=iu.randomInt(0,36).toString(36);return n}async function au(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[_s.join(e,o,`${t}.md`),_s.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>je(o)))).some(Boolean)}var ps=4,hs=12;function cu(e){return typeof e!="number"||!Number.isFinite(e)?ps:Math.min(hs,Math.max(ps,Math.trunc(e)))}async function Ch(e,t,n={}){let r=cu(n.tokenLength),o=Math.min(r+6,hs),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${ys(t)}${su(r)}`;if(n.probeExisting===!1||!await au(e,a,n.typeToFolder??ve))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Ne from"node:fs/promises";import bs from"node:path";import{randomUUID as du}from"node:crypto";import{createRequire as lu}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 uu="metadata-query-index.sqlite",wt="4";function fu(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var bn;function mu(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?fu(t):null}function Et(){return bn!==void 0||(bn=mu(process.versions.node,lu(import.meta.url))),bn}function gs(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function Ye(e){return bs.join(e,"runtime",uu)}function _u(e){e.exec(`
|
|
65
|
+
PRAGMA foreign_keys = ON;
|
|
66
|
+
PRAGMA journal_mode = OFF;
|
|
67
|
+
PRAGMA synchronous = OFF;
|
|
68
|
+
CREATE TABLE metadata (
|
|
69
|
+
key TEXT PRIMARY KEY,
|
|
70
|
+
value TEXT NOT NULL
|
|
71
|
+
) STRICT;
|
|
72
|
+
CREATE TABLE items (
|
|
73
|
+
id TEXT PRIMARY KEY,
|
|
74
|
+
relative_path TEXT NOT NULL UNIQUE,
|
|
75
|
+
metadata_json TEXT NOT NULL,
|
|
76
|
+
status TEXT NOT NULL,
|
|
77
|
+
type TEXT NOT NULL,
|
|
78
|
+
priority INTEGER NOT NULL,
|
|
79
|
+
updated_at TEXT NOT NULL,
|
|
80
|
+
created_at TEXT NOT NULL,
|
|
81
|
+
parent TEXT,
|
|
82
|
+
assignee TEXT,
|
|
83
|
+
sprint TEXT,
|
|
84
|
+
release TEXT
|
|
85
|
+
) STRICT;
|
|
86
|
+
CREATE INDEX items_default_order
|
|
87
|
+
ON items(priority, updated_at DESC, id);
|
|
88
|
+
CREATE INDEX items_status_default_order
|
|
89
|
+
ON items(status, priority, updated_at DESC, id);
|
|
90
|
+
CREATE INDEX items_type_default_order
|
|
91
|
+
ON items(type, priority, updated_at DESC, id);
|
|
92
|
+
CREATE INDEX items_parent_default_order
|
|
93
|
+
ON items(parent, priority, updated_at DESC, id);
|
|
94
|
+
CREATE TABLE item_metadata_keys (
|
|
95
|
+
item_id TEXT NOT NULL,
|
|
96
|
+
key TEXT NOT NULL,
|
|
97
|
+
PRIMARY KEY(item_id, key),
|
|
98
|
+
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
99
|
+
) STRICT;
|
|
100
|
+
CREATE INDEX item_metadata_keys_key_item
|
|
101
|
+
ON item_metadata_keys(key, item_id);
|
|
102
|
+
CREATE TABLE item_linked_files (
|
|
103
|
+
item_id TEXT NOT NULL,
|
|
104
|
+
path TEXT NOT NULL,
|
|
105
|
+
scope TEXT NOT NULL,
|
|
106
|
+
note TEXT,
|
|
107
|
+
PRIMARY KEY(item_id, path, scope),
|
|
108
|
+
FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
|
|
109
|
+
) STRICT;
|
|
110
|
+
CREATE INDEX item_linked_files_path_scope_item
|
|
111
|
+
ON item_linked_files(path, scope, item_id);
|
|
112
|
+
CREATE VIRTUAL TABLE item_search USING fts5(
|
|
113
|
+
id UNINDEXED,
|
|
114
|
+
title,
|
|
115
|
+
description,
|
|
116
|
+
tags,
|
|
117
|
+
tokenize = 'unicode61'
|
|
118
|
+
);
|
|
119
|
+
`)}function En(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function ws(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
|
|
120
|
+
id, relative_path, metadata_json, status, type, priority,
|
|
121
|
+
updated_at, created_at, parent, assignee, sprint, release
|
|
122
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
123
|
+
ON CONFLICT(id) DO UPDATE SET
|
|
124
|
+
relative_path = excluded.relative_path,
|
|
125
|
+
metadata_json = excluded.metadata_json,
|
|
126
|
+
status = excluded.status,
|
|
127
|
+
type = excluded.type,
|
|
128
|
+
priority = excluded.priority,
|
|
129
|
+
updated_at = excluded.updated_at,
|
|
130
|
+
created_at = excluded.created_at,
|
|
131
|
+
parent = excluded.parent,
|
|
132
|
+
assignee = excluded.assignee,
|
|
133
|
+
sprint = excluded.sprint,
|
|
134
|
+
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 Es(e){let t=Ye(e.pmRoot),n=Et();if(!n){await Ne.rm(t,{force:!0});return}await Ne.mkdir(bs.dirname(t),{recursive:!0});let r=`${t}.${du()}.tmp`,o;try{o=new n(r),_u(o),o.exec("BEGIN IMMEDIATE"),En(o,"version",wt),En(o,"context_fingerprint",e.contextFingerprint),En(o,"source_cursor",e.sourceCursor);for(let i of e.rows)ws(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Ne.rm(t,{force:!0}),await Ne.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Ne.rm(r,{force:!0})]),i}}function vn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function vs(e){let t=Ye(e.pmRoot),n;try{await Ne.access(t);let r=Et();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=vn(n);if(o.version!==wt||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&&ws(n,e.row),En(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function wn(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function pu(e){let t=[],n=[];wn(t,n,"status",e.statuses,"IN"),wn(t,n,"status",e.excludeStatuses,"NOT IN"),wn(t,n,"type",e.types,"IN"),wn(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 Nh(e){let t=Et();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=pu(n),i;try{i=new t(Ye(e.pmRoot),{readOnly:!0});let s=vn(i);if(s.version!==wt||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}
|
|
135
|
+
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 Mh(e){let t=Et();if(!t||e.paths.length===0)return null;let n;try{n=new t(Ye(e.pmRoot),{readOnly:!0});let r=vn(n);if(r.version!==wt||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
|
|
136
|
+
FROM item_linked_files
|
|
137
|
+
WHERE ${a}`).get(...s),d=gs(e.limit,50),u=gs(e.offset,0),f=n.prepare(`SELECT items.id, items.metadata_json
|
|
138
|
+
FROM items
|
|
139
|
+
WHERE EXISTS (
|
|
140
|
+
SELECT 1 FROM item_linked_files
|
|
141
|
+
WHERE item_linked_files.item_id = items.id AND ${a}
|
|
142
|
+
)
|
|
143
|
+
ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
|
|
144
|
+
LIMIT ? OFFSET ?`).all(...s,d,u),m=[];if(f.length>0){let y=f.map(w=>String(w.id)),_=n.prepare(`SELECT item_id, path, scope, note
|
|
145
|
+
FROM item_linked_files
|
|
146
|
+
WHERE item_id IN (${y.map(()=>"?").join(", ")})
|
|
147
|
+
AND ${a}
|
|
148
|
+
ORDER BY path ASC, scope ASC`).all(...y,...s),h=new Map(y.map(w=>[w,[]]));for(let w of _){let T=String(w.item_id),R=h.get(T);R.push({path:String(w.path),scope:String(w.scope),...w.note===null?{}:{note:String(w.note)}}),h.set(T,R)}for(let w of f){let T=JSON.parse(String(w.metadata_json));m.push({item:T,files:h.get(String(w.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:m}}catch{return n?.close(),null}}async function Lh(e){let t=Et();if(!t)return null;let n;try{n=new t(Ye(e.pmRoot),{readOnly:!0});let r=vn(n);if(r.version!==wt||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
|
|
149
|
+
FROM item_search
|
|
150
|
+
JOIN items ON items.id = item_search.id
|
|
151
|
+
WHERE item_search MATCH ?
|
|
152
|
+
ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
|
|
153
|
+
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 kn(e){await Ne.rm(Ye(e),{force:!0})}import z from"node:fs/promises";import N from"node:path";import{createHash as ju,randomUUID as js}from"node:crypto";import ae from"node:fs/promises";import Vr from"node:path";import{randomUUID as yu}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 hu(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 xs(e){try{let t=await ae.readFile(e,"utf8");return await Q({path:e,scope:"project"}),hu(t)}catch(t){return ke(t)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function qr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function Cs(e,t){await X({path:e,scope:"project",op:t})}function gu(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:Te(),ttl_seconds:n}}async function bu(e,t,n,r){await ae.mkdir(Vr.dirname(e),{recursive:!0});let o=await ae.open(e,"wx");try{await o.writeFile(`${JSON.stringify(gu(t,n,r),null,2)}
|
|
154
|
+
`,"utf8")}finally{await o.close()}await Cs(e,"lock:create")}async function Ts(e,t){try{return await ae.unlink(e),await Cs(e,t),!0}catch{return!1}}function Os(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 wu(e){return e?.owner?` (owner ${e.owner})`:""}var Eu=25,vu=200,ku=250,Su=3,Iu=".stale-cleanup",As="owner.json",xu=1e4,Cu=5*6e4;function ks(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 Tu(e){let t=process.env.PM_LOCK_WAIT_MS,n=ks(t);if(n!==void 0)return n;let r=ks(e);return r!==void 0?r:0}function Ou(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Rs(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new x(`Item ${e} is locked${wu(t)}${r}`,k.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:ku}})}function Au(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 Ru(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 Du(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 Ds(e){try{return Du(await ae.readFile(Vr.join(e,As),"utf8"))}catch{return null}}function Nu(e){try{return process.kill(e,0),!0}catch(t){return!qr(t,"ESRCH")}}async function Gr(e){try{return await ae.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Ss(e,t){let n=await Ds(e);n===null||n.token!==t||await Gr(e)}async function Is(e){try{await ae.mkdir(e)}catch(n){return qr(n,"EEXIST"),null}let t={pid:process.pid,token:yu()};try{await ae.writeFile(Vr.join(e,As),`${JSON.stringify(t)}
|
|
155
|
+
`,"utf8")}catch{return await Gr(e),null}return t}async function Mu(e){let t;try{let r=await ae.stat(e);if(t=Date.now()-r.mtimeMs,t<=xu)return!1}catch(r){return ke(r)}let n=await Ds(e);return n!==null&&Nu(n.pid)&&t<=Cu?!1:Gr(e)}async function Lu(e,t){let n=`${e}${Iu}`,r=await Is(n);if(r!==null)return async()=>Ss(n,r.token);if(!await Mu(n))return null;let o=await Is(n);return o===null?null:async()=>Ss(n,o.token)}async function Pu(e){let t=await Lu(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await xs(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!Os(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(Ru(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=Su)throw Rs(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await Ts(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=Au(a.result);if(y)return async()=>{await Promise.resolve(y()),await re("lock_release",{pm_root:e,id:t,owner:r})}}let c=Ro(e,t),d=Tu(s),u=Date.now(),f=0,m=Eu;for(;;)try{return await bu(c,t,r,n),async()=>{await Ts(c,"lock:release"),await re("lock_release",{pm_root:e,id:t,owner:r})}}catch(y){if(!qr(y,"EEXIST"))throw new x(`Failed to acquire lock for ${t}: ${No(y)}`,k.GENERIC_FAILURE);let _=await xs(c);if(Os(_.info,n)){let w=await Pu({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:f,waitBudgetMs:d,startedAtMs:u,fallbackLockInfo:_});if(_=w.lockInfo,w.staleRemovalCounted&&(f+=1),w.shouldRetryCreate)continue}let h=Date.now()-u;if(d===0||h>=d)throw Rs(t,_.info,d===0?0:h);await Ou(Math.min(m,d-h)),m=Math.min(m*2,vu)}}(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 ee=8,Fs=500,Fu="metadata-derived-index",$u="metadata-cache.json",zu="metadata-cache-bodies.json",Hu="metadata-cache-collections.json",Uu="metadata-cache-delta.json",Wu="metadata-cache-manifest.json",Ns=4,Bu=["comments","notes","learnings","files","tests","test_runs","docs"];function $s(){return zt(Ae())}function In(e){let t={...e},n={};for(let r of Bu)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function zs(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Hs(e,t,n,r){let o=ju("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function xn(e){return N.join(e,"runtime",$u)}function Cn(e){return N.join(e,"runtime",zu)}function Tn(e){return N.join(e,"runtime",Hu)}function Kr(e){return N.join(e,"runtime",Uu)}function Jr(e){return N.join(e,"runtime",Wu)}function On(e,t){let n=N.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Vu=24,q=new Map,An=new WeakMap;function Yr(e){return An.get(e)??e.source_cursor}function qu(e,t){let n=Yr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){An.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 Gu(e,t){if(!e)return;let n=Yr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){An.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 Xu(e,t){if(!e)return;let n=Yr(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){An.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 Ku(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(qu(e,r),Gu(t,r),Xu(n,r))}function Xr(e,t){q.size>=Vu&&!q.has(e)&&Ut(q),q.set(e,t)}async function pe(e,t){let n;try{n=await z.stat(e)}catch{return q.delete(e),null}let r=q.get(e);if(r&&vt(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 Xr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Ju(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ee||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=xn(e),i=await pe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await pe(On(o,t),r);return s===null&&It(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Yu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ee||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Cn(e),o=await pe(r,n);return t&&o?.context_fingerprint!==t?await pe(On(r,t),n):o}async function Zu(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ee||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Tn(e),o=await pe(r,n);return t&&o?.context_fingerprint!==t?await pe(On(r,t),n):o}async function Zr(e){let t=Kr(e),n=await pe(t,r=>{let o=JSON.parse(r);return o.version!==ee||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 Qr(e){let t=Jr(e),n=await pe(t,r=>{let o=JSON.parse(r);return o.version!==ee||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 Ze(e)}catch{}return null}async function kt(e,t){await z.mkdir(N.dirname(e),{recursive:!0}),await W(e,JSON.stringify(t));try{let r=await z.stat(e);Xr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{q.delete(e)}let n=N.dirname(N.dirname(e));if(e===xn(n)||e===Cn(n)||e===Tn(n)){let r=On(e,t.context_fingerprint);await W(r,JSON.stringify(t));try{let c=await z.stat(r);Xr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{q.delete(r)}let o=N.dirname(e),i=N.extname(e),s=N.basename(e,i),a=(await z.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==N.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>N.join(o,c.name));if(a.length>Ns){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-Ns)))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 Us(e,t,n){return e===void 0||Qu(e,t,n)}function It(e,t){e&&!e.includes(t)&&e.push(t)}function vt(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function ef(e,t,n){let r=N.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&&!ke(o)&&It(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function tf(e,t){try{let n=await z.stat(N.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 Sn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await tf(e,n))))}function St(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&&vt(o,r.mtime_ms,r.ctime_ms,r.size)})}function nf(e){return Ht.some(t=>e.toLowerCase().endsWith(t))}function rf(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function of(e,t,n){if(n)for(let r of await Q({path:e,scope:"project"}))It(t,r)}function Ms(e,t,n,r){if(e)return t&&n?n.collections:r}async function sf(e,t,n){let r=await z.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=qn(e);await of(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&vt(c,o,i,s),u=n.previousBodies[t],f=!n.forceSourceRead&&u!==void 0&&vt(u,o,i,s),m=n.previousCollections[t],y=!n.forceSourceRead&&m!==void 0&&vt(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:Ms(n.includeCollections,y,m,void 0),bodyLength:c.body_length,body:n.includeBody?u.body:void 0};let h=await z.readFile(e,"utf8"),w=rn(h,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>It(n.warnings,R)}),T=In(w.metadata);return rf(n.state.misses,n.includeBody,n.includeCollections,d,f,y),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:T.light,heavyMetadata:Ms(n.includeCollections,y,m,T.heavy),bodyLength:d?c.body_length:w.body.length,body:n.includeBody?w.body:void 0}}function af(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?zs(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};Us(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function cf(e,t,n,r){try{let o=await sf(t,n,r);af(t,n,r,o)}catch{It(r.warnings,`item_list_item_read_failed:${e}/${N.basename(t)}`)}}function df(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function lf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function uf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function ff(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function mf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!nf(s))continue;let a=N.join(o,s),c=N.relative(t.pmRoot,a);n.push(cf(r,a,c,t))}return n}async function _f(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!St(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await kt(xn(e.pmRoot),{version:ee,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await kt(Jr(e.pmRoot),{version:ee,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:N.relative(e.pmRoot,r.item_path),metadata:In(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Es({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await kn(e.pmRoot)}catch{}}async function pf(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 kt(Cn(e.pmRoot),{version:ee,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function yf(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 kt(Tn(e.pmRoot),{version:ee,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function eo(e,t,n={}){let r=await Qr(e);return n.required!==!0&&(r===null||r.entry_count<Fs)?async()=>{}:ce(e,Fu,30,t,!1,!1,3e3)}async function ig(e,t){let n=await Qr(e);if(n===null)return null;let r=await Zr(e);if(r.invalid)return await Ze(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&&!St(i,await Sn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ls(e,t){let n=N.relative(e,t);return n===""||n===".."||n.startsWith(`..${N.sep}`)||N.isAbsolute(n)?null:n}async function Ze(e){await Promise.all([xn(e),Cn(e),Tn(e),Kr(e),Jr(e)].map(async t=>{await z.rm(t,{force:!0}),q.delete(t)})),await kn(e)}async function hf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await z.stat(e.mutation.itemPath),n=In(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 gf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function to(e){let t=Ls(e.pmRoot,e.itemPath),n=e.previousItemPath?Ls(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Ze(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Hs(e.preferredFormat,e.typeToFolder,e.schema,$s()),o=await Qr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Zr(e.pmRoot);if(s.invalid)return await Ze(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=gf(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 hf({mutation:e});let d=js();return await kt(Kr(e.pmRoot),{version:ee,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Sn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await vs({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:In(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await kn(e.pmRoot),[]}catch{return await Ze(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function bf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Ps(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function wf(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function Ef(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=qn(n);if(!o)continue;let i=e.includeCollections?zs(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Us(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:N.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function vf(e){return e.forceSourceScan||Rr()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!St(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Ps(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Ps(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&wf(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function Rn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=$s(),d=Hs(t,n,o,c),u=await Zr(e);u.invalid&&await Ze(e);let f=await Ju(e,d,i.cacheDiagnostics),m=s?await Yu(e,d):null,y=a?await Zu(e,d):null;Ku(f,m,y,u.envelope);let _=df(f,d),h=lf(m,d),w=uf(y,d),T=[...new Set(Object.values(n))],R=await Sn(e,T),M=Object.keys(_),L=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Fs));if(vf({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:y,directorySignatures:R,entryKeys:M,minimumIndexedItems:L,includeBody:s,includeCollections:a,previousBodies:h,previousCollections:w}))return Ef({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:h,previousCollections:w});let J=await Promise.all(T.map(La=>ef(e,La,r))),Ee=Rr(),U=ff(),Un={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:Ee,previousEntries:_,previousBodies:h,previousCollections:w,state:U};await Promise.all(mf(J,Un));let Dt=await Sn(e,T),Nt=St(R,Dt)?Dt:{},Wn=U.misses.metadata||Object.keys(_).length!==Object.keys(U.newEntries).length||!St(f?.directory_signatures,Nt)||f===null?js():f.source_cursor;return await _f({pmRoot:e,contextFingerprint:d,sourceCursor:Wn,existingCache:f,previousEntries:_,directorySignatures:Nt,state:U,minimumIndexedItems:L}),s&&await pf({pmRoot:e,contextFingerprint:d,sourceCursor:Wn,existingBodyCache:m,previousBodies:h,state:U}),a&&await yf({pmRoot:e,contextFingerprint:d,sourceCursor:Wn,existingCollectionsCache:y,previousCollections:w,state:U}),bf(U)}async function Ws(e,t,n,r,o){return(await Rn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Bs(e,t,n,r,o){return(await Rn(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 ye(){let e=Lo();for(let t of Ae()?.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 xt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function Dn(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function kf(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 Sf(e,t){let n=[...e].sort(),r=kf(n,t),o=new Set,i=If(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=xf(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 If(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 xf(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 Vs(e){let t=new Map;for(let n of e){let r=xt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function Cf(e,t,n){let r=xt(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 Tf(e,t,n,r){let o=xt(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 qs(e,t){let n=new Map;for(let[r,o]of e){let i=Cf(r,o,e);i&&n.set(Dn(i),i);for(let s of o.dependencies??[]){let a=Tf(r,s,e,t);a&&n.set(Dn(a),a)}}return[...n.values()].sort((r,o)=>Dn(r).localeCompare(Dn(o)))}function mg(e,t=ye()){return qs(Vs(e),t)}function Of(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 Af(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=xt(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 Nn(e,t=r=>r==="closed"||r==="canceled",n=ye()){let r=Vs(e),o=qs(r,n),i=Rf(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=Sf([...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:Of(o,i.parents_by_child,s),divergences:Af(r,o,s)}}function _g(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 Rf(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 no(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function pg(e,t,n,r,o){let i=xt(n);if(!i)return;let s=Nn(e,r,o),a=Nn(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&&no(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&&no(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=>no(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]="971d929f-12be-5648-93c9-8a9878b40dde")}catch{}})();function Mn(e){let t=e?.trim()??"";return/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(t)||/^(?:github|gitlab|jira|linear):/iu.test(t)}function Me(e){let t=e?.trim().toLowerCase();return t==="global"||t==="external"}(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]="f3f3beb2-1d60-52fe-88ce-1ab3cb9dba0d")}catch{}})();var Df="global";function wg(e){let t=e?.trim();if(t)return Me(t)?Df:t}function Eg(e,t,n){let r=e.trim();return Me(n)?r:bt(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]="e04a91fa-4625-50fd-9bfd-c712126baf0d")}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 Ct(e){let t=et(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Tt(e,t,n=!0){let r=et(e);return n&&(Me(t)||r!==void 0&&Mn(r))}function ro(e,t){return Tt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Gs(e,t,n,r){return Tt(e,t)?r.get(e):n.get(e.toLowerCase())}function Qe(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function Nf(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${ro(o,r.source_kind)}`,a=t.get(s);a?a.count+=1:t.set(s,{target_id:o,kind:i,count:1})}return t}function Mf(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 Nf(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=Qe(r.holder_id,o.holder_id);if(i!==0)return i;let s=Qe(r.target_id,o.target_id);return s!==0?s:Qe(r.kind,o.kind)})}function Lf(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=et(n.id);if(!i||ro(i,n.source_kind)!==ro(t))return;let s=o.resolve(typeof n.kind=="string"?n.kind:"related");if(!(s?.ordering!==!0||(s.precedence??"source_before_target")!=="source_before_target"))return{holder_id:e.id.trim(),target_id:i,dependency_kind:s.kind,holder_status:e.status,legacy_terminal:r(e.status)}}function Pf(e,t=r=>r==="closed"||r==="canceled",n=ye()){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=Lf(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=Qe(o.holder_id,i.holder_id);if(s!==0)return s;let a=Qe(o.target_id,i.target_id);return a!==0?a:Qe(o.dependency_kind,i.dependency_kind)})}function jf(e,t=n=>n==="closed"||n==="canceled"){let n=e.filter(c=>typeof c?.id=="string"&&c.id.trim().length>0),r=new Set(n.map(c=>c.id.trim().toLowerCase())),o=new Map,i=(c,d,u,f,m)=>{let y=et(d);if(!y||r.has(y.toLowerCase())||Tt(y,void 0,m))return;let _={holder_id:c.id.trim(),target_id:y,kind:u,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:y.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let u=d;Me(u.source_kind)||i(c,u.id,typeof u.kind=="string"?u.kind:"related","dependency",!0)}}let s=[...o.values()].sort((c,d)=>c.holder_id.localeCompare(d.holder_id)||c.target_id.localeCompare(d.target_id)||c.kind.localeCompare(d.kind)||c.source.localeCompare(d.source)),a=s.filter(c=>c.legacy_terminal);return{active:s.filter(c=>!c.legacy_terminal),legacy_terminal:a,no_active_blocker_sentinels:s.filter(c=>c.no_active_blocker_sentinel)}}function Ff(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 $f(e){let t=new Map;for(let n of e){let r=Ct(n.blocked_by);r&&Tt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Tt(o.id,o.source_kind))continue;let i=Ct(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Xs=new WeakMap;function Tg(e){return e.hierarchyIntegrity??Xs.get(e)}function zf(e,t=ye()){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 Og(e,t,n){let r=n??ye(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=jf(o,t),a=Ff(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=$f(o),d=new Set(i.keys()),u=new Map;for(let _ of c){let h=_;for(;d.has(h.toLowerCase());)h=`external:${h}`;u.set(_,h),d.add(h.toLowerCase())}let f=o.map(_=>{let h=Ct(_.parent),w=Ct(_.blocked_by),T=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let M=R,L=Ct(M.id);return L?[{id:Gs(L,M.source_kind,i,u),kind:typeof M.kind=="string"?M.kind:"related"}]:[]});return{id:_.id.trim(),...h?{parent:i.get(h.toLowerCase())}:{},...w?{blocked_by:Gs(w,void 0,i,u)}:{},dependencies:T}}),m=Nn(o,t,r),y={graph:Po.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:u.get(_)}))],r),details:[...o.map(_=>({id:_.id.trim(),title:_.title,status:_.status,...typeof _.type=="string"&&_.type.trim().length>0?{type:_.type.trim()}:{}})),...a.map(_=>({id:_,title:`[missing] ${_}`,status:"missing"})),...c.map(_=>({id:u.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Mf(o,t),orderingContradictions:Pf(o,t,r),legacyAliasCounts:zf(o,r),hierarchyIntegrity:m};return Xs.set(y,m),y}import Hf 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 Ot="_workspace";function oo(e){return tt.join(e,"history",`${Ot}.jsonl`)}function Uf(e,t){return{metadata:{id:Ot,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 io(e,t=e.length){let n=yn();for(let r of e.slice(0,t))n=gt(n,r.patch).document;return hn(n)}function Ks(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function so(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 Wf(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 Ug(e){let t=await qe(oo(e),Ot),n=gn(t);n.ok||so(n.errors);let r=Ks(t.length===0?Pe:io(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let d;try{let u=Wf(e,tt.resolve(e,c));if(d=await le(u.absolutePath),d===null){s.push(c);continue}let f=JSON.parse(d);(j(f)===j(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 Js(e){let t=oo(e.pmRoot),n=await qe(t,Ot),r=gn(n);r.ok||so(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?Pe:io(n),a=Ks(s),c=a[e.documentPath];if(c!==void 0&&j(c)!==j(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=Uf({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),u=Ke({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 Je(t,u),{entry:u,historyPath:t}}async function Wg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Js(e)}finally{await t()}}async function Bg(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=oo(e.pmRoot),r=await qe(n,Ot),o=gn(r);o.ok||so(o.errors);let i=r.length===0?Pe:io(r),s=Ke({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Je(n,s),{entry:s,historyPath:n}}finally{await t()}}async function Ys(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 Js({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 Hf.rm(e.filePath,{force:!0}):await W(e.filePath,t),o}return!0}async function Vg(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 Ys({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function Zs(e){let t=await ce(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await Ys(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 O(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:$}function g(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 co(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 Ln(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 Bf=I({key:p,values:g(p),required:l(C),aliases:l(g(p)),description:l(p)}),Vf=I({command:O("create","update"),option:p,required:l(C),visible:l(C),enabled:l(C)}),qf=I({name:p,description:l(p),default_status:l(p),folder:l(p),aliases:l(g(p)),required_create_fields:l(g(p)),required_create_repeatables:l(g(p)),options:l(g(Bf)),command_option_policies:l(g(Vf))}),Gf=I({id:p,aliases:l(g(p)),roles:l(g(O(...Eo))),description:l(p),order:l(A())}),Xf=I({key:p,metadata_key:l(p),front_matter_key:l(p),cli_flag:l(p),cli_aliases:l(g(p)),description:l(p),type:l(O(...vo)),commands:l(g(O(...ko))),repeatable:l(C),required:l(C),required_on_create:l(C),required_types:l(g(p)),allow_unset:l(C)}),Kf=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]}},Jf=I({type:p,allowed_transitions:g(Kf)}),Yf=l(I({version:l(A({int:!0})),files:l(I({types:l(p),statuses:l(p),fields:l(p),workflows:l(p)})),statuses:l(g(Gf)),fields:l(g(Xf)),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(g(Jf)),unknown_field_policy:l(O(...So))})),Zf=l(I({preset:l(O(...Io)),ownership_enforcement:l(O("none","warn","strict")),create_mode_default:l(O("progressive","strict")),close_validation_default:l(O("off","warn","strict")),require_close_reason:l(C),parent_reference:l(O("warn","strict_error")),metadata_profile:l(O("core","strict","custom")),force_required_for_stale_lock:l(C),create_default_type:l(p),workflow_enforcement:l(O("off","warn","strict")),duplicate_detection_mode:l(O("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(O("none","restricted","strict")),allowed_capabilities:l(g(p)),blocked_capabilities:l(g(p)),allowed_surfaces:l(g(p)),blocked_surfaces:l(g(p)),allowed_commands:l(g(p)),blocked_commands:l(g(p)),allowed_actions:l(g(p)),blocked_actions:l(g(p)),allowed_services:l(g(p)),blocked_services:l(g(p))}),ao=O("block","warn"),em=e=>typeof e=="string"?ao(e):I({global:l(ao),project:l(ao)})(e),tm=l(I({mode:l(O("off","warn","enforce")),trust_mode:l(O("off","warn","enforce")),pm_max_version_exceeded_mode:l(em),require_provenance:l(C),trusted_extensions:l(g(p)),default_sandbox_profile:l(O("none","restricted","strict")),allowed_extensions:l(g(p)),blocked_extensions:l(g(p)),allowed_capabilities:l(g(p)),blocked_capabilities:l(g(p)),allowed_surfaces:l(g(p)),blocked_surfaces:l(g(p)),allowed_commands:l(g(p)),blocked_commands:l(g(p)),allowed_actions:l(g(p)),blocked_actions:l(g(p)),allowed_services:l(g(p)),blocked_services:l(g(p)),extension_overrides:l(g(Qf))})),Le=co(128),nm=I({harness:co(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:l(g(Le,64)),model_environment_keys:l(g(Le,64)),session_environment_keys:l(g(Le,64)),provenance_environment_keys:l(Ln(g(Le,64))),provenance_resolvers:l(Ln(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:l(g(Le,64)),argv_markers:l(g(Le,64)),client_names:l(g(Le,64))}),rm=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:Ln(co(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:g(nm)})),mutation_guard:l(I({require_attributed_author:l(C),secret_guard:l(O("off","advise","block")),stale_in_progress_hours:l(A({int:!0,positive:!0}))})),item_format:l(O("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:O("toon","json")}),ux:l(I({deprecation_hints:l(C)})),history:l(I({missing_stream:O("auto_create","strict_error"),compact_policy:l(I({enabled:l(C),max_entries:l(A({int:!0,positive:!0})),trigger:l(O("health_warn","auto"))}))})),validation:l(I({sprint_release_format:O("warn","strict_error"),parent_reference:l(O("warn","strict_error")),metadata_profile:l(O("core","strict","custom")),metadata_required_fields:l(g(p)),lifecycle_stale_blocker_reason_patterns:l(g(p)),lifecycle_closure_like_blocked_reason_patterns:l(g(p)),lifecycle_closure_like_resolution_patterns:l(g(p)),lifecycle_closure_like_actual_result_patterns:l(g(p)),estimate_defaults_by_type:l(Ln(A({int:!0,positive:!0})))})),governance:Zf,workflow:l(I({definition_of_done:g(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(O("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(g(p))})),item_types:l(I({definitions:g(qf)})),schema:Yf,context:l(I({default_depth:l(O("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:g(p),disabled:g(p),policy:tm}),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(g(p)),mutation_refresh_policy:l(O("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=rm(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 om={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},ea=120;function lo(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function na(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var im=na(om),ta=new WeakMap;function sm(e){let t=ta.get(e);if(t)return t;let n=na(e);return ta.set(e,n),n}function Kg(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return ea;if(t){let o=sm(t).get(n);if(lo(o))return Math.floor(o)}let r=im.get(n);return lo(r)?Math.floor(r):ea}function uo(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||!lo(r)||(t[o]=Math.floor(r))}return t}import{stat as am}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 Pn=new Map;function ra(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function cm(e){try{let t=await am(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function he(e){let t=ra(e),n=await Promise.all(t.map(r=>cm(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function At(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 oa(e){return Pn.get(e)}function jn(e,t){let n=ra(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));Pn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function ge(e){if(e){Pn.delete(e);return}Pn.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 dm="settings:write",da=Symbol("pm.settings.persist_source"),lm=128,um=new Set(["off","advisory","strict"]);function ia(e){return structuredClone(Co[e])}function fm(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:E.governance.preset}function sa(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 mm(e){return e.preset==="custom"?sa({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):sa({preset:e.preset},e)}function _m(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),um.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 $n(e){let t=e.governance??{},n=fm(t.preset),r=_m(t);if(n==="custom"){let s=ia("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=ia(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function la(){return structuredClone(E)}function ua(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:E.search.mutation_refresh_policy}function fa(e){return typeof e=="boolean"?e:E.search.query_expansion.enabled}function ma(e){return typeof e!="string"?E.search.query_expansion.provider:e.trim()}function _a(e){return typeof e=="boolean"?e:E.search.rerank.enabled}function pa(e){return typeof e!="string"?E.search.rerank.model:e.trim()}function ya(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:E.search.rerank.top_k}function ha(e){if(typeof e!="string")return E.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,lm);return n.length>0?n:E.vector_store.collection_name}function fo(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function pm(e,t){let n=e.schema,r=fo(n?.statuses),o=fo(n?.fields),i=fo(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 ga(e,t){Object.defineProperty(e,da,{value:t,writable:!0,configurable:!0,enumerable:!1})}function ba(e){let t=e[da];if(!(!t||typeof t!="object"))return t}function Fn(e){let t=structuredClone(e.settings),n=ba(e.settings);return n&&ga(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function ym(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 hm(e,t,n){let r=await he(t);jn(e,{tracked_paths:t,signatures:r,value:Fn(n)})}async function gm(e,t,n){try{await hm(e,t,n)}catch{ge(e)}}function aa(e,t){return e.find(n=>n.path===t)}function bm(e,t,n){for(let r of n){let o=aa(e,r),i=aa(t,r);if(!o||!i||!At([o],[i]))return!1}return!0}async function mo(e,t,n,r,o){try{let i=await he(t);if(!bm(r,i,o)){ge(e);return}jn(e,{tracked_paths:t,signatures:i,value:Fn(n)})}catch{ge(e)}}function wm(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=Fe(r,t.runtime_item_type_definitions),s=Fe(n.statuses,t.runtime_schema_statuses),a=Fe(n.fields,t.runtime_schema_fields),c=Fe(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 Rt(e){return{settings:la(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Em(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function po(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function wa(e){let t=E.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:po(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 vm(e){return e==="off"||e==="warn"||e==="enforce"?e:E.extensions.policy.mode}function km(e){return e==="off"||e==="warn"||e==="enforce"?e:E.extensions.policy.trust_mode}function Ea(e){return e==="none"||e==="restricted"||e==="strict"?e:E.extensions.policy.default_sandbox_profile}function Sm(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=Ea(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 Im(e){let t=new Map;for(let n of e??[]){let r=Sm(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function _o(e){return e==="block"||e==="warn"?e:void 0}function xm(e){if(typeof e=="string")return _o(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=_o(e.global),n=_o(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function B(e,t){return K(e?.[t]??E.extensions.policy[t])}function va(e){let t=xm(e?.pm_max_version_exceeded_mode);return{mode:vm(e?.mode),trust_mode:km(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:B(e,"trusted_extensions"),default_sandbox_profile:Ea(e?.default_sandbox_profile),allowed_extensions:B(e,"allowed_extensions"),blocked_extensions:B(e,"blocked_extensions"),allowed_capabilities:B(e,"allowed_capabilities"),blocked_capabilities:B(e,"blocked_capabilities"),allowed_surfaces:B(e,"allowed_surfaces"),blocked_surfaces:B(e,"blocked_surfaces"),allowed_commands:B(e,"allowed_commands"),blocked_commands:B(e,"blocked_commands"),allowed_actions:B(e,"allowed_actions"),blocked_actions:B(e,"blocked_actions"),allowed_services:B(e,"allowed_services"),blocked_services:B(e,"blocked_services"),extension_overrides:Im(e?.extension_overrides??E.extensions.policy.extension_overrides)}}function ka(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 be(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function P(e,t){return e===void 0?t:e}function V(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function yo(e){return Array.isArray(e)?e:[]}function Cm(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:ka(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:be(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:be(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:be(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:be(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:uo(e.validation?.estimate_defaults_by_type)}}function Tm(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 Om(e,t){return{...t.search,...e.search,mutation_refresh_policy:ua(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:fa(e.search?.query_expansion?.enabled),provider:ma(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:_a(e.search?.rerank?.enabled),model:pa(e.search?.rerank?.model),top_k:ya(e.search?.rerank?.top_k)}}}function Am(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:ha(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Rm(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Dm(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 Nm(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=>Oo(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 Sa(e){let t=la(),n=$n({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Rm(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:Cm(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:Tm(e,t),agent_guidance:wa(e.agent_guidance??t.agent_guidance),item_types:{definitions:nt(e.item_types?.definitions)},schema:dt(e.schema??t.schema),context:Dm(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:va(e.extensions.policy??t.extensions.policy)},search:Om(e,t),providers:Nm(e,t),vector_store:Am(e,t)}}function Mm(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(V(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=yo(e.agent_identity.harness_signals).map(n=>S(V(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(V(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=S(V(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(V(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=S(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=S(V(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=yo(e.extensions.policy.extension_overrides).map(n=>S(V(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(V(e.search.query_expansion),["enabled","provider"]),e.search.rerank=S(V(e.search.rerank),["enabled","model","top_k"]),e.providers=S(e.providers,["openai","ollama"]),e.providers.openai=S(V(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=S(V(e.providers.ollama),["base_url","model"]),e.vector_store=S(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=S(V(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=S(V(e.vector_store.lancedb),["path"])}function Lm(e){return{...e,locks:P(e.locks,E.locks),ids:P(e.ids,E.ids),agent_identity:P(e.agent_identity,E.agent_identity),mutation_guard:P(e.mutation_guard,E.mutation_guard),checkpoints:P(e.checkpoints,E.checkpoints),output:P(e.output,E.output),ux:P(e.ux,E.ux),history:P(e.history,E.history),validation:P(e.validation,E.validation),workflow:P(e.workflow,E.workflow),testing:P(e.testing,E.testing),telemetry:P(e.telemetry,E.telemetry),agent_guidance:P(e.agent_guidance,E.agent_guidance),item_types:P(e.item_types,E.item_types),schema:P(e.schema,E.schema),context:P(e.context,E.context),extensions:P(e.extensions,E.extensions),search:P(e.search,E.search),providers:P(e.providers,E.providers),vector_store:P(e.vector_store,E.vector_store)}}function Pm(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:ka(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:be(e.validation?.lifecycle_stale_blocker_reason_patterns??E.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:be(e.validation?.lifecycle_closure_like_blocked_reason_patterns??E.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:be(e.validation?.lifecycle_closure_like_resolution_patterns??E.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:be(e.validation?.lifecycle_closure_like_actual_result_patterns??E.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:uo(e.validation?.estimate_defaults_by_type)}}function jm(e){return{...E.search,...e.search,mutation_refresh_policy:ua(e.search?.mutation_refresh_policy),query_expansion:{...E.search.query_expansion,...e.search?.query_expansion,enabled:fa(e.search?.query_expansion?.enabled),provider:ma(e.search?.query_expansion?.provider)},rerank:{...E.search.rerank,...e.search?.rerank,enabled:_a(e.search?.rerank?.enabled),model:pa(e.search?.rerank?.model),top_k:ya(e.search?.rerank?.top_k)}}}function Fm(e){return{default_depth:e.context?.default_depth??E.context.default_depth,activity_limit:e.context?.activity_limit??E.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??E.context.stale_threshold_days,sections:{...E.context.sections,...e.context?.sections}}}function $m(e){return{...e.vector_store,adapter:e.vector_store?.adapter??E.vector_store.adapter,collection_name:ha(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function zm(e,t,n,r){return{...e,item_format:"toon",validation:Pm(e,t),governance:t,agent_guidance:wa(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:jm(e),context:Fm(e),extensions:{enabled:po(e.extensions?.enabled),disabled:po(e.extensions?.disabled),policy:va(e.extensions?.policy)},vector_store:$m(e)}}function Ia(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(!Fe(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:{};Ia(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var xa=["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 ca(e,t){let n=Lm(e),r=$n(n),o=dt(n.schema),i=wm(n,t),s=zm(n,r,o,i),a=S({...s,governance:mm(r)},xa);return Mm(a),a}function Hm(e,t={}){let n=ca(e,t.persist_source);if(t.persist_source){let r=Sa(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=ca(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Ia(i,o,n),`${JSON.stringify(S(i,xa),null,2)}
|
|
156
|
+
`}return`${JSON.stringify(n,null,2)}
|
|
157
|
+
`}async function Ca(e){let t=st(e),n=[t];await Q({path:t,scope:"project"});let r=oa(e);if(r){let d=await he(r.tracked_paths);if(At(d,r.signatures))return Fn(r.value)}let o=await he([t]),i;try{i=await le(t)}catch{return Rt("settings_read_fs_error")}if(i===null){let d=Rt();return await mo(e,[t],d,o,[t]),d}let s=await he([t]);if(!At(o,s))return ge(e),Ca(e);let a;try{a=JSON.parse(i)}catch{let d=Rt("settings_read_invalid_json");return await mo(e,[t],d,s,[t]),d}let c=Qs(a);if(!c.success){let d=Rt("settings_read_invalid_schema");return await mo(e,[t],d,s,[t]),d}try{let d=Sa(c.data),u=ym(e,d.schema,t);n=u;let f=await he(u),m=await Bo(e,d.schema),y=await Vo(e,d.schema),_=await he(u),h={...d,item_types:{definitions:nt([...d.item_types.definitions,...yo(y.type_definitions_from_file)])},schema:y.schema};ga(h,pm(c.data,h));let w={settings:h,metadata:{has_explicit_item_format:Em(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(T=>`runtime_schema_bootstrap_created:${T}`),...y.warnings]};return m.created_paths.length===0?At(f,_)?jn(e,{tracked_paths:u,signatures:_,value:Fn(w)}):ge(e):ge(e),w}catch{let d=Rt("settings_read_merge_failed");return await gm(e,n,d),d}}async function ub(e){return(await Ca(e)).settings}async function fb(e,t,n=dm){let r=st(e),o=Hm(t,{persist_source:ba(t)});try{await Zs({pmRoot:e,filePath:r,raw:o,op:n,author:_i(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{ge(e)}}import Um 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]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function Bm(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function Vm(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 qm(e,t){return await To(Wm.dirname(e)),await(await Um.open(e,"a")).close(),X({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ho(e){return Gm({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function Gm(e){let t=Bm(e.itemIds),n=[],r=[];for(let o of t){let i=at(e.pmRoot,o);if(!await je(i)){if(e.settings.history.missing_stream==="strict_error")throw Vm(o,e.commandLabel);r.push(...await qm(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import bo from"node:fs/promises";import zn 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 we(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function wo(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 Hn(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 go(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 Xm(e){let t=zn.resolve(e),n=zn.parse(t).root,r=zn.dirname(t);for(;r!==n;){let o;try{o=await bo.stat(r)}catch(i){if(we(i,"ENOTDIR"))throw Hn(e);if(!we(i,"ENOENT"))throw i;r=zn.dirname(r);continue}if(!o.isDirectory())throw Hn(e);return}}async function rt(e){let t;try{t=await bo.stat(e)}catch(n){throw we(n,"ENOENT")?(await Xm(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:wo(e)})):we(n,"ENOTDIR")?Hn(e):we(n,"EACCES")||we(n,"EPERM")?go(e):n}if(!t.isDirectory())throw Hn(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw go(e);try{await(await bo.opendir(e)).close()}catch(n){throw we(n,"EACCES")||we(n,"EPERM")?go(e):n}}async function Km(e){if(await rt(e),!await je(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:wo(e)})}import ot from"node:fs/promises";import Jm 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 Ym(e){try{return await ot.access(e),!0}catch{return!1}}function Zm(e,t){e&&(e.includes(t)||e.push(t))}function Ta(e){return e??zt(Ae())}function Qm(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function Oa(e,t,n="pm-",r,o=ve){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=bt(t,n),c=Br(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 h=Vn(e,y,m,_,o);if(await Ym(h))return{id:m,type:y,itemPath:h,item_format:_}}return null}async function Aa(e,t={}){let n=await ot.readFile(e.itemPath,"utf8");await Q({path:e.itemPath,scope:"project"});let r=rn(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ta(t.extensionFieldNames),onWarning:o=>Zm(t.warnings,o)});return{raw:n,document:r}}async function e_(e,t,n=ve,r,o){return await rt(e),(await Ws(e,t,n,r,o)).map(s=>s.metadata)}async function Kb(e,t,n=ve,r,o){return await rt(e),(await Bs(e,t,n,r,o)).map(s=>s.metadata)}async function Jb(e,t,n=ve,r,o,i={}){return await rt(e),(await Rn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Ra(e){return{async get(t){let n=await Oa(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Aa(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>e_(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function t_(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ot.readdir(Jm.join(e,o));for(let s of i)for(let a of Ht)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function n_(e,t,n,r){let o=bt(t,n),i=await t_(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Mt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function r_(e,t,n,r){let o=await n_(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 o_(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 Da(e){let t=e.typeToFolder??Ao(e.settings,Ae()).type_to_folder,n=await Oa(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await r_(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 Aa(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=mi(e.author),u=$n(e.settings);if(a&&c!==d&&!e.force&&!o_(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 i_(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 s_(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 Na(e){let t=await Da({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=Te();let m=G(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await Ar({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:u.changedFields,sdk:Ra({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await ho({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),_="toon",h=Pi(m,{format:_,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),w=Vn(e.pmRoot,m.metadata.type,r.id,_,n),T=at(e.pmRoot,r.id),R=await re("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:w,history_path:T,item_format:_,before:c,after:m,contents:h}),{effectiveTargetItemPath:M,effectiveSerializedAfter:L,skipItemWrite:J}=i_(R,w,h),Ee=await eo(e.pmRoot,e.author),U=[];try{J||await W(M,L),!J&&M!==r.itemPath&&await ot.rm(r.itemPath);let Dt=Ke({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:f});try{await Je(T,Dt)}catch(Nt){throw await s_({skipItemWrite:J,effectiveTargetItemPath:M,originalItemPath:r.itemPath,originalRaw:o}),Nt}J||(U=await to({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:M,previousItemPath:r.itemPath,document:m}))}finally{await Ee()}let Un=[...await X({path:M,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:T,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 Or({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:on(c.metadata,u.changedFields),current:on(m.metadata,u.changedFields),changed_fields:u.changedFields}),{item:m.metadata,body:m.body,changedFields:u.changedFields,warnings:[...s,...u.warnings??[],...y.warnings,...R.warnings,...U,...Un]}}finally{await a()}}async function Yb(e){return Na(e)}async function Zb(e){return Na(e)}async function Qb(e){let t=await Da({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=Ta(void 0),c=G(o,{schema:e.settings.schema,extensionFieldNames:a});await Ar({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Ra({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let d=await ho({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),u=Te(),f=Pe,m=Ke({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}),h=n.itemPath,w=!1;if(_.handled&&typeof _.result=="object"&&_.result!==null){let L=_.result;typeof L.item_path=="string"&&L.item_path.trim().length>0&&(h=L.item_path),L.skip_delete===!0&&(w=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:h,warnings:[...i,...d.warnings,..._.warnings]};let T=await eo(e.pmRoot,e.author),R=[];try{w||await ot.rm(h);try{await Je(y,m)}catch(L){throw w||await W(h,r),L}w||(R=await to({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:h,document:null}))}finally{await T()}let M=[...await X({path:h,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 Or({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:on(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,..._.warnings,...R,...M]}}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 a_(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:Mt(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 Ma(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function sw(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:a_(r,o),u=Ma([...i,r,...s]),f=e.retry_command??(d?Ma([...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{Mp as a,sl as b,Gp as c,pl as d,Xp as e,Kp as f,Jp as g,Yp as h,Zp as i,Qp as j,ey as k,Ae as l,Or as m,on as n,X as o,Ar as p,Q as q,Rr as r,ty as s,ny as t,re as u,Pl as v,Ie as w,Xn as x,l_ as y,u_ as z,Bt as A,Qn as B,g_ as C,b_ as D,w_ as E,E_ as F,v_ as G,k_ as H,cr as I,dr as J,ai as K,D_ as L,N_ as M,M_ as N,L_ as O,P_ as P,j_ as Q,mr as R,li as S,F_ as T,$_ as U,z_ as V,fc as W,mi as X,_i as Y,Te as Z,te as _,wi as $,H as aa,K_ as ba,J_ as ca,ce as da,Ii as ea,ut as fa,lp as ga,up as ha,He as ia,Ei as ja,Z_ as ka,vi as la,Nc as ma,Q_ as na,Yt as oa,Lc as pa,rp as qa,Qt as ra,nn as sa,rn as ta,Pi as ua,G as va,qe as wa,wy as xa,Ey as ya,vy as za,Wy as Aa,By as Ba,Bl as Ca,yt as Da,De as Ea,ht as Fa,ch as Ga,Ur as Ha,dh as Ia,Ke as Ja,Je as Ka,Zl as La,yn as Ma,pn as Na,hn as Oa,hh as Pa,gh as Qa,us as Ra,gt as Sa,ms as Ta,gn as Ua,ou as Va,bh as Wa,wh as Xa,Ot as Ya,oo as Za,Ug as _a,Wg as $a,Bg as ab,Vg as bb,Zs as cb,Kg as db,$n as eb,Ca as fb,ub as gb,fb as hb,ho as ib,Gm as jb,ys as kb,Br as lb,bt as mb,Ch as nb,Nh as ob,Mh as pb,Lh as qb,Fs as rb,Bu as sb,eo as tb,ig as ub,to as vb,Rn as wb,rt as xb,Km as yb,Oa as zb,Aa as Ab,e_ as Bb,Kb as Cb,Jb as Db,Ra as Eb,r_ as Fb,Yb as Gb,Zb as Hb,Qb as Ib,sw as Jb,Mn as Kb,Me as Lb,wg as Mb,Eg as Nb,ye as Ob,mg as Pb,Nn as Qb,_g as Rb,Rf as Sb,pg as Tb,Ct as Ub,Mf as Vb,Pf as Wb,jf as Xb,Ff as Yb,Tg as Zb,Og as _b};
|
|
158
|
+
//# sourceMappingURL=chunk-3UMBF26I.js.map
|