@unbrained/pm-cli 2026.9.27 → 2026.9.28

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.
Files changed (127) hide show
  1. package/.claude-plugin/marketplace.json +4 -6
  2. package/CHANGELOG.md +26 -0
  3. package/dist/cli/help-json-payload.js +1 -1
  4. package/dist/cli/register-operations.js +1 -1
  5. package/dist/cli-bundle/bundle-manifest.json +154 -154
  6. package/dist/cli-bundle/chunks/{chunk-OKVDVERQ.js → chunk-35DME35A.js} +2 -2
  7. package/dist/cli-bundle/chunks/{chunk-AUS6USO4.js → chunk-A2G5OG6W.js} +2 -2
  8. package/dist/cli-bundle/chunks/chunk-CPOWTIIS.js +2 -0
  9. package/dist/cli-bundle/chunks/{chunk-7TAGYNFP.js → chunk-GLH2LNRH.js} +2 -2
  10. package/dist/cli-bundle/chunks/{chunk-3BTJ66CB.js → chunk-NBDB3SRC.js} +48 -48
  11. package/dist/cli-bundle/chunks/{chunk-JX6WCCHL.js → chunk-NEUIVBFO.js} +2 -2
  12. package/dist/cli-bundle/chunks/{chunk-6OJVQ7SW.js → chunk-OYCCWPBM.js} +2 -2
  13. package/dist/cli-bundle/chunks/{chunk-LKGQUZ5M.js → chunk-PLNNUAFZ.js} +2 -2
  14. package/dist/cli-bundle/chunks/{chunk-4SLLCDFL.js → chunk-PR4UAMI5.js} +8 -8
  15. package/dist/cli-bundle/chunks/{chunk-TSF2LPIH.js → chunk-UT7GRGHY.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-V5UGBYHN.js → chunk-VMJLM7P2.js} +62 -62
  17. package/dist/cli-bundle/chunks/{chunk-IEP3VAT5.js → chunk-YERBAGQD.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-ZFHJP7YD.js +29 -0
  19. package/dist/cli-bundle/chunks/{register-list-query-6PAJ4PBU.js → register-list-query-N6RP6PSP.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-mutation-RZCXZXYS.js → register-mutation-CY7JGQE6.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-operations-GK6VU2H2.js → register-operations-53HAD3QP.js} +2 -2
  22. package/dist/cli-bundle/chunks/{register-setup-ASEMNMBF.js → register-setup-NVX6374E.js} +2 -2
  23. package/dist/cli-bundle/focused-chunks/{chunk-OJRX6G22.js → chunk-5KJXX2TZ.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/{chunk-MILJCOFJ.js → chunk-6IVQPNYN.js} +2 -2
  25. package/dist/cli-bundle/focused-chunks/{chunk-NETVXIH5.js → chunk-A5O3VYWV.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-AZA4AEOR.js +75 -0
  27. package/dist/cli-bundle/focused-chunks/chunk-BGWF6CMP.js +2 -0
  28. package/dist/cli-bundle/focused-chunks/{chunk-PDVL7QYU.js → chunk-BRLXKRI2.js} +15 -15
  29. package/dist/cli-bundle/focused-chunks/{chunk-SMADBUPL.js → chunk-DTLRXY77.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-6UNKK3UH.js → chunk-IJXZQE3D.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-NWRVNHAD.js → chunk-IWLMQLBO.js} +6 -6
  32. package/dist/cli-bundle/focused-chunks/chunk-K7GSZ7YZ.js +2 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-OJKJFDIG.js → chunk-ONDNR3VU.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/{chunk-NZAG7OKB.js → chunk-OVVCXTIE.js} +2 -2
  35. package/dist/cli-bundle/focused-chunks/{chunk-GZD4ZYIB.js → chunk-V7OPZRL6.js} +2 -2
  36. package/dist/cli-bundle/focused-chunks/{chunk-LBDWUHQD.js → chunk-Y5Z3XNGY.js} +2 -2
  37. package/dist/cli-bundle/focused-chunks/{chunk-QO4MTAEA.js → chunk-YZB7IPR6.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/{chunk-DQ3MB7BO.js → chunk-ZMQTIS3L.js} +2 -2
  39. package/dist/cli-bundle/main.js +21 -21
  40. package/dist/cli-bundle/sdk-authoring.js +1 -1
  41. package/dist/cli-bundle/sdk-contracts.js +1 -1
  42. package/dist/cli-bundle/sdk-core.js +18 -18
  43. package/dist/cli-bundle/sdk-governance.js +1 -1
  44. package/dist/cli-bundle/sdk-graph.js +1 -1
  45. package/dist/cli-bundle/sdk-merge.js +51 -51
  46. package/dist/cli-bundle/sdk-query.js +1 -1
  47. package/dist/cli-bundle/sdk-runtime.js +1 -1
  48. package/dist/cli-bundle/sdk-testing.js +1 -1
  49. package/dist/cli-bundle/sdk.js +1 -1
  50. package/dist/core/diagnostics/remediation.js +1 -1
  51. package/dist/core/item/item-format.js +1 -1
  52. package/dist/core/store/settings.js +3 -3
  53. package/dist/sdk/cli-contracts/commander-mutation-options.js +1 -1
  54. package/dist/sdk/cli-contracts/tool-parameter-tables.js +1 -1
  55. package/dist/sdk/completion/fish.js +3 -3
  56. package/dist/sdk/completion/zsh.js +3 -3
  57. package/dist/sdk/extension/copy-scope.d.ts +2 -2
  58. package/dist/sdk/extension/copy-scope.js +1 -1
  59. package/dist/sdk/extension/install-plan.js +1 -1
  60. package/dist/sdk/extension/install-runtime.js +2 -2
  61. package/dist/sdk/extension/static-inventory.js +1 -1
  62. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +1 -1
  63. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +1 -1
  64. package/dist/sdk/governance/health-merge-evidence.d.ts +18 -0
  65. package/dist/sdk/governance/health-merge-evidence.js +2 -0
  66. package/dist/sdk/governance/health.js +1 -1
  67. package/dist/sdk/merge/install.js +2 -2
  68. package/dist/sdk/output-projection.d.ts +1 -1
  69. package/dist/sdk/output-projection.js +1 -1
  70. package/dist/sdk/public-surface.json +1 -1
  71. package/dist/sdk/read-output-budget.d.ts +1 -1
  72. package/dist/sdk/read-output-budget.js +1 -1
  73. package/dist/sdk/read-output-contracts.js +1 -1
  74. package/dist/sdk/test/execution.d.ts +11 -0
  75. package/dist/sdk/test/execution.js +2 -2
  76. package/dist/sdk/test/parsers.d.ts +1 -1
  77. package/dist/sdk/test/parsers.js +1 -1
  78. package/dist/types.d.ts +3 -3
  79. package/dist/types.js +1 -1
  80. package/docs/AGENT_READ_AND_TEST_RECEIPTS.md +21 -0
  81. package/docs/CLAUDE_CODE_PLUGIN.md +12 -7
  82. package/docs/CONFIGURATION.md +2 -0
  83. package/docs/PACKAGE_EVIDENCE.md +18 -7
  84. package/docs/README.md +1 -0
  85. package/docs/TESTING.md +14 -3
  86. package/docs/generated/REFUSAL_CLOSURE_CENSUS.md +7 -3
  87. package/marketplace.json +4 -6
  88. package/package.json +5 -5
  89. package/packages/pm-beads/package.json +1 -1
  90. package/packages/pm-calendar/package.json +1 -1
  91. package/packages/pm-command-kit/package.json +1 -1
  92. package/packages/pm-digital-twin/package.json +1 -1
  93. package/packages/pm-governance-audit/package.json +1 -1
  94. package/packages/pm-guide-shell/package.json +1 -1
  95. package/packages/pm-kanban/package.json +1 -1
  96. package/packages/pm-lifecycle-hooks/package.json +1 -1
  97. package/packages/pm-linked-test-adapters/package.json +1 -1
  98. package/packages/pm-search-advanced/package.json +1 -1
  99. package/packages/pm-templates/package.json +1 -1
  100. package/packages/pm-todos/package.json +1 -1
  101. package/packages/pm-vcs/package.json +1 -1
  102. package/plugins/pm-claude/.claude-plugin/plugin.json +4 -2
  103. package/plugins/pm-claude/.mcp.json +1 -2
  104. package/plugins/pm-claude/README.md +7 -7
  105. package/plugins/pm-claude/package.json +2 -2
  106. package/plugins/pm-claude/{commands/pm-calendar.md → skills/pm-calendar/SKILL.md} +1 -0
  107. package/plugins/pm-claude/{commands/pm-close-task.md → skills/pm-close-task/SKILL.md} +1 -0
  108. package/plugins/pm-claude/{commands/pm-init.md → skills/pm-init/SKILL.md} +2 -1
  109. package/plugins/pm-claude/{commands/pm-list.md → skills/pm-list/SKILL.md} +2 -1
  110. package/plugins/pm-claude/{commands/pm-new.md → skills/pm-new/SKILL.md} +1 -0
  111. package/plugins/pm-claude/{commands/pm-search.md → skills/pm-search/SKILL.md} +1 -0
  112. package/plugins/pm-claude/{commands/pm-start-task.md → skills/pm-start-task/SKILL.md} +1 -0
  113. package/plugins/pm-claude/{commands/pm-status.md → skills/pm-status/SKILL.md} +1 -0
  114. package/plugins/pm-claude/{commands/pm-triage.md → skills/pm-triage/SKILL.md} +1 -0
  115. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  116. package/plugins/pm-codex/package.json +2 -2
  117. package/plugins/pm-codex/plugin.json +1 -1
  118. package/dist/cli-bundle/chunks/chunk-4UPZLUT2.js +0 -29
  119. package/dist/cli-bundle/chunks/chunk-LC6WEA5U.js +0 -2
  120. package/dist/cli-bundle/focused-chunks/chunk-6J2YCGSN.js +0 -75
  121. package/dist/cli-bundle/focused-chunks/chunk-E7LYK7V5.js +0 -2
  122. package/dist/cli-bundle/focused-chunks/chunk-KMPKKSA6.js +0 -2
  123. package/plugins/pm-claude/commands/pm-audit.md +0 -38
  124. package/plugins/pm-claude/commands/pm-developer.md +0 -38
  125. package/plugins/pm-claude/commands/pm-planner.md +0 -54
  126. package/plugins/pm-claude/commands/pm-release.md +0 -41
  127. package/plugins/pm-claude/commands/pm-workflow.md +0 -49
@@ -1,8 +1,8 @@
1
- import{b as sn,g as St,i as Tt,j as Ct,l as Ri,m as Ai,n as ln,o as Di,p as Ni,q as Li}from"./chunk-LBDWUHQD.js";import{h as mn}from"./chunk-HFAW3FJQ.js";import{$ as b,$a as It,$d as Vi,A as pi,F as rn,G as on,H as gr,Ha as wi,He as pe,Ie as ie,J as hi,Jc as ue,Kc as Er,La as Ei,Lc as un,Ma as ki,Mc as fe,Nc as kr,Oa as Ii,Ob as xi,Oc as be,P as ge,Pa as Si,Pc as Ir,Sa as an,Sc as Ot,Sd as Ui,Tb as Pi,Td as we,Ua as Ti,Ud as me,V as Le,Vd as Bi,W as yi,Wd as Ze,Xa as cn,Xb as Mi,Xd as _e,Ya as Ci,Yb as ji,Yc as Me,Z as k,_ as Qe,_c as Fi,_d as Wi,aa as v,ab as br,ad as Sr,ae as V,bb as wr,cb as le,cd as $i,dd as Hi,eb as Oi,hd as zi,i as Zt,ka as de,pa as gi,q as en,qb as L,r as ui,ra as vi,rb as oe,s as fi,sa as Pe,sb as dn,t as mi,ta as vr,tb as T,u as _i,ua as te,ud as fn,va as ve,wa as X,xa as bi,xe as Tr,y as tn,ye as Cr,z as nn}from"./chunk-PDVL7QYU.js";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]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Or=new $c,qi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function _n(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function je(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=_n(n.id,128),o=_n(n.parent_id,128);if(r===void 0||!qi.test(r)||o!==void 0&&!qi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=_n(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function et(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=_n(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Hc(e,t,n){let r=Or.getStore(),o=et({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=je(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={...et(r?.provenance),...o,...et(e?.provenance)},a=je(e?.episode,!1)??je(n,!1)??i??je(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function xr(e,t){return Hc(e.session_context,t,e.client_info?.episode)??{}}function Fp(e,t){let n=Or.getStore(),r=je(e.episode,!0),o=je(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...et(n?.provenance),...et(e.provenance)};return Or.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function $p(e){let t=et(e.provenance),n=je(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ur}from"node:async_hooks";import{createHash as Vc}from"node:crypto";import q from"node:fs";import ts from"node:os";import He from"node:path";import{createHash as Gi}from"node:crypto";import{existsSync as Rr,promises as Ki,readFileSync as zc}from"node:fs";import se from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8192f2f3-b5a0-510e-a7d4-963041cce389")}catch{}})();var Uc="session.json";function Ar(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Xi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Ar(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ar(c,128)),a=t.focused_item_id===void 0||Ar(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Bc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Xi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Dr(e){return se.join(Oi(e),Uc)}async function Yi(e){try{let t=await Ki.readFile(Dr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Bc(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Nr(e,t){let n=await V(e,"session-state",k.locks.ttl_seconds,"session-state",!1,!0,k.locks.wait_ms);try{let r=await Yi(e);t(r);let o=Dr(e);await Ki.mkdir(se.dirname(o),{recursive:!0}),await X(o,JSON.stringify(r))}finally{await n()}}function Lr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Gi("sha256").update(e).digest("hex").slice(0,24)}`}function Pr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Gi("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function jr(e,t,n){await Nr(e,r=>{let o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i,Object.keys(o).length===0?delete r.semantic_attribution:r.semantic_attribution=o})}async function Kp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function Xp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Mr(r),confidence:o?"high":"medium",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Yp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Wc(e,t){let n=t.PM_PATH?.trim();if(n){let o=se.resolve(e,n);if(Rr(se.join(o,"settings.json")))return o;let i=se.join(o,".agents","pm");if(Rr(se.join(i,"settings.json")))return i}let r=se.resolve(e);for(let o=0;o<32;o+=1){let i=se.join(r,".agents","pm");if(Rr(se.join(i,"settings.json")))return i;let s=se.dirname(r);if(s===r)break;r=s}}function Ji(e){if(!e.key)return;let t=Wc(e.cwd,e.env);if(t)try{let n=JSON.parse(zc(Dr(t),"utf8"));return Xi(n.semantic_attribution?.[e.key])}catch{return}}async function Jp(e){return(await Yi(e)).focused_item}async function Qp(e,t){await Nr(e,n=>{n.focused_item=t})}async function Zp(e){await Nr(e,t=>{delete t.focused_item})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Br=["model","effort","role","topic","version"],yn=new Ur,ns=new Ur,gn=new Ur,Wr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],rs=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),qc=Object.freeze({...rs,max_bytes:4194304}),Fr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Gc(e){let t=ke(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?qc:rs,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 os=Object.freeze(Wr.filter(e=>e.harness!=="ci").map(Gc).sort((e,t)=>e.harness.localeCompare(t.harness))),$e=new Map,tt=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Ee(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function ke(e){let t=e.harness.trim().toLowerCase();if(!Fr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Ee(e.environment_keys),model_environment_keys:Ee(e.model_environment_keys),session_environment_keys:Ee(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Ee(r)]).filter(([n])=>Fr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Fr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Ee(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Ee(e.argv_markers).map(n=>n.toLowerCase()),client_names:Ee(e.client_names).map(n=>n.toLowerCase())}}var is=Wr.map(ke);function Kc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function hn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Vr(e=[]){let t=new Map(Wr.filter(o=>o.harness!=="ci").map(o=>[o.harness,ke(o)]));for(let{adapter:o}of $e.values())t.set(o.harness,ke(o.descriptor));let n=[...t.values(),...is.filter(o=>o.harness==="ci"),...[...tt.values()].map(o=>o.descriptor),...gn.getStore()?.descriptors??[],...e.map(ke)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function qr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Xc(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 ss(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var Yc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Fe(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Yc.has(n)?n:void 0}function $r(e,t){return P(e?.[t])?.slice(0,256)}var Jc=1048576,zr=4194304,pn=new Map,Qi=Object.freeze({}),Hr=new Map,Zi=Object.freeze({});function es(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Qc(e){let t;try{t=JSON.parse(e)}catch{return Zi}let n=es(t);if(!n)return Zi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=es(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function as(e){try{return q.lstatSync(e).isFile()?"available":"missing"}catch(t){return vr(t)?"missing":"failed"}}function Zc(e,t){let n;try{n=q.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=He.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:as(i)}})}catch(o){return{status:vr(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function cs(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=He.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=He.join(e.home_dir??ts.homedir(),".claude","projects"),s=He.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&He.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let l=as(d);if(l==="available")return{status:l,path:d};if(l==="failed")return{status:l}}return Zc(i,n)}function ed(e,t,n){let r=cs(t,n);if(r.status==="available")try{let o=q.openSync(r.path,q.constants.O_RDONLY|q.constants.O_NOFOLLOW);try{let i=q.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Hr.get(s);if(a)return a[e];let c=Math.min(i.size,Jc),d=Math.min(c,Math.ceil(c/2)),l=Math.min(c-d,i.size-d),f=Buffer.alloc(d);q.readSync(o,f,0,d,0);let m=Buffer.alloc(l);l>0&&q.readSync(o,m,0,l,i.size-l);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
1
+ import{b as sn,g as St,i as Tt,j as Ct,l as Ri,m as Ai,n as ln,o as Di,p as Ni,q as Li}from"./chunk-Y5Z3XNGY.js";import{h as mn}from"./chunk-HFAW3FJQ.js";import{$ as b,$a as It,$d as Vi,A as pi,F as rn,G as on,H as gr,Ha as wi,He as pe,Ie as ie,J as hi,Jc as ue,Kc as Er,La as Ei,Lc as un,Ma as ki,Mc as fe,Nc as kr,Oa as Ii,Ob as xi,Oc as be,P as ge,Pa as Si,Pc as Ir,Sa as an,Sc as Ot,Sd as Ui,Tb as Pi,Td as we,Ua as Ti,Ud as me,V as Le,Vd as Bi,W as yi,Wd as Ze,Xa as cn,Xb as Mi,Xd as _e,Ya as Ci,Yb as ji,Yc as Me,Z as k,_ as Qe,_c as Fi,_d as Wi,aa as v,ab as br,ad as Sr,ae as V,bb as wr,cb as le,cd as $i,dd as Hi,eb as Oi,hd as zi,i as Zt,ka as de,pa as gi,q as en,qb as L,r as ui,ra as vi,rb as oe,s as fi,sa as Pe,sb as dn,t as mi,ta as vr,tb as T,u as _i,ua as te,ud as fn,va as ve,wa as X,xa as bi,xe as Tr,y as tn,ye as Cr,z as nn}from"./chunk-BRLXKRI2.js";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]="27a9b88e-ee47-55c8-b511-07ce9754346c")}catch{}})();var Or=new $c,qi=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function _n(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function je(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=_n(n.id,128),o=_n(n.parent_id,128);if(r===void 0||!qi.test(r)||o!==void 0&&!qi.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=_n(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function et(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=_n(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Hc(e,t,n){let r=Or.getStore(),o=et({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=je(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={...et(r?.provenance),...o,...et(e?.provenance)},a=je(e?.episode,!1)??je(n,!1)??i??je(r?.episode,!1);return Object.keys(s).length===0&&a===void 0?void 0:{...Object.keys(s).length===0?{}:{provenance:s},...a===void 0?{}:{episode:a}}}function xr(e,t){return Hc(e.session_context,t,e.client_info?.episode)??{}}function Fp(e,t){let n=Or.getStore(),r=je(e.episode,!0),o=je(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...et(n?.provenance),...et(e.provenance)};return Or.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function $p(e){let t=et(e.provenance),n=je(e.episode,!0);return{...n===void 0?{}:{PM_AGENT_EPISODE_ID:n.id,...n.label===void 0?{}:{PM_AGENT_EPISODE_LABEL:n.label},...n.parent_id===void 0?{}:{PM_AGENT_EPISODE_PARENT_ID:n.parent_id}},...t.role===void 0?{}:{PM_AGENT_SESSION_ROLE:t.role},...t.topic===void 0?{}:{PM_AGENT_SESSION_TOPIC:t.topic}}}import{AsyncLocalStorage as Ur}from"node:async_hooks";import{createHash as Vc}from"node:crypto";import q from"node:fs";import ts from"node:os";import He from"node:path";import{createHash as Gi}from"node:crypto";import{existsSync as Rr,promises as Ki,readFileSync as zc}from"node:fs";import se from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8192f2f3-b5a0-510e-a7d4-963041cce389")}catch{}})();var Uc="session.json";function Ar(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Xi(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=e,n=["implementer","planner","release-operator"].includes(String(t.role)),r=["high","medium"].includes(String(t.confidence)),o=Ar(t.topic,256),i=Array.isArray(t.evidence)&&t.evidence.length<=32&&t.evidence.every(c=>typeof c=="string"&&c.length<=128),s=Array.isArray(t.active_item_ids)&&t.active_item_ids.length<=64&&t.active_item_ids.every(c=>Ar(c,128)),a=t.focused_item_id===void 0||Ar(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Bc(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Xi(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Dr(e){return se.join(Oi(e),Uc)}async function Yi(e){try{let t=await Ki.readFile(Dr(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Bc(r.semantic_attribution);return typeof o=="string"&&o.trim().length>0?{focused_item:o,...i?{semantic_attribution:i}:{}}:i?{semantic_attribution:i}:{}}catch{return{}}}async function Nr(e,t){let n=await V(e,"session-state",k.locks.ttl_seconds,"session-state",!1,!0,k.locks.wait_ms);try{let r=await Yi(e);t(r);let o=Dr(e);await Ki.mkdir(se.dirname(o),{recursive:!0}),await X(o,JSON.stringify(r))}finally{await n()}}function Lr(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${Gi("sha256").update(e).digest("hex").slice(0,24)}`}function Pr(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mr(e){let t=[...new Set(e)].sort((o,i)=>o.localeCompare(i));if(t.length===1)return t[0];let n=`workset:${t.join("+")}`;return n.length<=256?n:`workset:${t.join("+").slice(0,230)}+${Gi("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function jr(e,t,n){await Nr(e,r=>{let o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i,Object.keys(o).length===0?delete r.semantic_attribution:r.semantic_attribution=o})}async function Kp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=[...new Set([...n?.active_item_ids??[],e.itemId])].slice(-64).sort((i,s)=>i.localeCompare(s)),o=n?.focused_item_id;return{role:"implementer",topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}async function Xp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{if(!n)return;let r=n.active_item_ids.filter(i=>i!==e.itemId);if(r.length===0&&!n.focused_item_id)return;let o=n.focused_item_id;return{...n,role:"release-operator",topic:o??Mr(r),confidence:o?"high":"medium",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function Yp(e){let t=Lr(e.principal);await jr(e.pmRoot,t,n=>{let r=n?.active_item_ids??[];if(!e.itemId&&r.length===0)return;let o=e.itemId;return{role:o?"planner":n.role,topic:o??Mr(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Pr([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Wc(e,t){let n=t.PM_PATH?.trim();if(n){let o=se.resolve(e,n);if(Rr(se.join(o,"settings.json")))return o;let i=se.join(o,".agents","pm");if(Rr(se.join(i,"settings.json")))return i}let r=se.resolve(e);for(let o=0;o<32;o+=1){let i=se.join(r,".agents","pm");if(Rr(se.join(i,"settings.json")))return i;let s=se.dirname(r);if(s===r)break;r=s}}function Ji(e){if(!e.key)return;let t=Wc(e.cwd,e.env);if(t)try{let n=JSON.parse(zc(Dr(t),"utf8"));return Xi(n.semantic_attribution?.[e.key])}catch{return}}async function Jp(e){return(await Yi(e)).focused_item}async function Qp(e,t){await Nr(e,n=>{n.focused_item=t})}async function Zp(e){await Nr(e,t=>{delete t.focused_item})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="c39d3d14-b0b5-5309-b89a-9da08e1a939a")}catch{}})();var Br=["model","effort","role","topic","version"],yn=new Ur,ns=new Ur,gn=new Ur,Wr=[{harness:"claude-code",environment_keys:["CLAUDE_CODE","CLAUDECODE"],model_environment_keys:["ANTHROPIC_MODEL","CLAUDE_MODEL"],session_environment_keys:["CLAUDE_CODE_SESSION_ID"],provenance_environment_keys:{effort:["CLAUDE_EFFORT"]},provenance_resolvers:{model:"claude_session_file",version:"claude_session_file"},provenance_unavailable_dimensions:["role","topic"],argv_markers:["claude","claude-code"],client_names:["claude","claude-code","claude code"]},{harness:"codex",environment_keys:["CODEX_HOME","CODEX_CI","CODEX_THREAD_ID"],model_environment_keys:["CODEX_MODEL"],session_environment_keys:["CODEX_THREAD_ID"],provenance_environment_keys:{effort:["CODEX_REASONING_EFFORT","CODEX_EFFORT"],role:["CODEX_SESSION_ROLE"]},provenance_resolvers:{model:"codex_session_file",effort:"codex_session_file",version:"ai_agent_version"},provenance_unavailable_dimensions:["topic"],argv_markers:["codex"],client_names:["codex"]},{harness:"pi",environment_keys:["PI_AGENT","PI_CODING_AGENT"],model_environment_keys:["PI_MODEL"],session_environment_keys:["PI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["pi"],client_names:["pi"]},{harness:"opencode",environment_keys:["OPENCODE","OPENCODE_SESSION_ID"],model_environment_keys:["OPENCODE_MODEL"],session_environment_keys:["OPENCODE_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["opencode"],client_names:["opencode"]},{harness:"cursor",environment_keys:["CURSOR_AGENT","CURSOR_TRACE_ID"],model_environment_keys:["CURSOR_MODEL"],session_environment_keys:["CURSOR_TRACE_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["cursor"],client_names:["cursor"]},{harness:"aider",environment_keys:["AIDER","AIDER_MODEL"],model_environment_keys:["AIDER_MODEL"],session_environment_keys:["AIDER_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["aider"],client_names:["aider"]},{harness:"gemini-cli",environment_keys:["GEMINI_CLI","GEMINI_CLI_HOME"],model_environment_keys:["GEMINI_MODEL"],session_environment_keys:["GEMINI_CLI_SESSION_ID"],provenance_unavailable_dimensions:["effort","role","topic"],argv_markers:["gemini","gemini-cli"],client_names:["gemini","gemini-cli","gemini cli"]},{harness:"ci",environment_keys:["CI","GITHUB_ACTIONS","BUILDKITE","GITLAB_CI"],provenance_unavailable_dimensions:["model","effort","role","topic"],argv_markers:[],client_names:[]}],rs=Object.freeze({max_bytes:1048576,max_lines:4096,network_access:!1,subprocess_access:!1}),qc=Object.freeze({...rs,max_bytes:4194304}),Fr=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function Gc(e){let t=ke(e).provenance_unavailable_dimensions,n=new Set(["model","version",...Object.keys(e.provenance_environment_keys??{}),...Object.keys(e.provenance_resolvers??{})]);return Object.freeze({contract_version:1,adapter_version:"v1",priority:0,harness:e.harness,descriptor:e,supported_dimensions:Object.freeze([...n].sort()),native_sources:Object.freeze(["environment","argv","mcp_client",...Object.values(e.provenance_resolvers??{}).some(r=>r?.endsWith("session_file"))?["session_file"]:[]]),probe_policy:e.harness==="codex"?qc:rs,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 os=Object.freeze(Wr.filter(e=>e.harness!=="ci").map(Gc).sort((e,t)=>e.harness.localeCompare(t.harness))),$e=new Map,tt=new Map;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function Ee(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function ke(e){let t=e.harness.trim().toLowerCase();if(!Fr.test(t))throw new Error(`Invalid harness signal descriptor namespace: ${e.harness}`);return{harness:t,environment_keys:Ee(e.environment_keys),model_environment_keys:Ee(e.model_environment_keys),session_environment_keys:Ee(e.session_environment_keys),provenance_environment_keys:Object.fromEntries(Object.entries(e.provenance_environment_keys??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),Ee(r)]).filter(([n])=>Fr.test(n))),provenance_resolvers:Object.fromEntries(Object.entries(e.provenance_resolvers??{}).slice(0,32).map(([n,r])=>[n.trim().toLowerCase().slice(0,64),r]).filter(n=>typeof n[0]=="string"&&Fr.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_session_file"||n[1]==="codex_session_file"))),provenance_unavailable_dimensions:Ee(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:Ee(e.argv_markers).map(n=>n.toLowerCase()),client_names:Ee(e.client_names).map(n=>n.toLowerCase())}}var is=Wr.map(ke);function Kc(e,t){return JSON.stringify(e)===JSON.stringify(t)}function hn(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function Vr(e=[]){let t=new Map(Wr.filter(o=>o.harness!=="ci").map(o=>[o.harness,ke(o)]));for(let{adapter:o}of $e.values())t.set(o.harness,ke(o.descriptor));let n=[...t.values(),...is.filter(o=>o.harness==="ci"),...[...tt.values()].map(o=>o.descriptor),...gn.getStore()?.descriptors??[],...e.map(ke)],r=new Set;for(let o of n){if(r.has(o.harness))throw new Error(`Harness signal descriptor collision for "${o.harness}"`);r.add(o.harness)}return n}function qr(e,t){for(let n of t??[]){let r=P(e[n]);if(r)return r.slice(0,256)}}function Xc(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 ss(e,t){let n=t==="model"?["--model","--agent-model"]:[`--agent-${t}`],r=e.slice(0,8);for(let o=0;o<r.length;o+=1){let i=r[o].slice(0,512);if(n.includes(i))return P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var Yc=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Fe(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Yc.has(n)?n:void 0}function $r(e,t){return P(e?.[t])?.slice(0,256)}var Jc=1048576,zr=4194304,pn=new Map,Qi=Object.freeze({}),Hr=new Map,Zi=Object.freeze({});function es(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:void 0}function Qc(e){let t;try{t=JSON.parse(e)}catch{return Zi}let n=es(t);if(!n)return Zi;let r=[{value:n,depth:0}],o=0,i,s;for(;r.length>0&&o<64;){let a=r.shift();if(o+=1,i??=P(a.value.model)?.slice(0,256),s??=P(a.value.version)?.slice(0,256),i&&s)break;if(!(a.depth>=4))for(let c of Object.values(a.value)){let d=es(c);d&&r.push({value:d,depth:a.depth+1})}}return Object.freeze({model:i,version:s})}function as(e){try{return q.lstatSync(e).isFile()?"available":"missing"}catch(t){return vr(t)?"missing":"failed"}}function Zc(e,t){let n;try{n=q.readdirSync(e,{withFileTypes:!0}).filter(o=>o.isDirectory()).sort((o,i)=>o.name.localeCompare(i.name)).slice(0,512).map(o=>{let i=He.join(e,o.name,`${t}.jsonl`);return{candidate:i,status:as(i)}})}catch(o){return{status:vr(o)?"missing":"failed"}}let r=n.filter(({status:o})=>o==="available").map(({candidate:o})=>o);return r.length===0?{status:n.some(({status:o})=>o==="failed")?"failed":"missing"}:r.length>1?{status:"ambiguous"}:{status:"available",path:r[0]}}function cs(e,t){let n=P(t.CLAUDE_CODE_SESSION_ID);if(!n||!/^[A-Za-z0-9_-]{1,128}$/u.test(n))return{status:"unavailable"};let o=He.resolve(e.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),i=He.join(e.home_dir??ts.homedir(),".claude","projects"),s=He.join(i,o,`${n}.jsonl`),a=P(e.session_file),c=a&&He.basename(a)===`${n}.jsonl`?a:void 0;for(let d of[c,s]){if(!d)continue;let l=as(d);if(l==="available")return{status:l,path:d};if(l==="failed")return{status:l}}return Zc(i,n)}function ed(e,t,n){let r=cs(t,n);if(r.status==="available")try{let o=q.openSync(r.path,q.constants.O_RDONLY|q.constants.O_NOFOLLOW);try{let i=q.fstatSync(o),s=`${r.path}\0${i.size}\0${i.mtimeMs}`,a=Hr.get(s);if(a)return a[e];let c=Math.min(i.size,Jc),d=Math.min(c,Math.ceil(c/2)),l=Math.min(c-d,i.size-d),f=Buffer.alloc(d);q.readSync(o,f,0,d,0);let m=Buffer.alloc(l);l>0&&q.readSync(o,m,0,l,i.size-l);let p={},_=i.size<=c?Buffer.concat([f,m]).toString("utf8").split(`
2
2
  `):[...f.toString("utf8").split(`
3
3
  `).slice(0,4096),...m.toString("utf8").split(`
4
4
  `).slice(-4096)];for(let g of _){if(g.length===0||g.length>262144)continue;let S=Qc(g);if(p.model??=S.model,p.version??=S.version,p.model&&p.version)break}let y=Object.freeze(p);return Hr.clear(),Hr.set(s,y),y[e]}finally{q.closeSync(o)}}catch{return}}function td(e,t){let n=0,r=(o,i)=>{if(i>4||n>=512)return;let s;try{s=q.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=He.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 nd(e){if(e<=zr)return[{offset:0,length:e}];let t=Math.floor(zr/2);return[{offset:e-t,length:t},{offset:0,length:t}]}function rd(e,t){if(t.length===0||t.length>262144)return;let n;try{n=JSON.parse(t)}catch{return}if(typeof n!="object"||n===null||Array.isArray(n))return;let r=n;if(r.type!=="turn_context")return;let o=typeof r.payload=="object"&&r.payload!==null?r.payload:void 0;e.model??=P(o?.model)?.slice(0,256),e.effort??=P(o?.effort)?.slice(0,256)}function od(e,t){let n={},r=4096;for(let o of nd(t)){let i=Buffer.alloc(o.length);q.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(rd(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function id(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=He.join(t.home_dir??ts.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=pn.get(i);if(s)return s[e];let a=td(o,r);if(!a){pn.set(i,Qi);return}try{let c=q.openSync(a,"r");try{let d=q.fstatSync(c).size,l=od(c,d);return pn.set(i,l),l[e]}finally{q.closeSync(c)}}catch{pn.set(i,Qi);return}}function sd(e,t,n,r){let o=gn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return ed(e,t,n);if(s==="codex_session_file")return id(e,t,n);if(s==="ai_agent_version"){let a=P(n.AI_AGENT);return!a||!r||!hn(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function ad(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&hn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":cs(n,r).status}function Gr(e){return e||(ns.getStore()??{env:process.env,argv:process.argv})}function cd(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return hn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||hn(r,a));return o||i||s}function dd(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 ld(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ud(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Br,...Object.keys(r?.provenance_environment_keys??{})]),c,d,l;a.has(e)&&(c=Fe(e,P(n[s])?.slice(0,256)),l=Fe(e,ss(t.argv??[],e)),d=Fe(e,Xc(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=$r(o?.provenance,e),_=Fe(e,qr(n,f[e])),y=Fe(e,$r(m,e)),g=Fe(e,$r(t.provenance,e)),S=sd(e,t,n,r);return ld([[c,"override"],[p,"session"],[l,"argv"],[_,"environment"],[y,"mcp_client"],[g,"host"],[S,"probe"]])??dd(e,i)??(d?{value:d,source:"argv"}:void 0)}function fd(e,t){if(!(!e||!t))return Vc("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function md(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Br,...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=ud(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 dh(e){let t=e.map(ke),n=new Map(is.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=tt.get(i.harness);if(s&&!Kc(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=tt.get(i.harness);tt.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=tt.get(i.harness);!s||s.registrations<=1?tt.delete(i.harness):s.registrations-=1}}}}function _d(e){let t=ke(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=P(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>zr||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(Ee(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 lh(){let e=new Map(os.map(t=>[t.harness,t]));for(let{adapter:t}of $e.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function uh(e){let t=e.map(_d),n=new Map(os.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=$e.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=$e.get(i.harness);$e.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=$e.get(i.harness);!s||s.registrations<=1?$e.delete(i.harness):s.registrations-=1}}}}function fh(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 mh(e,t){return ns.run(e,t)}function _h(e,t,n={}){let r=e.map(ke);return Vr(r),gn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Kr(e){let t=Gr(e),n=t.env??{},r=Vr(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(_=>cd(_,n,o,i)),a=xr(t,n),c=[qr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=fd(s?.harness,c),l=Ji({cwd:t.cwd??process.cwd(),env:n,key:d}),f=md(t,n,s,a,l),m=f.model,p=[["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(p.filter(_=>_[1]!==void 0))}function pd(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function hd(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=ad(a,n,r,o);return{...pd(c),resolver:a,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 ds(e){let t=Gr(e),n=Kr(t),r=Vr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&gn.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=xr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,qr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ss(t.argv??[],"role")].some(d=>{let l=P(d)?.slice(0,256);return l!==void 0&&Fe("role",l)===void 0}),c=Object.fromEntries(Br.map(d=>[d,hd(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function ph(){return process.env.PM_AUTHOR}function hh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function yh(e){return Kr(e).harness}function yd(e,t,n){let r=Gr(n),o=Kr(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ls(e){let t=yn.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function us(e){let t=yn.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 fs(e){let t=yn.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function ms(e,t){let n=yd(e,t);return yn.enterWith(n),n.author}import{createHash as gd}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]="1e3cba21-c5a4-541a-9841-484cfbb70f4e")}catch{}})();var bh=["sha256","sha512"],vd="sha256",_s="sha256";function ze(e){if(e===void 0)return vd;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function Ie(e,t){return gd(ze(t)).update(e,"utf8").digest("hex")}(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]="8ee74259-29b1-5795-9253-9fa0869e4585")}catch{}})();var nt=1,ps=1;function Eh(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=nt?t:nt}function hs(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=nt))return e}function bd(e,t=ps){return e<t?"outdated":e>t?"ahead":"current"}function kh(e,t=ps){let n=[],r=[];for(let o of e){let i=bd(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]="6bb283b8-5c81-562a-926e-e48b83e6ebc8")}catch{}})();var wd={"in-progress":"in_progress",cancelled:"canceled"};function vn(e,t){if(t){let o=Di(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=wd[n]??n;if(en.includes(r))return r}function rt(e,t){return vn(e,t)??e}function he(e,t){return t.terminal_statuses.has(rt(e,t))}import{encode as Nd}from"@toon-format/toon";import{isDeepStrictEqual as ws}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]="42eb2987-269d-5b18-b0fe-5b4334fdb6a0")}catch{}})();var Ed=16;function Xr(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 kd(e){return[...new Set([Li(e),Xr(e.key),Xr(e.cli_flag),...e.cli_aliases.map(t=>Xr(t))])]}function vs(e,t){for(let n of kd(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function bs(e){return Array.isArray(e)?e.flatMap(t=>bs(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 ys(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 v(`${t} must be one of true|false|1|0|yes|no`,b.USAGE)}function gs(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 v(`${t} must be a number`,b.USAGE);return r}function Id(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 v(`${t} must be valid JSON ${n}`,b.USAGE)}function Sd(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 Td(e,t,n){if(t.const!==void 0&&L(e)!==L(t.const))return`${n} must equal ${L(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>L(r)===L(e)))return`${n} must be one of ${t.enum.map(r=>L(r)).join("|")}`;if(!Sd(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"&&!Bi(e))return`${n} must be an RFC 3339 date-time`}}function Cd(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=bn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Od(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=bn(s,a,`${n}.${i}`,r+1);if(c)return c}}function bn(e,t,n,r=0){if(r>Ed)return`${n} value schema exceeds maximum depth`;let o=Td(e,t,n);if(o)return o;let i=Cd(e,t,n,r);if(i)return i;let s=Od(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(bn(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 Ue(e,t,n){if(!e.value_schema||t===void 0)return t;let r=bn(t,e.value_schema,n);if(r)throw new v(r,b.USAGE);return t}function xt(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:Ue(e,Id(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=bs(t);return e.type==="number"?Ue(e,i.map(s=>gs(s,r)),r):e.type==="boolean"?Ue(e,i.map(s=>ys(s,r)),r):Ue(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Ue(e,gs(o,r),r):e.type==="boolean"?Ue(e,ys(o,r),r):Ue(e,typeof o=="string"?o:String(o),r)}function xd(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 Nh(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=vs(e,i);if(s===void 0){xd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=xt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Lh(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=vs(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=xt(s,a)))}return r}import{decode as Rd}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]="e48e0cc7-7577-5702-ac17-a4529697444e")}catch{}})();function Yr(e){return{value:Rd(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]="45fa31ba-dea9-56db-b971-84c11e8a1c88")}catch{}})();var Ad=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Dd(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(Ad);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function wn(e){return Dd(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]="48df511d-df81-56f7-bb1d-f10230b43cfa")}catch{}})();var eo=new Set(["schema","tracker","auto"]),Is=new Set(["source","isolated","snapshot"]),Ld=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Pd=new Set(["passed","failed","stopped","canceled"]),Md=new Set(hi);function st(e){return e.replaceAll("\\","/")}function Ss(e){for(let t of e)if(t!==0)return t;return 0}function kn(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Ts=["id","title","description","created_at","updated_at"],jd=new Set(ge);function Cs(e){if(e?.schema)return{statusRegistry:ln(e.schema),fieldRegistry:Ni(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Fd(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Se(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new v(`Invalid item metadata: ${e}`,b.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 Dt(e,t){throw new v(t,b.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 Os(e){let t=new Set(jd);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||Se(t)}function Nt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Se(t),e}function Jr(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(me(n),`${t} must be a valid ISO timestamp`)}function Es(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function to(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(me(r),`${n} must be a valid ISO timestamp`))}function $d(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(on.includes(n),`event.recurrence.by_weekday entries must be one of: ${on.join(", ")}`)}}}function Hd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function zd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(me(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Ud(e){let t=Nt(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(rn.includes(n),`event.recurrence.freq must be one of: ${rn.join(", ")}`),Es(t,"interval","event.recurrence.interval"),Es(t,"count","event.recurrence.count"),to(t,"until","event.recurrence.until"),$d(t.by_weekday),Hd(t.by_month_day),zd(t.exdates)}function Bd(e){for(let r of Ts)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=nt,`pm_format_version must be an integer >= ${nt}`),t}function Wd(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=vn(n,r),i=r?r.definitions.map(s=>s.id):[...en];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Vd(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function qd(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(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"||nn.includes(n);I(r,`confidence string value must be one of: ${[...nn,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function Gd(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Se("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||tn.includes(n);I(r,`severity value must be one of: ${[...tn,"med"].join(", ")}`)}function Kd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Se("regression must be a boolean")}function Xd(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Nt(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(me(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function Yd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function Jd(e){e.recurrence!==void 0&&(Ud(e.recurrence),e.recurrence.until!==void 0&&I(_e(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function Qd(e){let t=Nt(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(me(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(me(t.end_at),"event.end_at must be a valid ISO timestamp"),I(_e(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),Yd(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),Jd(t)}function Zd(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)Qd(n)}}function el(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function tl(e){let t=e.type_options;if(t===void 0)return;let n=Nt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function nl(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Fd(r,t)&&Se(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`)}catch(i){Se(String(i?.message).replace(/^Invalid\s+/u,""))}}}function rl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Os(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Se(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function no(e,t){let n=Nt(e,"item metadata must be an object"),r=Bd(n);Wd(n,t),Vd(n),qd(n),Gd(n),Kd(n),Jr(n,"created_at"),Jr(n,"updated_at"),n.deadline!==void 0&&Jr(n,"deadline"),Xd(n),Zd(n),to(n,"closed_at","closed_at"),to(n,"completed_at","completed_at"),el(n),tl(n),nl(n,r,t),rl(n,t)}function ol(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=_e(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 Qr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=_e(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 il(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=_e(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function sl(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!rn.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>on.includes(s)))).sort((s,a)=>gr(s)-gr(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=>me(s)))).sort((s,a)=>_e(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 al(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(cl).sort(dl)}function cl(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:sl(e.recurrence)};return kn(t),t}function dl(e,t){return Ss([_e(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 ll(e){if(!(!e||e.length===0))return e.map(t=>({path:st(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function ul(e){if(!e||e.length===0)return;let t=e.map(pl).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)=>Ss([_e(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 ot(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function fl(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Zr(e){return typeof e=="string"?e:""}function ml(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 _l(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,eo),pm_context_mode:En(n.pm_context_mode,eo),workspace_context_mode:En(n.workspace_context_mode,Is),trust_reason:En(n.trust_reason,Ld)}));return t.length>0?t:void 0}function pl(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Pd.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Zr(e.started_at),finished_at:Zr(e.finished_at),recorded_at:Zr(e.recorded_at),attempt:fl(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:ot(e.passed)??0,failed:ot(e.failed)??0,skipped:ot(e.skipped)??0,items:ot(e.items),linked_tests:ot(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:ml(e.measurements),executions:_l(e.executions)};return kn(o),o}function hl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(wl)}function Rt(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 oo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function io(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ks(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!io(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function yl(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!io(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function gl(e){let t=e?.trim().toLowerCase();if(!(!t||!eo.has(t)))return t}function vl(e){let t=e?.trim().toLowerCase();if(!(!t||!Is.has(t)))return t}function bl(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!oo(e))return{provenance_invalid:!0};let n=E(e.author),r=E(e.created_at),o=e.source_kind;return!n||!r||!me(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:E(e.source_ref)}}}function wl(e){let t={command:e.command?.trim()||void 0,path:e.path?st(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:gl(e.pm_context_mode),workspace_context_mode:vl(e.workspace_context_mode),...bl(e.provenance,e.provenance_invalid),env_set:ks(e.env_set),env_clear:Rt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Rt(e.assert_stdout_contains),assert_stdout_regex:Rt(e.assert_stdout_regex),assert_stderr_contains:Rt(e.assert_stderr_contains),assert_stderr_regex:Rt(e.assert_stderr_regex),assert_stdout_min_lines:ot(e.assert_stdout_min_lines),assert_json_field_equals:ks(e.assert_json_field_equals),assert_json_field_gte:yl(e.assert_json_field_gte),note:e.note?.trim()||void 0};return kn(t),t}function El(e){if(!(!e||e.length===0))return[...e].map(t=>({path:st(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 E(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function kl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.id),i=E(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=E(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 Il(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:st(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Sl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.command),i=E(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=st(i));let a=E(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Tl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:st(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Cl(e){if(e===null||typeof e!="object")return;let t=e,n=E(t.id),r=E(t.title),o=E(t.status),i=o&&Md.has(o)?o:void 0,s=wi(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 Ol(d,t),d}function Ol(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=E(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",kl],["files","files",Il],["tests","tests",Sl],["docs","docs",Tl]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function xl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Cl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Rl(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=E(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=E(r.rationale);c&&(a.rationale=c);let d=E(r.evidence);d&&(a.evidence=d);let l=E(r.step_id);l&&(a.step_id=l),t.push(a)}return t.length>0?t:void 0}function Al(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=E(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=E(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Dl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.text);if(!o)continue;let i={text:o},s=E(r.command);s&&(i.command=s);let a=E(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Nl(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 it(e){let t=0;for(;t<e.length&&e[t]===`
5
+ `).reverse().slice(0,r);r-=s.length;for(let a of s)if(rd(n,a),n.model&&n.effort)break;if(n.model&&n.effort||r<=0)break}return n}function id(e,t,n){let r=P(n.CODEX_THREAD_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let o=He.join(t.home_dir??ts.homedir(),".codex","sessions"),i=`${o}\0${r}`,s=pn.get(i);if(s)return s[e];let a=td(o,r);if(!a){pn.set(i,Qi);return}try{let c=q.openSync(a,"r");try{let d=q.fstatSync(c).size,l=od(c,d);return pn.set(i,l),l[e]}finally{q.closeSync(c)}}catch{pn.set(i,Qi);return}}function sd(e,t,n,r){let o=gn.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return ed(e,t,n);if(s==="codex_session_file")return id(e,t,n);if(s==="ai_agent_version"){let a=P(n.AI_AGENT);return!a||!r||!hn(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function ad(e,t,n,r){if(e==="ai_agent_version"){let o=P(r.AI_AGENT);return o!==void 0&&hn(o,t.harness)?"available":"unavailable"}return e==="codex_session_file"?P(r.CODEX_THREAD_ID)!==void 0?"available":"unavailable":cs(n,r).status}function Gr(e){return e||(ns.getStore()??{env:process.env,argv:process.argv})}function cd(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let d=c.replaceAll("\\","/");return hn(d.slice(d.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||hn(r,a));return o||i||s}function dd(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 ld(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ud(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...Br,...Object.keys(r?.provenance_environment_keys??{})]),c,d,l;a.has(e)&&(c=Fe(e,P(n[s])?.slice(0,256)),l=Fe(e,ss(t.argv??[],e)),d=Fe(e,Xc(t.argv??[],e)));let f={...r?.provenance_environment_keys,model:r?.model_environment_keys},m={...t.client_info?.provenance,model:t.client_info?.model},p=$r(o?.provenance,e),_=Fe(e,qr(n,f[e])),y=Fe(e,$r(m,e)),g=Fe(e,$r(t.provenance,e)),S=sd(e,t,n,r);return ld([[c,"override"],[p,"session"],[l,"argv"],[_,"environment"],[y,"mcp_client"],[g,"host"],[S,"probe"]])??dd(e,i)??(d?{value:d,source:"argv"}:void 0)}function fd(e,t){if(!(!e||!t))return Vc("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function md(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...Br,...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=ud(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 dh(e){let t=e.map(ke),n=new Map(is.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=tt.get(i.harness);if(s&&!Kc(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=tt.get(i.harness);tt.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=tt.get(i.harness);!s||s.registrations<=1?tt.delete(i.harness):s.registrations-=1}}}}function _d(e){let t=ke(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=P(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>zr||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(Ee(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 lh(){let e=new Map(os.map(t=>[t.harness,t]));for(let{adapter:t}of $e.values())e.set(t.harness,t);return Object.freeze([...e.values()].sort((t,n)=>t.harness.localeCompare(n.harness)))}function uh(e){let t=e.map(_d),n=new Map(os.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=$e.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=$e.get(i.harness);$e.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=$e.get(i.harness);!s||s.registrations<=1?$e.delete(i.harness):s.registrations-=1}}}}function fh(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 mh(e,t){return ns.run(e,t)}function _h(e,t,n={}){let r=e.map(ke);return Vr(r),gn.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Kr(e){let t=Gr(e),n=t.env??{},r=Vr(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(_=>cd(_,n,o,i)),a=xr(t,n),c=[qr(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(_=>_!==void 0),d=fd(s?.harness,c),l=Ji({cwd:t.cwd??process.cwd(),env:n,key:d}),f=md(t,n,s,a,l),m=f.model,p=[["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(p.filter(_=>_[1]!==void 0))}function pd(e){return e==="unavailable"?{status:"unavailable",reason:"harness_unavailable"}:e==="missing"?{status:"unavailable",reason:"resolver_input_missing"}:{status:"failed",reason:"resolver_failed"}}function hd(e,t,n,r,o,i,s){let a=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...a?{resolver:a}:{},rule_version:"v1"};if(s)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(a){if(!i)return{status:"unavailable",reason:"probes_disabled",resolver:a,rule_version:"v1"};let c=ad(a,n,r,o);return{...pd(c),resolver:a,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 ds(e){let t=Gr(e),n=Kr(t),r=Vr(t.descriptors).find(d=>d.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&gn.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=xr(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,qr(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,ss(t.argv??[],"role")].some(d=>{let l=P(d)?.slice(0,256);return l!==void 0&&Fe("role",l)===void 0}),c=Object.fromEntries(Br.map(d=>[d,hd(d,n,r,t,o,i,d==="role"&&a)]));return{...n,provenance_outcomes:c}}function ph(){return process.env.PM_AUTHOR}function hh(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function yh(e){return Kr(e).harness}function yd(e,t,n){let r=Gr(n),o=Kr(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function ls(e){let t=yn.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function us(e){let t=yn.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 fs(e){let t=yn.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function ms(e,t){let n=yd(e,t);return yn.enterWith(n),n.author}import{createHash as gd}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]="1e3cba21-c5a4-541a-9841-484cfbb70f4e")}catch{}})();var bh=["sha256","sha512"],vd="sha256",_s="sha256";function ze(e){if(e===void 0)return vd;if(e==="sha256"||e==="sha512")return e;throw new TypeError(`unsupported_history_hash_algorithm:${String(e)}`)}function Ie(e,t){return gd(ze(t)).update(e,"utf8").digest("hex")}(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]="8ee74259-29b1-5795-9253-9fa0869e4585")}catch{}})();var nt=1,ps=1;function Eh(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=nt?t:nt}function hs(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=nt))return e}function bd(e,t=ps){return e<t?"outdated":e>t?"ahead":"current"}function kh(e,t=ps){let n=[],r=[];for(let o of e){let i=bd(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]="6bb283b8-5c81-562a-926e-e48b83e6ebc8")}catch{}})();var wd={"in-progress":"in_progress",cancelled:"canceled"};function vn(e,t){if(t){let o=Di(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=wd[n]??n;if(en.includes(r))return r}function rt(e,t){return vn(e,t)??e}function he(e,t){return t.terminal_statuses.has(rt(e,t))}import{encode as Nd}from"@toon-format/toon";import{isDeepStrictEqual as ws}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]="42eb2987-269d-5b18-b0fe-5b4334fdb6a0")}catch{}})();var Ed=16;function Xr(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 kd(e){return[...new Set([Li(e),Xr(e.key),Xr(e.cli_flag),...e.cli_aliases.map(t=>Xr(t))])]}function vs(e,t){for(let n of kd(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function bs(e){return Array.isArray(e)?e.flatMap(t=>bs(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 ys(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 v(`${t} must be one of true|false|1|0|yes|no`,b.USAGE)}function gs(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 v(`${t} must be a number`,b.USAGE);return r}function Id(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 v(`${t} must be valid JSON ${n}`,b.USAGE)}function Sd(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 Td(e,t,n){if(t.const!==void 0&&L(e)!==L(t.const))return`${n} must equal ${L(t.const)}`;if(t.enum!==void 0&&!t.enum.some(r=>L(r)===L(e)))return`${n} must be one of ${t.enum.map(r=>L(r)).join("|")}`;if(!Sd(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"&&!Bi(e))return`${n} must be an RFC 3339 date-time`}}function Cd(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=bn(i,t.items,`${n}[${o}]`,r+1);if(s)return s}}}function Od(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=bn(s,a,`${n}.${i}`,r+1);if(c)return c}}function bn(e,t,n,r=0){if(r>Ed)return`${n} value schema exceeds maximum depth`;let o=Td(e,t,n);if(o)return o;let i=Cd(e,t,n,r);if(i)return i;let s=Od(e,t,n,r);if(s)return s;if(!t.one_of)return;let a=0;for(let c of t.one_of)if(bn(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 Ue(e,t,n){if(!e.value_schema||t===void 0)return t;let r=bn(t,e.value_schema,n);if(r)throw new v(r,b.USAGE);return t}function xt(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:Ue(e,Id(i,r,e.type),r)}if(e.repeatable||e.type==="string_array"){let i=bs(t);return e.type==="number"?Ue(e,i.map(s=>gs(s,r)),r):e.type==="boolean"?Ue(e,i.map(s=>ys(s,r)),r):Ue(e,i,r)}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Ue(e,gs(o,r),r):e.type==="boolean"?Ue(e,ys(o,r),r):Ue(e,typeof o=="string"?o:String(o),r)}function xd(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 Nh(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=vs(e,i);if(s===void 0){xd(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=xt(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Lh(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=vs(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=xt(s,a)))}return r}import{decode as Rd}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]="e48e0cc7-7577-5702-ac17-a4529697444e")}catch{}})();function Yr(e){return{value:Rd(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]="45fa31ba-dea9-56db-b971-84c11e8a1c88")}catch{}})();var Ad=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Dd(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(Ad);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function wn(e){return Dd(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]="24554781-3fa2-53de-98b1-467843de8560")}catch{}})();var eo=new Set(["schema","tracker","auto","none"]),Is=new Set(["source","isolated","snapshot"]),Ld=new Set(["legacy","local_mutation","local_source_ref","acknowledged","invalid_provenance","foreign_source_ref"]),Pd=new Set(["passed","failed","stopped","canceled"]),Md=new Set(hi);function st(e){return e.replaceAll("\\","/")}function Ss(e){for(let t of e)if(t!==0)return t;return 0}function kn(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Ts=["id","title","description","created_at","updated_at"],jd=new Set(ge);function Cs(e){if(e?.schema)return{statusRegistry:ln(e.schema),fieldRegistry:Ni(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Fd(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function Se(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new v(`Invalid item metadata: ${e}`,b.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 Dt(e,t){throw new v(t,b.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 Os(e){let t=new Set(jd);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function I(e,t){e||Se(t)}function Nt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&Se(t),e}function Jr(e,t){let n=e[t];I(typeof n=="string",`${t} must be a string`),I(me(n),`${t} must be a valid ISO timestamp`)}function Es(e,t,n){let r=e[t];r!==void 0&&I(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function to(e,t,n){let r=e[t];r!==void 0&&(I(typeof r=="string",`${n} must be a string`),I(me(r),`${n} must be a valid ISO timestamp`))}function $d(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){I(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();I(on.includes(n),`event.recurrence.by_weekday entries must be one of: ${on.join(", ")}`)}}}function Hd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)I(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function zd(e){if(e!==void 0){I(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)I(typeof t=="string","event.recurrence.exdates entries must be strings"),I(me(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Ud(e){let t=Nt(e,"event.recurrence must be an object");I(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();I(rn.includes(n),`event.recurrence.freq must be one of: ${rn.join(", ")}`),Es(t,"interval","event.recurrence.interval"),Es(t,"count","event.recurrence.count"),to(t,"until","event.recurrence.until"),$d(t.by_weekday),Hd(t.by_month_day),zd(t.exdates)}function Bd(e){for(let r of Ts)I(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;I(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&I(typeof n=="number"&&Number.isInteger(n)&&n>=nt,`pm_format_version must be an integer >= ${nt}`),t}function Wd(e,t){let n=e.status;I(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=vn(n,r),i=r?r.definitions.map(s=>s.id):[...en];I(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Vd(e){let t=e.priority;I(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;I(Array.isArray(n),"tags must be an array");for(let r of n)I(typeof r=="string","tags entries must be strings")}function qd(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){I(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"||nn.includes(n);I(r,`confidence string value must be one of: ${[...nn,"med"].join(", ")}`);return}I(!1,"confidence must be a number or string")}}function Gd(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&Se("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||tn.includes(n);I(r,`severity value must be one of: ${[...tn,"med"].join(", ")}`)}function Kd(e){e.regression!==void 0&&typeof e.regression!="boolean"&&Se("regression must be a boolean")}function Xd(e){let t=e.reminders;if(t!==void 0){I(Array.isArray(t),"reminders must be an array");for(let n of t){let r=Nt(n,"reminders entries must be objects");I(typeof r.at=="string","reminder.at must be a string"),I(me(r.at),"reminder.at must be a valid ISO timestamp"),I(typeof r.text=="string","reminder.text must be a string"),I(r.text.trim().length>0,"reminder.text must not be empty")}}}function Yd(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(I(typeof e[t]=="string",`event.${t} must be a string`),I(e[t].trim().length>0,`event.${t} must not be empty`))}function Jd(e){e.recurrence!==void 0&&(Ud(e.recurrence),e.recurrence.until!==void 0&&I(_e(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function Qd(e){let t=Nt(e,"events entries must be objects");I(typeof t.start_at=="string","event.start_at must be a string"),I(me(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(I(typeof t.end_at=="string","event.end_at must be a string"),I(me(t.end_at),"event.end_at must be a valid ISO timestamp"),I(_e(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),Yd(t),t.all_day!==void 0&&I(typeof t.all_day=="boolean","event.all_day must be a boolean"),Jd(t)}function Zd(e){let t=e.events;if(t!==void 0){I(Array.isArray(t),"events must be an array");for(let n of t)Qd(n)}}function el(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&I(typeof n=="string",`${t} must be a string`)}}function tl(e){let t=e.type_options;if(t===void 0)return;let n=Nt(t,"type_options must be an object");for(let[r,o]of Object.entries(n))I(r.trim().length>0,"type_options keys must be non-empty"),I(typeof o=="string","type_options values must be strings"),I(o.trim().length>0,"type_options values must be non-empty strings")}function nl(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Fd(r,t)&&Se(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=xt(r,o,`metadata field "${r.metadata_key}"`)}catch(i){Se(String(i?.message).replace(/^Invalid\s+/u,""))}}}function rl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Os(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?Se(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function no(e,t){let n=Nt(e,"item metadata must be an object"),r=Bd(n);Wd(n,t),Vd(n),qd(n),Gd(n),Kd(n),Jr(n,"created_at"),Jr(n,"updated_at"),n.deadline!==void 0&&Jr(n,"deadline"),Xd(n),Zd(n),to(n,"closed_at","closed_at"),to(n,"completed_at","completed_at"),el(n),tl(n),nl(n,r,t),rl(n,t)}function ol(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=_e(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 Qr(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=_e(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 il(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=_e(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function sl(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!rn.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>on.includes(s)))).sort((s,a)=>gr(s)-gr(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=>me(s)))).sort((s,a)=>_e(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 al(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(cl).sort(dl)}function cl(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:sl(e.recurrence)};return kn(t),t}function dl(e,t){return Ss([_e(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 ll(e){if(!(!e||e.length===0))return e.map(t=>({path:st(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function ul(e){if(!e||e.length===0)return;let t=e.map(pl).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)=>Ss([_e(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 ot(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function fl(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Zr(e){return typeof e=="string"?e:""}function ml(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 _l(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,eo),pm_context_mode:En(n.pm_context_mode,eo),workspace_context_mode:En(n.workspace_context_mode,Is),trust_reason:En(n.trust_reason,Ld)}));return t.length>0?t:void 0}function pl(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Pd.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Zr(e.started_at),finished_at:Zr(e.finished_at),recorded_at:Zr(e.recorded_at),attempt:fl(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:ot(e.passed)??0,failed:ot(e.failed)??0,skipped:ot(e.skipped)??0,items:ot(e.items),linked_tests:ot(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:ml(e.measurements),executions:_l(e.executions)};return kn(o),o}function hl(e){if(!(!Array.isArray(e)||e.length===0))return e.map(wl)}function Rt(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 oo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function io(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function ks(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!io(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function yl(e){if(!oo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!io(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function gl(e){let t=e?.trim().toLowerCase();if(!(!t||!eo.has(t)))return t}function vl(e){let t=e?.trim().toLowerCase();if(!(!t||!Is.has(t)))return t}function bl(e,t){if(t===!0)return{provenance_invalid:!0};if(e===void 0)return{};if(!oo(e))return{provenance_invalid:!0};let n=E(e.author),r=E(e.created_at),o=e.source_kind;return!n||!r||!me(r)||o!=="local_mutation"&&o!=="merge_union"?{provenance_invalid:!0}:{provenance:{author:n,created_at:r,source_kind:o,source_ref:E(e.source_ref)}}}function wl(e){let t={command:e.command?.trim()||void 0,path:e.path?st(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:gl(e.pm_context_mode),workspace_context_mode:vl(e.workspace_context_mode),...bl(e.provenance,e.provenance_invalid),env_set:ks(e.env_set),env_clear:Rt(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Rt(e.assert_stdout_contains),assert_stdout_regex:Rt(e.assert_stdout_regex),assert_stderr_contains:Rt(e.assert_stderr_contains),assert_stderr_regex:Rt(e.assert_stderr_regex),assert_stdout_min_lines:ot(e.assert_stdout_min_lines),assert_json_field_equals:ks(e.assert_json_field_equals),assert_json_field_gte:yl(e.assert_json_field_gte),note:e.note?.trim()||void 0};return kn(t),t}function El(e){if(!(!e||e.length===0))return[...e].map(t=>({path:st(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 E(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function kl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.id),i=E(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=E(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 Il(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:st(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Sl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.command),i=E(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=st(i));let a=E(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Tl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.path);if(!o)continue;let i={path:st(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=E(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Cl(e){if(e===null||typeof e!="object")return;let t=e,n=E(t.id),r=E(t.title),o=E(t.status),i=o&&Md.has(o)?o:void 0,s=wi(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 Ol(d,t),d}function Ol(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=E(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",kl],["files","files",Il],["tests","tests",Sl],["docs","docs",Tl]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function xl(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Cl(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Rl(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=E(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=E(r.rationale);c&&(a.rationale=c);let d=E(r.evidence);d&&(a.evidence=d);let l=E(r.step_id);l&&(a.step_id=l),t.push(a)}return t.length>0?t:void 0}function Al(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=E(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=E(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Dl(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=E(r.text);if(!o)continue;let i={text:o},s=E(r.command);s&&(i.command=s);let a=E(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function Nl(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 it(e){let t=0;for(;t<e.length&&e[t]===`
6
6
  `;)t+=1;return e.slice(t).trimEnd()}function Ll(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(nn.includes(t))return t}function Pl(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(tn.includes(t))return t}function At(e){return e||void 0}function Ml(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))io(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function jl(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]=xt(r,o,`metadata field "${r.metadata_key}"`))}}function Fl(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Os(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&Se(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function In(e,t={}){let n=Cs(t),r=vn(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:hs(e.pm_format_version),source_type:E(e.source_type),type_options:Nl(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:ol(e.dependencies),comments:Qr(e.comments),notes:Qr(e.notes),learnings:Qr(e.learnings),files:ll(e.files),tests:hl(e.tests),test_runs:ul(e.test_runs),docs:El(e.docs),deadline:At(e.deadline),reminders:il(e.reminders),events:al(e.events),closed_at:At(e.closed_at),completed_at:At(e.completed_at),assignee:E(e.assignee),claim_principal:E(e.claim_principal),source_owner:E(e.source_owner),author:At(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:E(e.definition_of_ready),order:e.order,goal:E(e.goal),objective:E(e.objective),value:E(e.value),impact:E(e.impact),outcome:E(e.outcome),why_now:E(e.why_now),parent:E(e.parent),reviewer:E(e.reviewer),risk:e.risk??void 0,confidence:Ll(e.confidence),sprint:E(e.sprint),release:E(e.release),blocked_by:E(e.blocked_by),blocked_reason:E(e.blocked_reason),unblock_note:E(e.unblock_note),reporter:E(e.reporter),severity:Pl(e.severity),environment:E(e.environment),repro_steps:E(e.repro_steps),resolution:E(e.resolution),expected_result:E(e.expected_result),actual_result:E(e.actual_result),affected_version:E(e.affected_version),fixed_version:E(e.fixed_version),component:E(e.component),regression:e.regression,customer_impact:E(e.customer_impact),close_reason:At(e.close_reason),plan_mode:E(e.plan_mode),plan_scope:E(e.plan_scope),plan_harness:E(e.plan_harness),plan_resume_context:E(e.plan_resume_context),plan_steps:xl(e.plan_steps),plan_decisions:Rl(e.plan_decisions),plan_discoveries:Al(e.plan_discoveries),plan_validation:Dl(e.plan_validation)};return Ml(i,e),jl(i,n),Fl(i,n),kn(i),i}function xs(e){return T(e,ge)}function $l(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 Hl(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=$l(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 zl(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(`
7
7
  `,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 ro(e,t){return In(e,{...t,onWarning:void 0})}function Ul(e,t,n={}){let r=zl(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Hl(r.content);o||(e.trimStart().startsWith("{")&&Dt("json_markdown","JSON front matter is not valid JSON"),Dt("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Dt("json_markdown","JSON front matter is not valid JSON")}return no(s,t),{metadata:ro(s,n),body:it(i)}}function Bl(e,t,n={}){let r;try{r=Yr(e).value}catch{Dt("toon","TOON item document is not valid TOON")}I(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!Ts.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&Dt("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return no(o.front_matter,t),I(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:ro(o.front_matter,n),body:it(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return I(i===void 0||typeof i=="string","TOON item document body must be a string"),no(s,t),{metadata:ro(s,n),body:it(typeof i=="string"?i:"")}}function Wl(e,t={}){let n=In(e.metadata,t),r=xs(n),o=JSON.stringify(r,null,2),i=it(e.body??"");return i?`${o}
8
8
 
@@ -158,8 +158,8 @@ ${i}
158
158
  JOIN items ON items.id = item_search.id
159
159
  WHERE item_search MATCH ?
160
160
  ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
161
- LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Gn(e){await Ke.rm(_t(e),{force:!0})}import B from"node:fs/promises";import M from"node:path";import{createHash as gf,randomUUID as xa}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var ae=8,Ra=500,vf="metadata-derived-index",bf="metadata-cache.json",wf="metadata-cache-bodies.json",Ef="metadata-cache-collections.json",kf="metadata-cache-delta.json",If="metadata-cache-manifest.json",Sa=4,Sf=["comments","notes","learnings","files","tests","test_runs","docs"];function Aa(){return sn(ue())}function Xn(e){let t={...e},n={};for(let r of Sf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Da(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Na(e,t,n,r){let o=gf("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Yn(e){return M.join(e,"runtime",bf)}function Jn(e){return M.join(e,"runtime",wf)}function Qn(e){return M.join(e,"runtime",Ef)}function Co(e){return M.join(e,"runtime",kf)}function Oo(e){return M.join(e,"runtime",If)}function Zn(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Tf=24,Z=new Map,er=new WeakMap;function xo(e){return er.get(e)??e.source_cursor}function Cf(e,t){let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Of(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function xf(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Rf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Cf(e,r),Of(t,r),xf(n,r))}function To(e,t){Z.size>=Tf&&!Z.has(e)&&xi(Z),Z.set(e,t)}async function xe(e,t){let n;try{n=await B.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&Ut(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await B.readFile(e,"utf8"))}catch{o=null}return To(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Af(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ae||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Yn(e),i=await xe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await xe(Zn(o,t),r);return s===null&&Vt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Df(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Jn(e),o=await xe(r,n);return t&&o?.context_fingerprint!==t?await xe(Zn(r,t),n):o}async function Nf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Qn(e),o=await xe(r,n);return t&&o?.context_fingerprint!==t?await xe(Zn(r,t),n):o}async function Ro(e){let t=Co(e),n=await xe(t,r=>{let o=JSON.parse(r);return o.version!==ae||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await B.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ao(e){let t=Oo(e),n=await xe(t,r=>{let o=JSON.parse(r);return o.version!==ae||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await B.stat(t),await pt(e)}catch{}return null}async function Bt(e,t){await B.mkdir(M.dirname(e),{recursive:!0}),await X(e,JSON.stringify(t));try{let r=await B.stat(e);To(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Yn(n)||e===Jn(n)||e===Qn(n)){let r=Zn(e,t.context_fingerprint);await X(r,JSON.stringify(t));try{let c=await B.stat(r);To(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>Sa){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await B.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((l,f)=>l.mtime-f.mtime).slice(0,Math.max(0,c.length-Sa)))await B.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Lf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function La(e,t,n){return e===void 0||Lf(e,t,n)}function Vt(e,t){e&&!e.includes(t)&&e.push(t)}function Ut(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Pf(e,t,n){let r=M.join(e,t);try{let o=await B.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!te(o)&&Vt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Mf(e,t){try{let n=await B.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Kn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Mf(e,n))))}function Wt(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&&Ut(o,r.mtime_ms,r.ctime_ms,r.size)})}function jf(e){return cn.some(t=>e.toLowerCase().endsWith(t))}function Ff(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function $f(e,t,n){if(n)for(let r of await be({path:e,scope:"project"}))Vt(t,r)}function Ta(e,t,n,r){if(e)return t&&n?n.collections:r}async function Hf(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=wr(e);await $f(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ut(c,o,i,s),l=n.previousBodies[t],f=!n.forceSourceRead&&l!==void 0&&Ut(l,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&Ut(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ta(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?l.body:void 0};let y=await B.readFile(e,"utf8"),g=Sn(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>Vt(n.warnings,R)}),S=Xn(g.metadata);return Ff(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:S.light,heavyMetadata:Ta(n.includeCollections,p,m,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function zf(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?Da(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};La(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Uf(e,t,n,r){try{let o=await Hf(t,n,r);zf(t,n,r,o)}catch{Vt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function Bf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Wf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Vf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function qf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function Gf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!jf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Uf(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function Kf(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Wt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Bt(Yn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Bt(Oo(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:M.relative(e.pmRoot,r.item_path),metadata:Xn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ka({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Gn(e.pmRoot)}catch{}}async function Xf(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 Bt(Jn(e.pmRoot),{version:ae,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 Bt(Qn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Do(e,t,n={}){let r=await Ao(e);return n.required!==!0&&(r===null||r.entry_count<Ra)?async()=>{}:V(e,vf,30,t,!1,!1,3e3)}async function _v(e,t){let n=await Ao(e);if(n===null)return null;let r=await Ro(e);if(r.invalid)return await pt(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&&!Wt(i,await Kn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ca(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function pt(e){await Promise.all([Yn(e),Jn(e),Qn(e),Co(e),Oo(e)].map(async t=>{await B.rm(t,{force:!0}),Z.delete(t)})),await Gn(e)}async function Jf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=Xn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function Qf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function No(e){let t=Ca(e.pmRoot,e.itemPath),n=e.previousItemPath?Ca(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await pt(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Na(e.preferredFormat,e.typeToFolder,e.schema,Aa()),o=await Ao(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Ro(e.pmRoot);if(s.invalid)return await pt(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Qf(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 Jf({mutation:e});let d=xa();return await Bt(Co(e.pmRoot),{version:ae,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Kn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Ia({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Xn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Gn(e.pmRoot),[]}catch{return await pt(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Zf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Oa(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function em(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function tm(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=wr(n);if(!o)continue;let i=e.includeCollections?Da(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);La(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function nm(e){return e.forceSourceScan||Ir()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Wt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Oa(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Oa(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&em(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function tr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Aa(),d=Na(t,n,o,c),l=await Ro(e);l.invalid&&await pt(e);let f=await Af(e,d,i.cacheDiagnostics),m=s?await Df(e,d):null,p=a?await Nf(e,d):null;Rf(f,m,p,l.envelope);let _=Bf(f,d),y=Wf(m,d),g=Vf(p,d),S=[...new Set(Object.values(n))],R=await Kn(e,S),D=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ra));if(nm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:R,entryKeys:D,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return tm({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:y,previousCollections:g});let x=await Promise.all(S.map(kt=>Pf(e,kt,r))),G=Ir(),W=qf(),Q={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:G,previousEntries:_,previousBodies:y,previousCollections:g,state:W};await Gf(x,Q);let K=await Kn(e,S),ee=Wt(R,K)?K:{},Ye=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!Wt(f?.directory_signatures,ee)||f===null?xa():f.source_cursor;return await Kf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingCache:f,previousEntries:_,directorySignatures:ee,state:W,minimumIndexedItems:$}),s&&await Xf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingBodyCache:m,previousBodies:y,state:W}),a&&await Yf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingCollectionsCache:p,previousCollections:g,state:W}),Zf(W)}async function Pa(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Ma(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function Po(e,t){return(t===void 0?void 0:Ti(e,t))?.execution_role??ki[e.trim().toLowerCase()]??"agent"}var Mo="blocked_by",ja="blocks",rm=Object.freeze([Mo,ja]),Lo="no-active-blocker";function F(e){return e.trim().toLowerCase()}function nr(e,t){return t?`external:${e}`:`local:${F(e)}`}function qt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Lo){let r=pe(n);t.set(nr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Mo&&o.length>0&&F(o)!==Lo){let i=pe(o)||ie(r.source_kind);t.set(nr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function rr(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(qt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===ja&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Lo)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function Fa(e,t){let n=F(e.id);return n.length>0?rr(t).get(n)??qt(e):qt(e)}function jo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??Fa(o,[...t.values()]):qt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Mo&&ie(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>nr(a.id.trim(),!0)));return i.map(a=>{if(pe(a)||s.has(nr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:he(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function om(e,t,n){return jo(e,t,n)}function im(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=rr(e),o=new Set([...$a(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=rt(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||jo(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function sm(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(rt(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=Po(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function $a(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function am(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!he(s.status,n))return!0;r.push(F(s.id))}}}return!1}function cm(e){let t=new Map,n=new Map,r=new Map,o=rr(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function dm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=cm(t),c=new Set([...$a(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!he(g.status,n)).map(g=>F(g.id))),l=[],f=[],m=[],p=[],_=[],y=0;for(let g of e){if(!c.has(rt(g.status,n)))continue;y+=1;let S=jo(g,o,n,a).filter(x=>!x.resolved),R=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,G)=>x.localeCompare(G)),D={item:g,open_blockers:S,unblocks:R};if(am(g.id,i,n)){m.push(D);continue}let $=n.blocked_statuses.has(rt(g.status,n));if(S.length===0&&!$){let x=Po(g.type,r);x==="human"?p.push(D):x==="gate"?_.push(D):l.push(D)}else f.push(D)}return{ready:l,blocked:f,containers:m,decisions:p,gates:_,active_count:y,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function ce(){let e=de();for(let t of ue()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function Gt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function or(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function lm(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 um(e,t){let n=[...e].sort(),r=lm(n,t),o=new Set,i=fm(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=mm(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 fm(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 mm(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Ha(e){let t=new Map;for(let n of e){let r=Gt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function _m(e,t,n){let r=Gt(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 pm(e,t,n,r){let o=Gt(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 za(e,t){let n=new Map;for(let[r,o]of e){let i=_m(r,o,e);i&&n.set(or(i),i);for(let s of o.dependencies??[]){let a=pm(r,s,e,t);a&&n.set(or(a),a)}}return[...n.values()].sort((r,o)=>or(r).localeCompare(or(o)))}function Ov(e,t=ce()){return za(Ha(e),t)}function hm(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 ym(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=Gt(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 ir(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=Ha(e),o=za(r,n),i=gm(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=um([...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:hm(o,i.parents_by_child,s),divergences:ym(r,o,s)}}function xv(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 gm(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 Fo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Rv(e,t,n,r,o){let i=Gt(n);if(!i)return;let s=ir(e,r,o),a=ir(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&&Fo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new v(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,b.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Fo(f.parent_ids,m.parent_ids)));if(d)throw new v(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,b.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Fo(f.item_ids,m.item_ids)));if(l)throw new v(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,b.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var vm="global";function Pv(e){let t=e?.trim();if(t)return ie(t)?vm:t}function Mv(e,t,n){return bm(e,t,n)}function bm(e,t,n){let r=e.trim();return ie(n)||pe(r)?r:Ge(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function yt(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Kt(e){let t=yt(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Xt(e,t,n=!0){let r=yt(e);return n&&(ie(t)||r!==void 0&&pe(r))}function $o(e,t){return Xt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ua(e,t,n,r){return Xt(e,t)?r.get(e):n.get(e.toLowerCase())}function ht(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function wm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=yt(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${$o(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 Em(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 wm(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=ht(r.holder_id,o.holder_id);if(i!==0)return i;let s=ht(r.target_id,o.target_id);return s!==0?s:ht(r.kind,o.kind)})}function km(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=yt(n.id);if(!i||$o(i,n.source_kind)!==$o(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 Im(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=yt(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=km(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=ht(o.holder_id,i.holder_id);if(s!==0)return s;let a=ht(o.target_id,i.target_id);return a!==0?a:ht(o.dependency_kind,i.dependency_kind)})}function Ho(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,l,f,m)=>{let p=yt(d);if(!p||r.has(p.toLowerCase())||Xt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:l,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;ie(l.source_kind)||i(c,l.id,typeof l.kind=="string"?l.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 Sm(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 Tm(e){let t=new Map;for(let n of e){let r=Kt(n.blocked_by);r&&Xt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Xt(o.id,o.source_kind))continue;let i=Kt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Ba=new WeakMap;function Bv(e){return e.hierarchyIntegrity??Ba.get(e)}function Cm(e,t=ce()){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 sr(e,t,n){let r=n??ce(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Ho(o,t),a=Sm(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Tm(o),d=new Set(i.keys()),l=new Map;for(let _ of c){let y=_;for(;d.has(y.toLowerCase());)y=`external:${y}`;l.set(_,y),d.add(y.toLowerCase())}let f=o.map(_=>{let y=Kt(_.parent),g=Kt(_.blocked_by),S=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let D=R,$=Kt(D.id);return $?[{id:Ua($,D.source_kind,i,l),kind:typeof D.kind=="string"?D.kind:"related"}]:[]});return{id:_.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:Ua(g,void 0,i,l)}:{},dependencies:S}}),m=ir(o,t,r),p={graph:gi.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:l.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:l.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Em(o,t),orderingContradictions:Im(o,t,r),legacyAliasCounts:Cm(o,r),hierarchyIntegrity:m};return Ba.set(p,m),p}import{createHash as Om}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var xm=64,Rm=8;function Am(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function Va(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Am(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return Om("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Wa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var zo=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Wa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,xm),this.#n=Wa("maxWorkspaces",t.maxWorkspaces,Rm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},qa=new zo;function Ga(){return qa}function Kv(){qa.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var Dm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Nm=new TextEncoder;function Uo(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function ar(e){return Math.max(1,Math.ceil(Nm.encode(JSON.stringify(e)).byteLength/4))}function Bo(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Lm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Bo(i,n,r));return[...new Set(o)].sort()}function Pm(e){return Dm.find(t=>e.includes(t))}function Mm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&l)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(l=!0);continue}for(let{id:_,edge:y}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:Bo(y,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function jm(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Bo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Fm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Lm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Pm(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=ar(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function $m(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=ar(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function Ka(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Uo(r.nodeLimit,20,"nodeLimit"),i=Uo(r.edgeLimit,40,"edgeLimit"),s=Uo(r.tokenBudget,1200,"tokenBudget"),a=r.registry??de(),c=new Map(n.map(Je=>[Je.id,Je])),d=c.get(t)??{id:t},{evidence:l=[],...f}=d,m=[...l],p=Mm(e,t,a,r),{rootEdges:_,...y}=jm(e,t,a,r),g=$i("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=zi(p.rows,r.cursor,g,({id:Je})=>Je),R=p.rows.slice(S),D=ar(f)+ar(m);if(D>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Fm({candidates:R,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:D}),{nodes:x}=$,G=new Set([t,...x.map(({id:Je})=>Je)]),W=$m({graph:e,included:G,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:Q,usedTokens:K}=W,ee=S+x.length,ye=ee<p.rows.length,Ye=x.at(-1),kt=W.candidateCount-Q.length,li=p.depthTruncated||ye||kt>0,Fc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...y,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:Q.length,omittedNodes:p.rows.length-ee,omittedEdges:kt,evidenceCount:m.length,hasMore:ye};return{root:f,summary:Fc,nodes:x,edges:Q,evidence:m,meta:{exact:!0,truncated:li,completeness:li?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:K,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:kt,...ye&&Ye?{nextCursor:Hi(g,Ye.id,ee-1)}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var U={ok:!1},h=e=>typeof e=="string"?{ok:!0,value:e}:U,O=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?U:{ok:!0,value:t}}function A(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function w(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return U;let r=[];for(let o of n){let i=e(o);if(!i.ok)return U;r.push(i.value)}return{ok:!0,value:r}}}function Vo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:U}function u(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function cr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return U;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return U;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Hm=C({key:h,values:w(h),required:u(O),aliases:u(w(h)),description:u(h)}),zm=C({command:A("create","update"),option:h,required:u(O),visible:u(O),enabled:u(O)}),Um=C({name:h,description:u(h),default_status:u(h),execution_role:u(A("agent","human","gate")),folder:u(h),aliases:u(w(h)),required_create_fields:u(w(h)),required_create_repeatables:u(w(h)),options:u(w(Hm)),command_option_policies:u(w(zm))}),Bm=C({id:h,aliases:u(w(h)),roles:u(w(A(...ui))),description:u(h),order:u(N())}),Wm=C({key:h,metadata_key:u(h),front_matter_key:u(h),cli_flag:u(h),cli_aliases:u(w(h)),description:u(h),type:u(A(...fi)),commands:u(w(A(...mi))),repeatable:u(O),required:u(O),required_on_create:u(O),required_types:u(w(h)),allow_unset:u(O)}),Vm=e=>{if(!Array.isArray(e)||e.length!==2)return U;let[t,n]=e;return typeof t!="string"||typeof n!="string"?U:{ok:!0,value:[t,n]}},qm=C({type:h,allowed_transitions:w(Vm)}),Gm=u(C({version:u(N({int:!0})),files:u(C({types:u(h),statuses:u(h),fields:u(h),workflows:u(h)})),statuses:u(w(Bm)),fields:u(w(Wm)),workflow:u(C({draft_status:u(h),open_status:u(h),in_progress_status:u(h),blocked_status:u(h),close_status:u(h),canceled_status:u(h)})),type_workflows:u(w(qm)),unknown_field_policy:u(A(..._i))})),Km=u(C({preset:u(A(...pi)),ownership_enforcement:u(A("none","warn","strict")),create_mode_default:u(A("progressive","strict")),close_validation_default:u(A("off","warn","strict")),require_close_reason:u(O),parent_reference:u(A("warn","strict_error")),metadata_profile:u(A("core","strict","custom")),force_required_for_stale_lock:u(O),create_default_type:u(h),workflow_enforcement:u(A("off","warn","strict")),duplicate_detection_mode:u(A("off","advisory","strict")),duplicate_detection_threshold:u(N({min:0,max:1})),duplicate_detection_limit:u(N({int:!0,min:0,max:20}))})),Xm=C({name:h,disabled:u(O),require_trusted:u(O),require_provenance:u(O),sandbox_profile:u(A("none","restricted","strict")),allowed_capabilities:u(w(h)),blocked_capabilities:u(w(h)),allowed_surfaces:u(w(h)),blocked_surfaces:u(w(h)),allowed_commands:u(w(h)),blocked_commands:u(w(h)),allowed_actions:u(w(h)),blocked_actions:u(w(h)),allowed_services:u(w(h)),blocked_services:u(w(h))}),Wo=A("block","warn"),Ym=e=>typeof e=="string"?Wo(e):C({global:u(Wo),project:u(Wo)})(e),Jm=u(C({mode:u(A("off","warn","enforce")),trust_mode:u(A("off","warn","enforce")),pm_max_version_exceeded_mode:u(Ym),require_provenance:u(O),trusted_extensions:u(w(h)),default_sandbox_profile:u(A("none","restricted","strict")),allowed_extensions:u(w(h)),blocked_extensions:u(w(h)),allowed_capabilities:u(w(h)),blocked_capabilities:u(w(h)),allowed_surfaces:u(w(h)),blocked_surfaces:u(w(h)),allowed_commands:u(w(h)),blocked_commands:u(w(h)),allowed_actions:u(w(h)),blocked_actions:u(w(h)),allowed_services:u(w(h)),blocked_services:u(w(h)),extension_overrides:u(w(Xm))})),Xe=Vo(128),Qm=C({harness:Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:u(w(Xe,64)),model_environment_keys:u(w(Xe,64)),session_environment_keys:u(w(Xe,64)),provenance_environment_keys:u(cr(w(Xe,64))),provenance_resolvers:u(cr(A("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:u(w(Xe,64)),argv_markers:u(w(Xe,64)),client_names:u(w(Xe,64))}),Zm=C({version:N({int:!0}),id_prefix:h,ids:u(C({token_length:u(N({int:!0,min:4,max:12}))})),author_default:h,agent_identity:u(C({probes_enabled:u(O),identity_vocabulary:u(C({version:N({int:!0,positive:!0}),aliases:cr(Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:w(Qm)})),mutation_guard:u(C({require_attributed_author:u(O),secret_guard:u(A("off","advise","block")),stale_in_progress_hours:u(N({int:!0,positive:!0}))})),item_format:u(A("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:u(N({int:!0,min:0}))}),checkpoints:u(C({retention_days:u(N({int:!0,positive:!0}))})),output:C({default_format:A("toon","json")}),ux:u(C({deprecation_hints:u(O)})),history:u(C({missing_stream:A("auto_create","strict_error"),compact_policy:u(C({enabled:u(O),max_entries:u(N({int:!0,positive:!0})),trigger:u(A("health_warn","auto"))}))})),validation:u(C({sprint_release_format:A("warn","strict_error"),parent_reference:u(A("warn","strict_error")),metadata_profile:u(A("core","strict","custom")),metadata_required_fields:u(w(h)),lifecycle_stale_blocker_reason_patterns:u(w(h)),lifecycle_closure_like_blocked_reason_patterns:u(w(h)),lifecycle_closure_like_resolution_patterns:u(w(h)),lifecycle_closure_like_actual_result_patterns:u(w(h)),estimate_defaults_by_type:u(cr(N({int:!0,positive:!0})))})),governance:Km,workflow:u(C({definition_of_done:w(h)})),testing:u(C({record_results_to_items:O,allow_untrusted_linked_tests:u(O)})),telemetry:u(C({enabled:O,first_run_prompt_completed:u(O),capture_level:u(A("minimal","redacted","max")),endpoint:u(h),installation_id:u(h),retention_days:u(N({int:!0,positive:!0}))})),agent_guidance:u(C({prompt_completed:u(O),declined:u(O),declined_at:u(h),template_version:u(N({int:!0,positive:!0})),last_checked_files:u(w(h))})),item_types:u(C({definitions:w(Um)})),schema:Gm,context:u(C({default_depth:u(A("brief","standard","deep")),activity_limit:u(N({int:!0,positive:!0})),stale_threshold_days:u(N({int:!0,positive:!0})),sections:u(C({hierarchy:u(O),activity:u(O),progress:u(O),recently_created:u(O),unparented:u(O),blockers:u(O),files:u(O),workload:u(O),staleness:u(O),tests:u(O)}))})),extensions:C({enabled:w(h),disabled:w(h),policy:Jm}),search:C({score_threshold:N(),hybrid_semantic_weight:u(N()),max_results:N({int:!0}),embedding_model:h,embedding_corpus_max_characters:u(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:u(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:u(h),default_mode:u(A("auto","keyword","semantic","hybrid")),corpus_fields:u(w(h)),mutation_refresh_policy:u(A("cache_only","semantic_configured","semantic_auto")),query_expansion:u(C({enabled:u(O),provider:u(h)})),rerank:u(C({enabled:u(O),model:u(h),top_k:u(N({int:!0,positive:!0}))})),bm25:u(C({k1:u(N()),b:u(N())}))}),providers:C({openai:C({base_url:h,api_key:h,model:h}),ollama:C({base_url:h,model:h})}),vector_store:C({adapter:u(h),collection_name:u(h),qdrant:C({url:h,api_key:h}),lancedb:C({path:h})})});function Xa(e){let t=Zm(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]="e2270ad2-349e-5e8c-b23c-3cf0645907dc")}catch{}})();function dr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qo(e,t,n,r=[]){if(oe(e,t)&&(r.length>0||dr(n)))return n;if(oe(e,n)||oe(t,n))return t;if((e===void 0||dr(e))&&dr(t)&&dr(n)){let o=e??{},i=new Set([...Object.keys(o),...Object.keys(t),...Object.keys(n)]);return Object.fromEntries([...i].flatMap(s=>{let a=qo(Object.hasOwn(o,s)?o[s]:void 0,Object.hasOwn(t,s)?t[s]:void 0,Object.hasOwn(n,s)?n[s]:void 0,[...r,s]);return a===void 0?[]:[[s,a]]}))}throw new v(`Settings changed concurrently at ${r.join(".")||"<root>"}; read the latest settings and reapply the intended change.`,b.CONFLICT,{reason:"stale_settings_snapshot",required:"Read a fresh settings snapshot and reapply the intended change.",why:"Another writer changed the same setting after this snapshot was read.",examples:["pm config project export --json"],nextSteps:["Read the current settings, then retry the original config operation."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var e_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Ya=120;function Go(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Qa(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var t_=Qa(e_),Ja=new WeakMap;function n_(e){let t=Ja.get(e);if(t)return t;let n=Qa(e);return Ja.set(e,n),n}function ib(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Ya;if(t){let o=n_(t).get(n);if(Go(o))return Math.floor(o)}let r=t_.get(n);return Go(r)?Math.floor(r):Ya}function Ko(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!Go(r)||(t[o]=Math.floor(r))}return t}import{stat as r_}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var lr=new Map;function Za(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function o_(e){try{let t=await r_(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Re(e){let t=Za(e),n=await Promise.all(t.map(r=>o_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Yt(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 ec(e){return lr.get(e)}function ur(e,t){let n=Za(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));lr.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Ae(e){if(e){lr.delete(e);return}lr.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]="ab36ba69-e783-50dc-9db3-761cb228db10")}catch{}})();var i_="settings:write",ic=Symbol("pm.settings.persist_source"),s_=128,a_=new Set(["off","advisory","strict"]);function tc(e){return structuredClone(yi[e])}function c_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function nc(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 d_(e){return e.preset==="custom"?nc({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):nc({preset:e.preset},e)}function l_(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),a_.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 mr(e){let t=e.governance??{},n=c_(t.preset),r=l_(t);if(n==="custom"){let s=tc("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=tc(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function sc(){return structuredClone(k)}function ac(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function cc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function dc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function lc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function uc(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function fc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function mc(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function _c(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,s_);return n.length>0?n:k.vector_store.collection_name}function Xo(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function u_(e,t){let n=e.schema,r=Xo(n?.statuses),o=Xo(n?.fields),i=Xo(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:gt(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:gt(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 ei(e,t){Object.defineProperty(e,ic,{value:t,writable:!0,configurable:!0,enumerable:!1})}function pc(e){let t=e[ic];if(!(!t||typeof t!="object"))return t}function fr(e){let t=structuredClone(e.settings),n=pc(e.settings);return n&&ei(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function f_(e,t,n){let r=Tt(t);return[n,Ct(e,r.files.types,St.types),Ct(e,r.files.statuses,St.statuses),Ct(e,r.files.fields,St.fields),Ct(e,r.files.workflows,St.workflows)]}async function m_(e,t,n){let r=await Re(t);ur(e,{tracked_paths:t,signatures:r,value:fr(n)})}async function __(e,t,n){try{await m_(e,t,n)}catch{Ae(e)}}function rc(e,t){return e.find(n=>n.path===t)}function p_(e,t,n){for(let r of n){let o=rc(e,r),i=rc(t,r);if(!o||!i||!Yt([o],[i]))return!1}return!0}async function Yo(e,t,n,r,o){try{let i=await Re(t);if(!p_(r,i,o)){Ae(e);return}ur(e,{tracked_paths:t,signatures:i,value:fr(n)})}catch{Ae(e)}}function h_(e,t){let n=Tt(e.schema),r=gt(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=oe(r,t.runtime_item_type_definitions),s=oe(n.statuses,t.runtime_schema_statuses),a=oe(n.fields,t.runtime_schema_fields),c=oe(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?gt(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 Jt(e){return{settings:sc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function y_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Qo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function hc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Qo(e?.last_checked_files??t.last_checked_files)}}function re(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function g_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function v_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function yc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function b_(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=yc(e.sandbox_profile));let r=re(e.allowed_capabilities),o=re(e.blocked_capabilities),i=re(e.allowed_surfaces),s=re(e.blocked_surfaces),a=re(e.allowed_commands),c=re(e.blocked_commands),d=re(e.allowed_actions),l=re(e.blocked_actions),f=re(e.allowed_services),m=re(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),l.length>0&&(n.blocked_actions=l),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function w_(e){let t=new Map;for(let n of e??[]){let r=b_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Jo(e){return e==="block"||e==="warn"?e:void 0}function E_(e){if(typeof e=="string")return Jo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Jo(e.global),n=Jo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function Y(e,t){return re(e?.[t]??k.extensions.policy[t])}function gc(e){let t=E_(e?.pm_max_version_exceeded_mode);return{mode:g_(e?.mode),trust_mode:v_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:Y(e,"trusted_extensions"),default_sandbox_profile:yc(e?.default_sandbox_profile),allowed_extensions:Y(e,"allowed_extensions"),blocked_extensions:Y(e,"blocked_extensions"),allowed_capabilities:Y(e,"allowed_capabilities"),blocked_capabilities:Y(e,"blocked_capabilities"),allowed_surfaces:Y(e,"allowed_surfaces"),blocked_surfaces:Y(e,"blocked_surfaces"),allowed_commands:Y(e,"allowed_commands"),blocked_commands:Y(e,"blocked_commands"),allowed_actions:Y(e,"allowed_actions"),blocked_actions:Y(e,"blocked_actions"),allowed_services:Y(e,"allowed_services"),blocked_services:Y(e,"blocked_services"),extension_overrides:w_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function vc(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 De(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Zo(e){return Array.isArray(e)?e:[]}function k_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:vc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:De(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:De(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:De(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:De(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ko(e.validation?.estimate_defaults_by_type)}}function I_(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 S_(e,t){return{...t.search,...e.search,default_mode:cc(e.search?.default_mode),mutation_refresh_policy:ac(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:dc(e.search?.query_expansion?.enabled),provider:lc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:uc(e.search?.rerank?.enabled),model:fc(e.search?.rerank?.model),top_k:mc(e.search?.rerank?.top_k)}}}function T_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:_c(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function C_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function O_(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 x_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function gt(e){let t=(e??[]).map(r=>Ei(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 bc(e){let t=sc(),n=mr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:C_(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:k_(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:I_(e,t),agent_guidance:hc(e.agent_guidance??t.agent_guidance),item_types:{definitions:gt(e.item_types?.definitions)},schema:Tt(e.schema??t.schema),context:O_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:gc(e.extensions.policy??t.extensions.policy)},search:S_(e,t),providers:x_(e,t),vector_store:T_(e,t)}}function R_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(J(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Zo(e.agent_identity.harness_signals).map(n=>T(J(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(J(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(J(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(J(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(J(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=Zo(e.extensions.policy.extension_overrides).map(n=>T(J(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(J(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(J(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(J(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(J(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(J(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(J(e.vector_store.lancedb),["path"])}function A_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function D_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:vc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:De(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:De(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:De(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:De(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ko(e.validation?.estimate_defaults_by_type)}}function N_(e){return{...k.search,...e.search,default_mode:cc(e.search?.default_mode),mutation_refresh_policy:ac(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:dc(e.search?.query_expansion?.enabled),provider:lc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:uc(e.search?.rerank?.enabled),model:fc(e.search?.rerank?.model),top_k:mc(e.search?.rerank?.top_k)}}}function L_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function P_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:_c(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function M_(e,t,n,r){return{...e,item_format:"toon",validation:D_(e,t),governance:t,agent_guidance:hc(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:N_(e),context:L_(e),extensions:{enabled:Qo(e.extensions?.enabled),disabled:Qo(e.extensions?.disabled),policy:gc(e.extensions?.policy)},vector_store:P_(e)}}function wc(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(!oe(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:{};wc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var ti=["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 oc(e,t){let n=A_(e),r=mr(n),o=Tt(n.schema),i=h_(n,t),s=M_(n,r,o,i),a=T({...s,governance:d_(r)},ti);return R_(a),a}function j_(e,t={}){let n=oc(e,t.persist_source);if(t.persist_source){let r=bc(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=oc(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return wc(i,o,n),`${JSON.stringify(T(i,ti),null,2)}
161
+ LIMIT ?`).all(e.query,Math.max(0,Math.floor(e.limit))).map(s=>JSON.parse(String(s.metadata_json)));return n.close(),{source_cursor:r.source_cursor,items:i}}catch{return n?.close(),null}}async function Gn(e){await Ke.rm(_t(e),{force:!0})}import B from"node:fs/promises";import M from"node:path";import{createHash as gf,randomUUID as xa}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="1c60c095-9763-5372-9dc3-c0ea1a5caca6")}catch{}})();var ae=8,Ra=500,vf="metadata-derived-index",bf="metadata-cache.json",wf="metadata-cache-bodies.json",Ef="metadata-cache-collections.json",kf="metadata-cache-delta.json",If="metadata-cache-manifest.json",Sa=4,Sf=["comments","notes","learnings","files","tests","test_runs","docs"];function Aa(){return sn(ue())}function Xn(e){let t={...e},n={};for(let r of Sf)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Da(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Na(e,t,n,r){let o=gf("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function Yn(e){return M.join(e,"runtime",bf)}function Jn(e){return M.join(e,"runtime",wf)}function Qn(e){return M.join(e,"runtime",Ef)}function Co(e){return M.join(e,"runtime",kf)}function Oo(e){return M.join(e,"runtime",If)}function Zn(e,t){let n=M.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Tf=24,Z=new Map,er=new WeakMap;function xo(e){return er.get(e)??e.source_cursor}function Cf(e,t){let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.entry?e.entries[r]=o.entry:delete e.entries[r];e.directory_signatures=t.directory_signatures,e.source_cursor=t.source_cursor}}function Of(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.body?e.bodies[r]=o.body:delete e.bodies[r];e.source_cursor=t.source_cursor}}function xf(e,t){if(!e)return;let n=xo(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){er.set(e,n);for(let[r,o]of Object.entries(t.changes))o.collections?e.collections[r]=o.collections:delete e.collections[r];e.source_cursor=t.source_cursor}}function Rf(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Cf(e,r),Of(t,r),xf(n,r))}function To(e,t){Z.size>=Tf&&!Z.has(e)&&xi(Z),Z.set(e,t)}async function xe(e,t){let n;try{n=await B.stat(e)}catch{return Z.delete(e),null}let r=Z.get(e);if(r&&Ut(r.signature,n.mtimeMs,n.ctimeMs,n.size))return Z.delete(e),Z.set(e,r),r.envelope;let o;try{o=t(await B.readFile(e,"utf8"))}catch{o=null}return To(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Af(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==ae||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=Yn(e),i=await xe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await xe(Zn(o,t),r);return s===null&&Vt(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Df(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=Jn(e),o=await xe(r,n);return t&&o?.context_fingerprint!==t?await xe(Zn(r,t),n):o}async function Nf(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==ae||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=Qn(e),o=await xe(r,n);return t&&o?.context_fingerprint!==t?await xe(Zn(r,t),n):o}async function Ro(e){let t=Co(e),n=await xe(t,r=>{let o=JSON.parse(r);return o.version!==ae||typeof o.base_source_cursor!="string"||typeof o.source_cursor!="string"||typeof o.changes!="object"||o.changes===null?null:o});if(n)return{envelope:n,invalid:!1};try{return await B.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Ao(e){let t=Oo(e),n=await xe(t,r=>{let o=JSON.parse(r);return o.version!==ae||typeof o.context_fingerprint!="string"||typeof o.source_cursor!="string"||!Number.isInteger(o.entry_count)||o.entry_count<0||typeof o.directory_signatures!="object"||o.directory_signatures===null?null:o});if(n)return n;try{await B.stat(t),await pt(e)}catch{}return null}async function Bt(e,t){await B.mkdir(M.dirname(e),{recursive:!0}),await X(e,JSON.stringify(t));try{let r=await B.stat(e);To(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{Z.delete(e)}let n=M.dirname(M.dirname(e));if(e===Yn(n)||e===Jn(n)||e===Qn(n)){let r=Zn(e,t.context_fingerprint);await X(r,JSON.stringify(t));try{let c=await B.stat(r);To(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{Z.delete(r)}let o=M.dirname(e),i=M.extname(e),s=M.basename(e,i),a=(await B.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==M.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>M.join(o,c.name));if(a.length>Sa){let c=(await Promise.all(a.map(async d=>{try{return{path:d,mtime:(await B.stat(d)).mtimeMs}}catch{return null}}))).filter(d=>d!==null);for(let d of c.sort((l,f)=>l.mtime-f.mtime).slice(0,Math.max(0,c.length-Sa)))await B.rm(d.path,{force:!0}),Z.delete(d.path)}}}function Lf(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function La(e,t,n){return e===void 0||Lf(e,t,n)}function Vt(e,t){e&&!e.includes(t)&&e.push(t)}function Ut(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Pf(e,t,n){let r=M.join(e,t);try{let o=await B.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!te(o)&&Vt(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function Mf(e,t){try{let n=await B.stat(M.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function Kn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await Mf(e,n))))}function Wt(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&&Ut(o,r.mtime_ms,r.ctime_ms,r.size)})}function jf(e){return cn.some(t=>e.toLowerCase().endsWith(t))}function Ff(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function $f(e,t,n){if(n)for(let r of await be({path:e,scope:"project"}))Vt(t,r)}function Ta(e,t,n,r){if(e)return t&&n?n.collections:r}async function Hf(e,t,n){let r=await B.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=wr(e);await $f(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],d=!n.forceSourceRead&&c!==void 0&&Ut(c,o,i,s),l=n.previousBodies[t],f=!n.forceSourceRead&&l!==void 0&&Ut(l,o,i,s),m=n.previousCollections[t],p=!n.forceSourceRead&&m!==void 0&&Ut(m,o,i,s);if(!(!d||n.includeBody&&!f||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Ta(n.includeCollections,p,m,void 0),bodyLength:c.body_length,body:n.includeBody?l.body:void 0};let y=await B.readFile(e,"utf8"),g=Sn(y,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:R=>Vt(n.warnings,R)}),S=Xn(g.metadata);return Ff(n.state.misses,n.includeBody,n.includeCollections,d,f,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:d?c.metadata:S.light,heavyMetadata:Ta(n.includeCollections,p,m,S.heavy),bodyLength:d?c.body_length:g.body.length,body:n.includeBody?g.body:void 0}}function zf(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?Da(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};La(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Uf(e,t,n,r){try{let o=await Hf(t,n,r);zf(t,n,r,o)}catch{Vt(r.warnings,`item_list_item_read_failed:${e}/${M.basename(t)}`)}}function Bf(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Wf(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Vf(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function qf(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}async function Gf(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!jf(s))continue;let a=M.join(o,s),c=M.relative(t.pmRoot,a);n.push(Uf(r,a,c,t)),n.length===32&&(await Promise.all(n),n.length=0)}await Promise.all(n)}async function Kf(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!Wt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await Bt(Yn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await Bt(Oo(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:M.relative(e.pmRoot,r.item_path),metadata:Xn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await ka({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await Gn(e.pmRoot)}catch{}}async function Xf(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 Bt(Jn(e.pmRoot),{version:ae,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 Bt(Qn(e.pmRoot),{version:ae,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Do(e,t,n={}){let r=await Ao(e);return n.required!==!0&&(r===null||r.entry_count<Ra)?async()=>{}:V(e,vf,30,t,!1,!1,3e3)}async function _v(e,t){let n=await Ao(e);if(n===null)return null;let r=await Ro(e);if(r.invalid)return await pt(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&&!Wt(i,await Kn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Ca(e,t){let n=M.relative(e,t);return n===""||n===".."||n.startsWith(`..${M.sep}`)||M.isAbsolute(n)?null:n}async function pt(e){await Promise.all([Yn(e),Jn(e),Qn(e),Co(e),Oo(e)].map(async t=>{await B.rm(t,{force:!0}),Z.delete(t)})),await Gn(e)}async function Jf(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await B.stat(e.mutation.itemPath),n=Xn(e.mutation.document.metadata),r={mtime_ms:t.mtimeMs,ctime_ms:t.ctimeMs,size:t.size};return{entry:{...r,metadata:n.light,body_length:e.mutation.document.body.length},body:{...r,body:e.mutation.document.body},collections:{...r,collections:n.heavy}}}function Qf(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function No(e){let t=Ca(e.pmRoot,e.itemPath),n=e.previousItemPath?Ca(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await pt(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Na(e.preferredFormat,e.typeToFolder,e.schema,Aa()),o=await Ao(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await Ro(e.pmRoot);if(s.invalid)return await pt(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=Qf(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 Jf({mutation:e});let d=xa();return await Bt(Co(e.pmRoot),{version:ae,context_fingerprint:r,base_source_cursor:i,source_cursor:d,directory_signatures:await Kn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Ia({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:d,row:e.document===null?null:{relativePath:t,metadata:Xn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await Gn(e.pmRoot),[]}catch{return await pt(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function Zf(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Oa(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function em(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function tm(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=wr(n);if(!o)continue;let i=e.includeCollections?Da(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);La(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:M.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function nm(e){return e.forceSourceScan||Ir()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!Wt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Oa(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Oa(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&em(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function tr(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Aa(),d=Na(t,n,o,c),l=await Ro(e);l.invalid&&await pt(e);let f=await Af(e,d,i.cacheDiagnostics),m=s?await Df(e,d):null,p=a?await Nf(e,d):null;Rf(f,m,p,l.envelope);let _=Bf(f,d),y=Wf(m,d),g=Vf(p,d),S=[...new Set(Object.values(n))],R=await Kn(e,S),D=Object.keys(_),$=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ra));if(nm({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:d,existingCache:f,existingBodyCache:m,existingCollectionsCache:p,directorySignatures:R,entryKeys:D,minimumIndexedItems:$,includeBody:s,includeCollections:a,previousBodies:y,previousCollections:g}))return tm({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:_,previousBodies:y,previousCollections:g});let x=await Promise.all(S.map(kt=>Pf(e,kt,r))),G=Ir(),W=qf(),Q={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:G,previousEntries:_,previousBodies:y,previousCollections:g,state:W};await Gf(x,Q);let K=await Kn(e,S),ee=Wt(R,K)?K:{},Ye=W.misses.metadata||Object.keys(_).length!==Object.keys(W.newEntries).length||!Wt(f?.directory_signatures,ee)||f===null?xa():f.source_cursor;return await Kf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingCache:f,previousEntries:_,directorySignatures:ee,state:W,minimumIndexedItems:$}),s&&await Xf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingBodyCache:m,previousBodies:y,state:W}),a&&await Yf({pmRoot:e,contextFingerprint:d,sourceCursor:Ye,existingCollectionsCache:p,previousCollections:g,state:W}),Zf(W)}async function Pa(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function Ma(e,t,n,r,o){return(await tr(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59b12366-2f29-5acb-8196-91e9ab183666")}catch{}})();function Po(e,t){return(t===void 0?void 0:Ti(e,t))?.execution_role??ki[e.trim().toLowerCase()]??"agent"}var Mo="blocked_by",ja="blocks",rm=Object.freeze([Mo,ja]),Lo="no-active-blocker";function F(e){return e.trim().toLowerCase()}function nr(e,t){return t?`external:${e}`:`local:${F(e)}`}function qt(e){let t=new Map,n=typeof e.blocked_by=="string"?e.blocked_by.trim():"";if(n.length>0&&F(n)!==Lo){let r=pe(n);t.set(nr(n,r),r?n:F(n))}for(let r of e.dependencies??[]){let o=typeof r.id=="string"?r.id.trim():"";if(r.kind===Mo&&o.length>0&&F(o)!==Lo){let i=pe(o)||ie(r.source_kind);t.set(nr(o,i),i?o:F(o))}}return[...t.values()].sort((r,o)=>r.localeCompare(o))}function rr(e){let t=new Map;for(let n of e){let r=F(n.id);r.length!==0&&t.set(r,new Set(qt(n)))}for(let n of e){let r=F(n.id);if(r.length!==0)for(let o of n.dependencies??[]){let i=o.kind===ja&&typeof o.id=="string"?F(o.id):"";if(i.length===0||i===Lo)continue;let s=t.get(i)??new Set;s.add(r),t.set(i,s)}}return new Map([...t].map(([n,r])=>[n,[...r].sort((o,i)=>o.localeCompare(i))]))}function Fa(e,t){let n=F(e.id);return n.length>0?rr(t).get(n)??qt(e):qt(e)}function jo(e,t,n,r){let o=e,i=typeof o.id=="string"?r?.get(F(o.id))??Fa(o,[...t.values()]):qt(e),s=new Set((e.dependencies??[]).filter(a=>a.kind===Mo&&ie(a.source_kind)&&typeof a.id=="string"&&a.id.trim().length>0).map(a=>nr(a.id.trim(),!0)));return i.map(a=>{if(pe(a)||s.has(nr(a,!0)))return{id:a,title:null,status:null,resolved:!1,external:!0,...typeof e.updated_at=="string"?{blocked_since:e.updated_at}:{},resolver:null};let c=t.get(F(a));return c?{id:a,title:c.title,status:c.status,resolved:he(c.status,n)}:{id:a,title:null,status:null,resolved:!1}})}function om(e,t,n){return jo(e,t,n)}function im(e,t){let n=new Map(e.map(s=>[F(s.id),s])),r=rr(e),o=new Set([...$a(t),...t.blocked_statuses]),i=new Set;for(let s of e){let a=rt(s.status,t);if(!o.has(a))continue;(t.blocked_statuses.has(a)||jo(s,n,t,r).some(d=>!d.resolved))&&i.add(F(s.id))}return i}function sm(e,t,n={},r){let o=[...e.ready,...e.decisions,...e.gates];n.includeContainers===!0&&o.push(...e.containers.filter(s=>s.open_blockers.length===0&&!t.blocked_statuses.has(rt(s.item.status,t))));let i={ready:[],decisions:[],gates:[]};for(let s of o){let a=Po(s.item.type,r);a==="human"&&n.includeDecisions!==!0?i.decisions.push(s):a==="gate"&&n.includeGates!==!0?i.gates.push(s):i.ready.push(s)}return i}function $a(e){return e.active_statuses.size>0?e.active_statuses:new Set([e.open_status])}function am(e,t,n){let r=[F(e)],o=new Set;for(;r.length>0;){let i=r.pop();if(!o.has(i)){o.add(i);for(let s of t.get(i)??[]){if(!he(s.status,n))return!0;r.push(F(s.id))}}}return!1}function cm(e){let t=new Map,n=new Map,r=new Map,o=rr(e);for(let i of e){t.set(F(i.id),i);let s=typeof i.parent=="string"?i.parent.trim():"";if(s.length>0){let a=F(s),c=n.get(a)??[];c.push(i),n.set(a,c)}for(let a of o.get(F(i.id))){let c=F(a),d=r.get(c)??[];d.push(i.id),r.set(c,d)}}return{itemsById:t,childrenByParent:n,blockedByReverse:r,blockerIdsByItem:o}}function dm(e,t,n,r){let{itemsById:o,childrenByParent:i,blockedByReverse:s,blockerIdsByItem:a}=cm(t),c=new Set([...$a(n),...n.blocked_statuses]),d=new Set(t.filter(g=>!he(g.status,n)).map(g=>F(g.id))),l=[],f=[],m=[],p=[],_=[],y=0;for(let g of e){if(!c.has(rt(g.status,n)))continue;y+=1;let S=jo(g,o,n,a).filter(x=>!x.resolved),R=(s.get(F(g.id))??[]).filter(x=>d.has(F(x))).sort((x,G)=>x.localeCompare(G)),D={item:g,open_blockers:S,unblocks:R};if(am(g.id,i,n)){m.push(D);continue}let $=n.blocked_statuses.has(rt(g.status,n));if(S.length===0&&!$){let x=Po(g.type,r);x==="human"?p.push(D):x==="gate"?_.push(D):l.push(D)}else f.push(D)}return{ready:l,blocked:f,containers:m,decisions:p,gates:_,active_count:y,container_count:m.length}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ae1c56b3-148d-502d-9450-e807fdfab4da")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0a3dd0c1-2dea-5143-a2eb-65e758a0cc71")}catch{}})();function ce(){let e=de();for(let t of ue()?.relationship_kinds??[])for(let n of t.definitions)e.register(n);return e}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="83d1acab-79a1-5e9f-b6a4-97dade07d74a")}catch{}})();function Gt(e){if(typeof e!="string")return;let t=e.trim().toLowerCase();return t.length>0?t:void 0}function or(e){return[e.parent_id,e.child_id,e.source,e.kind,e.holder_id,e.target_id??""].join("\0")}function lm(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 um(e,t){let n=[...e].sort(),r=lm(n,t),o=new Set,i=fm(n,t),s=[];for(let a of r.reverse()){if(o.has(a))continue;let c=mm(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 fm(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 mm(e,t,n){let r=[],o=[e];for(n.add(e);o.length>0;){let i=o.pop();r.push(i);for(let s of[...t.get(i)].sort())n.has(s)||(n.add(s),o.push(s))}return r.sort()}function Ha(e){let t=new Map;for(let n of e){let r=Gt(n?.id);r&&!t.has(r)&&t.set(r,n)}return t}function _m(e,t,n){let r=Gt(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 pm(e,t,n,r){let o=Gt(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 za(e,t){let n=new Map;for(let[r,o]of e){let i=_m(r,o,e);i&&n.set(or(i),i);for(let s of o.dependencies??[]){let a=pm(r,s,e,t);a&&n.set(or(a),a)}}return[...n.values()].sort((r,o)=>or(r).localeCompare(or(o)))}function Ov(e,t=ce()){return za(Ha(e),t)}function hm(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 ym(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=Gt(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 ir(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=Ha(e),o=za(r,n),i=gm(o),s=new Set([...r].filter(([,c])=>t(c.status)).map(([c])=>c)),a=um([...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:hm(o,i.parents_by_child,s),divergences:ym(r,o,s)}}function xv(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 gm(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 Fo(e,t){let n=new Set(t);return e.every(r=>n.has(r))}function Rv(e,t,n,r,o){let i=Gt(n);if(!i)return;let s=ir(e,r,o),a=ir(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&&Fo(f.dependency_parent_ids,m.dependency_parent_ids)));if(c){let f=[c.scalar_parent_id,...c.dependency_parent_ids].sort();throw new v(`Hierarchy mutation would assign ${c.child_id} to multiple parents: ${f.join(", ")}.`,b.CONFLICT,{code:"hierarchy_parent_divergence_created",source_id:i,target_id:c.child_id,verification_errors:f})}let d=a.cardinality_violations.find(f=>(f.child_id===i||f.parent_ids.includes(i))&&!s.cardinality_violations.some(m=>m.child_id===f.child_id&&Fo(f.parent_ids,m.parent_ids)));if(d)throw new v(`Hierarchy mutation would assign ${d.child_id} to multiple parents: ${d.parent_ids.join(", ")}.`,b.CONFLICT,{code:"hierarchy_cardinality_created",source_id:i,target_id:d.child_id,verification_errors:d.parent_ids});let l=a.cycles.find(f=>f.item_ids.includes(i)&&!s.cycles.some(m=>Fo(f.item_ids,m.item_ids)));if(l)throw new v(`Hierarchy mutation would create a cycle: ${l.item_ids.join(" -> ")}.`,b.CONFLICT,{code:"hierarchy_cycle_created",source_id:i,verification_errors:l.item_ids})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fdd874ad-e51d-5df2-9486-a0465ad65979")}catch{}})();var vm="global";function Pv(e){let t=e?.trim();if(t)return ie(t)?vm:t}function Mv(e,t,n){return bm(e,t,n)}function bm(e,t,n){let r=e.trim();return ie(n)||pe(r)?r:Ge(r,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="06ecc7a4-c593-5d99-89f5-714a4590d0a5")}catch{}})();function yt(e){if(typeof e!="string")return;let t=e.trim();if(!(!t||["none","null","n/a","na"].includes(t.toLowerCase())))return t}function Kt(e){let t=yt(e);return t?.toLowerCase()==="no-active-blocker"?void 0:t}function Xt(e,t,n=!0){let r=yt(e);return n&&(ie(t)||r!==void 0&&pe(r))}function $o(e,t){return Xt(e,t)?`external\0${e}`:`local\0${e.toLowerCase()}`}function Ua(e,t,n,r){return Xt(e,t)?r.get(e):n.get(e.toLowerCase())}function ht(e,t){let n=e.toLowerCase(),r=t.toLowerCase();return n!==r?n<r?-1:1:e!==t?e<t?-1:1:0}function wm(e){let t=new Map;for(let n of e.dependencies??[]){if(typeof n!="object"||n===null)continue;let r=n,o=yt(r.id);if(!o)continue;let i=typeof r.kind=="string"?r.kind:"related",s=`${i}\0${$o(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 Em(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 wm(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=ht(r.holder_id,o.holder_id);if(i!==0)return i;let s=ht(r.target_id,o.target_id);return s!==0?s:ht(r.kind,o.kind)})}function km(e,t,n,r,o){if(typeof n!="object"||n===null)return;let i=yt(n.id);if(!i||$o(i,n.source_kind)!==$o(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 Im(e,t=r=>r==="closed"||r==="canceled",n=ce()){let r=new Map;for(let o of e){if(typeof o?.id!="string"||o.id.trim().length===0)continue;let i=yt(o.blocked_by);if(i)for(let s of o.dependencies??[]){let a=km(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=ht(o.holder_id,i.holder_id);if(s!==0)return s;let a=ht(o.target_id,i.target_id);return a!==0?a:ht(o.dependency_kind,i.dependency_kind)})}function Ho(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,l,f,m)=>{let p=yt(d);if(!p||r.has(p.toLowerCase())||Xt(p,void 0,m))return;let _={holder_id:c.id.trim(),target_id:p,kind:l,source:f,holder_status:c.status,legacy_terminal:t(c.status),no_active_blocker_sentinel:p.toLowerCase()==="no-active-blocker"};o.set(`${_.holder_id}::${_.target_id}::${_.kind}::${_.source}`,_)};for(let c of n){i(c,c.parent,"parent","parent",!1),i(c,c.blocked_by,"blocked_by","blocked_by",!0);for(let d of c.dependencies??[]){if(typeof d!="object"||d===null)continue;let l=d;ie(l.source_kind)||i(c,l.id,typeof l.kind=="string"?l.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 Sm(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 Tm(e){let t=new Map;for(let n of e){let r=Kt(n.blocked_by);r&&Xt(r)&&!t.has(r)&&t.set(r,r);for(let o of n.dependencies??[]){if(typeof o!="object"||o===null||!Xt(o.id,o.source_kind))continue;let i=Kt(o.id);i&&!t.has(i)&&t.set(i,i)}}return[...t.values()].sort((n,r)=>n.localeCompare(r))}var Ba=new WeakMap;function Bv(e){return e.hierarchyIntegrity??Ba.get(e)}function Cm(e,t=ce()){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 sr(e,t,n){let r=n??ce(),o=e.filter(_=>typeof _?.id=="string"&&_.id.trim().length>0),i=new Map(o.map(_=>[_.id.trim().toLowerCase(),_.id.trim()])),s=Ho(o,t),a=Sm(s);for(let _ of a)i.set(_.toLowerCase(),_);let c=Tm(o),d=new Set(i.keys()),l=new Map;for(let _ of c){let y=_;for(;d.has(y.toLowerCase());)y=`external:${y}`;l.set(_,y),d.add(y.toLowerCase())}let f=o.map(_=>{let y=Kt(_.parent),g=Kt(_.blocked_by),S=(_.dependencies??[]).flatMap(R=>{if(typeof R!="object"||R===null)return[];let D=R,$=Kt(D.id);return $?[{id:Ua($,D.source_kind,i,l),kind:typeof D.kind=="string"?D.kind:"related"}]:[]});return{id:_.id.trim(),...y?{parent:i.get(y.toLowerCase())}:{},...g?{blocked_by:Ua(g,void 0,i,l)}:{},dependencies:S}}),m=ir(o,t,r),p={graph:gi.fromItems([...f,...a.map(_=>({id:_})),...c.map(_=>({id:l.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:l.get(_),title:`[external] ${_}`,status:"external"}))],missingIdSet:new Set(a.map(_=>_.toLowerCase())),dangling:s,duplicateRows:Em(o,t),orderingContradictions:Im(o,t,r),legacyAliasCounts:Cm(o,r),hierarchyIntegrity:m};return Ba.set(p,m),p}import{createHash as Om}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="10f534cf-ee82-54a2-9807-390eca5fb0b8")}catch{}})();var xm=64,Rm=8;function Am(e,t){let n=(e.dependencies??[]).map(r=>{if(typeof r!="object"||r===null)return"";let o=r;return`${typeof o.kind=="string"?o.kind:"related"}:${typeof o.id=="string"?o.id:""}`}).sort().join(",");return[e.id,e.title,e.status,t(e.status)?"1":"0",typeof e.type=="string"?e.type.trim():"",e.parent??"",e.blocked_by??"",n].join("\0")}function Va(e,t=r=>r==="closed"||r==="canceled",n=de()){let r=e.filter(i=>typeof i?.id=="string"&&i.id.trim().length>0).map(i=>Am(i,t)).sort(),o=n.list().map(i=>L(i)).sort();return Om("sha256").update(r.join("")).update("").update(o.join("")).digest("hex")}function Wa(e,t,n){let r=t??n;if(!Number.isInteger(r)||r<1)throw new TypeError(`Invalid ${e} bound: ${String(t)}`);return r}var zo=class{#e=new Map;#t;#n;constructor(t={}){this.#t=Wa("maxResultsPerWorkspace",t.maxResultsPerWorkspace,xm),this.#n=Wa("maxWorkspaces",t.maxWorkspaces,Rm)}lookup(t,n,r){let o=this.#e.get(t),i=!0;(o===void 0||o.fingerprint!==n)&&(o={fingerprint:n,assembly:r(),results:new Map},i=!1,!this.#e.has(t)&&this.#e.size>=this.#n&&this.#e.delete(this.#e.keys().next().value)),this.#e.delete(t),this.#e.set(t,o);let s=o,a=this.#t;return{assembly:s.assembly,assemblyReused:i,fingerprint:n,memoize(c,d){let l=s.results.get(c);if(l!==void 0||s.results.has(c))return s.results.delete(c),s.results.set(c,l),{value:structuredClone(l),reused:!0};let f=d();return s.results.size>=a&&s.results.delete(s.results.keys().next().value),s.results.set(c,structuredClone(f)),{value:f,reused:!1}}}}clear(){this.#e.clear()}},qa=new zo;function Ga(){return qa}function Kv(){qa.clear()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="47b3091f-a1a8-503c-83e9-46b85adf4207")}catch{}})();var Dm=["prerequisite","dependent","ancestor","descendant","provenance","related"],Nm=new TextEncoder;function Uo(e,t,n){let r=e??t;if(!Number.isInteger(r)||r<1)throw new TypeError(`Relationship context ${n} must be positive`);return r}function ar(e){return Math.max(1,Math.ceil(Nm.encode(JSON.stringify(e)).byteLength/4))}function Bo(e,t,n){let r=n.resolve(e.kind);if(r?.ordering){let i=(r.precedence??"source_before_target")==="source_before_target"?e.source:e.target;return t===i?"prerequisite":"dependent"}if(r?.hierarchy){let i=r.hierarchyDirection==="source_parent"?e.source:e.target;return t===i?"ancestor":"descendant"}return e.kind==="discovered_from"||e.kind==="incident_from"?"provenance":"related"}function Lm(e,t,n,r){let o=e.filter(i=>i.source===t&&i.target===n||i.target===t&&i.source===n).map(i=>Bo(i,n,r));return[...new Set(o)].sort()}function Pm(e){return Dm.find(t=>e.includes(t))}function Mm(e,t,n,r){let o=r.direction??"both",i=r.maxDepth??3;if(!Number.isInteger(i)||i<0)throw new TypeError("Relationship context maxDepth must be non-negative");let s=new Set([t]),a=[{id:t,distance:0}],c=[],d=0,l=!1;for(let f=0;f<a.length;f+=1){r.signal?.throwIfAborted();let m=a[f];if(m.distance>=i&&l)continue;let p=e.neighborEdges(m.id,{direction:o,kinds:r.kinds,signal:r.signal});if(d+=p.meta.inspectedEdges,m.distance>=i){p.value.some(_=>!s.has(_.id))&&(l=!0);continue}for(let{id:_,edge:y}of p.value){if(s.has(_))continue;s.add(_);let g={id:_,distance:m.distance+1,via:m.id,role:Bo(y,_,n)};c.push(g),a.push(g)}}return c.sort((f,m)=>f.distance-m.distance||f.id.localeCompare(m.id)),{rows:c,visitedNodes:a.length,inspectedEdges:d,depthTruncated:l}}function jm(e,t,n,r){let o={prerequisite:0,dependent:0,ancestor:0,descendant:0,provenance:0,related:0},i=e.neighborEdges(t,{direction:r.direction??"both",kinds:r.kinds,signal:r.signal}).value;for(let{id:s,edge:a}of i)o[Bo(a,s,n)]+=1;return{directEdges:o,directTotal:i.length,rootEdges:i.map(({edge:s})=>s)}}function Fm(e){let t=[],n=e.initialTokens;for(let r of e.candidates){if(t.length>=e.nodeLimit)break;let o=r.distance===1?Lm(e.rootEdges,e.rootId,r.id,e.registry):[],i={...e.details.get(r.id)??{id:r.id},distance:r.distance,role:o.length>0?Pm(o):r.role,via:r.via,reasons:o.length>0?o:[`${r.role} via ${r.via} (depth ${r.distance})`]},s=ar(i);if(n+s>e.tokenBudget)break;t.push(i),n+=s}if(e.candidates.length>0&&t.length===0)throw new TypeError("Relationship context tokenBudget cannot fit one node");return{nodes:t,usedTokens:n}}function $m(e){let t=e.options.kinds?new Set(e.options.kinds.map(i=>e.registry.require(i).kind)):void 0,n=e.graph.edges().filter(i=>{if(!e.included.has(i.source)||!e.included.has(i.target))return!1;if(t===void 0||t.has(i.kind))return!0;let s=e.registry.resolve(i.kind)?.inverse;return s!==void 0&&t.has(s)}),r=[],o=e.initialTokens;for(let i of n){if(r.length>=e.edgeLimit)break;let s=ar(i);if(o+s>e.tokenBudget)break;r.push(i),o+=s}return{edges:r,usedTokens:o,candidateCount:n.length}}function Ka(e,t,n,r={}){if(!e.nodes().includes(t))throw new TypeError(`Relationship node not found: ${t}`);let o=Uo(r.nodeLimit,20,"nodeLimit"),i=Uo(r.edgeLimit,40,"edgeLimit"),s=Uo(r.tokenBudget,1200,"tokenBudget"),a=r.registry??de(),c=new Map(n.map(Je=>[Je.id,Je])),d=c.get(t)??{id:t},{evidence:l=[],...f}=d,m=[...l],p=Mm(e,t,a,r),{rootEdges:_,...y}=jm(e,t,a,r),g=$i("relationship-context",{rootId:t,direction:r.direction??"both",kinds:[...r.kinds??[]].sort(),maxDepth:r.maxDepth??3}),S=zi(p.rows,r.cursor,g,({id:Je})=>Je),R=p.rows.slice(S),D=ar(f)+ar(m);if(D>s)throw new TypeError("Relationship context tokenBudget cannot fit root and evidence");let $=Fm({candidates:R,details:c,rootEdges:_,rootId:t,registry:a,nodeLimit:o,tokenBudget:s,initialTokens:D}),{nodes:x}=$,G=new Set([t,...x.map(({id:Je})=>Je)]),W=$m({graph:e,included:G,options:r,registry:a,edgeLimit:i,tokenBudget:s,initialTokens:$.usedTokens}),{edges:Q,usedTokens:K}=W,ee=S+x.length,ye=ee<p.rows.length,Ye=x.at(-1),kt=W.candidateCount-Q.length,li=p.depthTruncated||ye||kt>0,Fc={rootId:t,...f.status===void 0?{}:{rootStatus:f.status},...y,discoveredNodes:p.rows.length,returnedNodes:x.length,returnedEdges:Q.length,omittedNodes:p.rows.length-ee,omittedEdges:kt,evidenceCount:m.length,hasMore:ye};return{root:f,summary:Fc,nodes:x,edges:Q,evidence:m,meta:{exact:!0,truncated:li,completeness:li?"truncated":"complete",nodeLimit:o,edgeLimit:i,tokenBudget:s,usedTokens:K,visitedNodes:p.visitedNodes,inspectedEdges:p.inspectedEdges,omittedNodes:p.rows.length-ee,omittedEdges:kt,...ye&&Ye?{nextCursor:Hi(g,Ye.id,ee-1)}:{}}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="245ec731-790e-55ae-9bb6-3eeaaefe27ee")}catch{}})();var U={ok:!1},h=e=>typeof e=="string"?{ok:!0,value:e}:U,O=e=>typeof e=="boolean"?{ok:!0,value:e}:U;function N(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?U:{ok:!0,value:t}}function A(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:U}function w(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return U;let r=[];for(let o of n){let i=e(o);if(!i.ok)return U;r.push(i.value)}return{ok:!0,value:r}}}function Vo(e,t){return n=>typeof n=="string"&&n.length>0&&n.length<=e&&n===n.trim()&&(t===void 0||t.test(n))?{ok:!0,value:n}:U}function u(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function cr(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return U;n[r]=i.value}return{ok:!0,value:n}}}function C(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return U;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return U;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var Hm=C({key:h,values:w(h),required:u(O),aliases:u(w(h)),description:u(h)}),zm=C({command:A("create","update"),option:h,required:u(O),visible:u(O),enabled:u(O)}),Um=C({name:h,description:u(h),default_status:u(h),execution_role:u(A("agent","human","gate")),folder:u(h),aliases:u(w(h)),required_create_fields:u(w(h)),required_create_repeatables:u(w(h)),options:u(w(Hm)),command_option_policies:u(w(zm))}),Bm=C({id:h,aliases:u(w(h)),roles:u(w(A(...ui))),description:u(h),order:u(N())}),Wm=C({key:h,metadata_key:u(h),front_matter_key:u(h),cli_flag:u(h),cli_aliases:u(w(h)),description:u(h),type:u(A(...fi)),commands:u(w(A(...mi))),repeatable:u(O),required:u(O),required_on_create:u(O),required_types:u(w(h)),allow_unset:u(O)}),Vm=e=>{if(!Array.isArray(e)||e.length!==2)return U;let[t,n]=e;return typeof t!="string"||typeof n!="string"?U:{ok:!0,value:[t,n]}},qm=C({type:h,allowed_transitions:w(Vm)}),Gm=u(C({version:u(N({int:!0})),files:u(C({types:u(h),statuses:u(h),fields:u(h),workflows:u(h)})),statuses:u(w(Bm)),fields:u(w(Wm)),workflow:u(C({draft_status:u(h),open_status:u(h),in_progress_status:u(h),blocked_status:u(h),close_status:u(h),canceled_status:u(h)})),type_workflows:u(w(qm)),unknown_field_policy:u(A(..._i))})),Km=u(C({preset:u(A(...pi)),ownership_enforcement:u(A("none","warn","strict")),create_mode_default:u(A("progressive","strict")),close_validation_default:u(A("off","warn","strict")),require_close_reason:u(O),parent_reference:u(A("warn","strict_error")),metadata_profile:u(A("core","strict","custom")),force_required_for_stale_lock:u(O),create_default_type:u(h),workflow_enforcement:u(A("off","warn","strict")),duplicate_detection_mode:u(A("off","advisory","strict")),duplicate_detection_threshold:u(N({min:0,max:1})),duplicate_detection_limit:u(N({int:!0,min:0,max:20}))})),Xm=C({name:h,disabled:u(O),require_trusted:u(O),require_provenance:u(O),sandbox_profile:u(A("none","restricted","strict")),allowed_capabilities:u(w(h)),blocked_capabilities:u(w(h)),allowed_surfaces:u(w(h)),blocked_surfaces:u(w(h)),allowed_commands:u(w(h)),blocked_commands:u(w(h)),allowed_actions:u(w(h)),blocked_actions:u(w(h)),allowed_services:u(w(h)),blocked_services:u(w(h))}),Wo=A("block","warn"),Ym=e=>typeof e=="string"?Wo(e):C({global:u(Wo),project:u(Wo)})(e),Jm=u(C({mode:u(A("off","warn","enforce")),trust_mode:u(A("off","warn","enforce")),pm_max_version_exceeded_mode:u(Ym),require_provenance:u(O),trusted_extensions:u(w(h)),default_sandbox_profile:u(A("none","restricted","strict")),allowed_extensions:u(w(h)),blocked_extensions:u(w(h)),allowed_capabilities:u(w(h)),blocked_capabilities:u(w(h)),allowed_surfaces:u(w(h)),blocked_surfaces:u(w(h)),allowed_commands:u(w(h)),blocked_commands:u(w(h)),allowed_actions:u(w(h)),blocked_actions:u(w(h)),allowed_services:u(w(h)),blocked_services:u(w(h)),extension_overrides:u(w(Xm))})),Xe=Vo(128),Qm=C({harness:Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:u(w(Xe,64)),model_environment_keys:u(w(Xe,64)),session_environment_keys:u(w(Xe,64)),provenance_environment_keys:u(cr(w(Xe,64))),provenance_resolvers:u(cr(A("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:u(w(Xe,64)),argv_markers:u(w(Xe,64)),client_names:u(w(Xe,64))}),Zm=C({version:N({int:!0}),id_prefix:h,ids:u(C({token_length:u(N({int:!0,min:4,max:12}))})),author_default:h,agent_identity:u(C({probes_enabled:u(O),identity_vocabulary:u(C({version:N({int:!0,positive:!0}),aliases:cr(Vo(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:w(Qm)})),mutation_guard:u(C({require_attributed_author:u(O),secret_guard:u(A("off","advise","block")),stale_in_progress_hours:u(N({int:!0,positive:!0}))})),item_format:u(A("toon","json_markdown")),locks:C({ttl_seconds:N({int:!0}),wait_ms:u(N({int:!0,min:0}))}),checkpoints:u(C({retention_days:u(N({int:!0,positive:!0}))})),output:C({default_format:A("toon","json")}),ux:u(C({deprecation_hints:u(O)})),history:u(C({missing_stream:A("auto_create","strict_error"),compact_policy:u(C({enabled:u(O),max_entries:u(N({int:!0,positive:!0})),trigger:u(A("health_warn","auto"))}))})),validation:u(C({sprint_release_format:A("warn","strict_error"),parent_reference:u(A("warn","strict_error")),metadata_profile:u(A("core","strict","custom")),metadata_required_fields:u(w(h)),lifecycle_stale_blocker_reason_patterns:u(w(h)),lifecycle_closure_like_blocked_reason_patterns:u(w(h)),lifecycle_closure_like_resolution_patterns:u(w(h)),lifecycle_closure_like_actual_result_patterns:u(w(h)),estimate_defaults_by_type:u(cr(N({int:!0,positive:!0})))})),governance:Km,workflow:u(C({definition_of_done:w(h)})),testing:u(C({record_results_to_items:O,allow_untrusted_linked_tests:u(O)})),telemetry:u(C({enabled:O,first_run_prompt_completed:u(O),capture_level:u(A("minimal","redacted","max")),endpoint:u(h),installation_id:u(h),retention_days:u(N({int:!0,positive:!0}))})),agent_guidance:u(C({prompt_completed:u(O),declined:u(O),declined_at:u(h),template_version:u(N({int:!0,positive:!0})),last_checked_files:u(w(h))})),item_types:u(C({definitions:w(Um)})),schema:Gm,context:u(C({default_depth:u(A("brief","standard","deep")),activity_limit:u(N({int:!0,positive:!0})),stale_threshold_days:u(N({int:!0,positive:!0})),sections:u(C({hierarchy:u(O),activity:u(O),progress:u(O),recently_created:u(O),unparented:u(O),blockers:u(O),files:u(O),workload:u(O),staleness:u(O),tests:u(O)}))})),extensions:C({enabled:w(h),disabled:w(h),policy:Jm}),search:C({score_threshold:N(),hybrid_semantic_weight:u(N()),max_results:N({int:!0}),embedding_model:h,embedding_corpus_max_characters:u(N()),embedding_batch_size:N({int:!0}),embedding_timeout_ms:u(N({int:!0})),scanner_max_batch_retries:N({int:!0}),provider:u(h),default_mode:u(A("auto","keyword","semantic","hybrid")),corpus_fields:u(w(h)),mutation_refresh_policy:u(A("cache_only","semantic_configured","semantic_auto")),query_expansion:u(C({enabled:u(O),provider:u(h)})),rerank:u(C({enabled:u(O),model:u(h),top_k:u(N({int:!0,positive:!0}))})),bm25:u(C({k1:u(N()),b:u(N())}))}),providers:C({openai:C({base_url:h,api_key:h,model:h}),ollama:C({base_url:h,model:h})}),vector_store:C({adapter:u(h),collection_name:u(h),qdrant:C({url:h,api_key:h}),lancedb:C({path:h})})});function Xa(e){let t=Zm(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]="e2270ad2-349e-5e8c-b23c-3cf0645907dc")}catch{}})();function dr(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function qo(e,t,n,r=[]){if(oe(e,t)&&(r.length>0||dr(n)))return n;if(oe(e,n)||oe(t,n))return t;if((e===void 0||dr(e))&&dr(t)&&dr(n)){let o=e??{},i=new Set([...Object.keys(o),...Object.keys(t),...Object.keys(n)]);return Object.fromEntries([...i].flatMap(s=>{let a=qo(Object.hasOwn(o,s)?o[s]:void 0,Object.hasOwn(t,s)?t[s]:void 0,Object.hasOwn(n,s)?n[s]:void 0,[...r,s]);return a===void 0?[]:[[s,a]]}))}throw new v(`Settings changed concurrently at ${r.join(".")||"<root>"}; read the latest settings and reapply the intended change.`,b.CONFLICT,{reason:"stale_settings_snapshot",required:"Read a fresh settings snapshot and reapply the intended change.",why:"Another writer changed the same setting after this snapshot was read.",examples:["pm config project export --json"],nextSteps:["Read the current settings, then retry the original config operation."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="833a4f8a-7e5d-5480-a526-4e1ebaadd0a8")}catch{}})();var e_={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},Ya=120;function Go(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Qa(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var t_=Qa(e_),Ja=new WeakMap;function n_(e){let t=Ja.get(e);if(t)return t;let n=Qa(e);return Ja.set(e,n),n}function ib(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return Ya;if(t){let o=n_(t).get(n);if(Go(o))return Math.floor(o)}let r=t_.get(n);return Go(r)?Math.floor(r):Ya}function Ko(e){let t={};if(e===null||typeof e!="object"||Array.isArray(e))return t;for(let[n,r]of Object.entries(e)){let o=n.trim();o.length===0||!Go(r)||(t[o]=Math.floor(r))}return t}import{stat as r_}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7c23ef10-ea7a-5680-8850-822e7d0c07a6")}catch{}})();var lr=new Map;function Za(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function o_(e){try{let t=await r_(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function Re(e){let t=Za(e),n=await Promise.all(t.map(r=>o_(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function Yt(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 ec(e){return lr.get(e)}function ur(e,t){let n=Za(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));lr.set(e,{tracked_paths:n,signatures:r,value:t.value})}function Ae(e){if(e){lr.delete(e);return}lr.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]="2a28912a-5f26-5557-bc94-cfedbd602fd0")}catch{}})();var i_="settings:write",ic=Symbol("pm.settings.persist_source"),s_=128,a_=new Set(["off","advisory","strict"]);function tc(e){return structuredClone(yi[e])}function c_(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:k.governance.preset}function nc(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 d_(e){return e.preset==="custom"?nc({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):nc({preset:e.preset},e)}function l_(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),a_.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 mr(e){let t=e.governance??{},n=c_(t.preset),r=l_(t);if(n==="custom"){let s=tc("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=tc(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function sc(){return structuredClone(k)}function ac(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:k.search.mutation_refresh_policy}function cc(e){return e==="auto"||e==="keyword"||e==="semantic"||e==="hybrid"?e:"auto"}function dc(e){return typeof e=="boolean"?e:k.search.query_expansion.enabled}function lc(e){return typeof e!="string"?k.search.query_expansion.provider:e.trim()}function uc(e){return typeof e=="boolean"?e:k.search.rerank.enabled}function fc(e){return typeof e!="string"?k.search.rerank.model:e.trim()}function mc(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:k.search.rerank.top_k}function _c(e){if(typeof e!="string")return k.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,s_);return n.length>0?n:k.vector_store.collection_name}function Xo(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function u_(e,t){let n=e.schema,r=Xo(n?.statuses),o=Xo(n?.fields),i=Xo(n?.type_workflows);return{persisted_settings:structuredClone(e),source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:gt(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:gt(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 ei(e,t){Object.defineProperty(e,ic,{value:t,writable:!0,configurable:!0,enumerable:!1})}function pc(e){let t=e[ic];if(!(!t||typeof t!="object"))return t}function fr(e){let t=structuredClone(e.settings),n=pc(e.settings);return n&&ei(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function f_(e,t,n){let r=Tt(t);return[n,Ct(e,r.files.types,St.types),Ct(e,r.files.statuses,St.statuses),Ct(e,r.files.fields,St.fields),Ct(e,r.files.workflows,St.workflows)]}async function m_(e,t,n){let r=await Re(t);ur(e,{tracked_paths:t,signatures:r,value:fr(n)})}async function __(e,t,n){try{await m_(e,t,n)}catch{Ae(e)}}function rc(e,t){return e.find(n=>n.path===t)}function p_(e,t,n){for(let r of n){let o=rc(e,r),i=rc(t,r);if(!o||!i||!Yt([o],[i]))return!1}return!0}async function Yo(e,t,n,r,o){try{let i=await Re(t);if(!p_(r,i,o)){Ae(e);return}ur(e,{tracked_paths:t,signatures:i,value:fr(n)})}catch{Ae(e)}}function h_(e,t){let n=Tt(e.schema),r=gt(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=oe(r,t.runtime_item_type_definitions),s=oe(n.statuses,t.runtime_schema_statuses),a=oe(n.fields,t.runtime_schema_fields),c=oe(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?gt(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 Jt(e){return{settings:sc(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function y_(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function Qo(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function hc(e){let t=k.agent_guidance,n=e?.template_version;return{prompt_completed:e?.prompt_completed===!0,declined:e?.declined===!0,declined_at:typeof e?.declined_at=="string"?e.declined_at:t.declined_at,template_version:typeof n=="number"&&Number.isInteger(n)&&n>0?n:t.template_version,last_checked_files:Qo(e?.last_checked_files??t.last_checked_files)}}function re(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function g_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.mode}function v_(e){return e==="off"||e==="warn"||e==="enforce"?e:k.extensions.policy.trust_mode}function yc(e){return e==="none"||e==="restricted"||e==="strict"?e:k.extensions.policy.default_sandbox_profile}function b_(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=yc(e.sandbox_profile));let r=re(e.allowed_capabilities),o=re(e.blocked_capabilities),i=re(e.allowed_surfaces),s=re(e.blocked_surfaces),a=re(e.allowed_commands),c=re(e.blocked_commands),d=re(e.allowed_actions),l=re(e.blocked_actions),f=re(e.allowed_services),m=re(e.blocked_services);return r.length>0&&(n.allowed_capabilities=r),o.length>0&&(n.blocked_capabilities=o),i.length>0&&(n.allowed_surfaces=i),s.length>0&&(n.blocked_surfaces=s),a.length>0&&(n.allowed_commands=a),c.length>0&&(n.blocked_commands=c),d.length>0&&(n.allowed_actions=d),l.length>0&&(n.blocked_actions=l),f.length>0&&(n.allowed_services=f),m.length>0&&(n.blocked_services=m),n}function w_(e){let t=new Map;for(let n of e??[]){let r=b_(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Jo(e){return e==="block"||e==="warn"?e:void 0}function E_(e){if(typeof e=="string")return Jo(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Jo(e.global),n=Jo(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function Y(e,t){return re(e?.[t]??k.extensions.policy[t])}function gc(e){let t=E_(e?.pm_max_version_exceeded_mode);return{mode:g_(e?.mode),trust_mode:v_(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:Y(e,"trusted_extensions"),default_sandbox_profile:yc(e?.default_sandbox_profile),allowed_extensions:Y(e,"allowed_extensions"),blocked_extensions:Y(e,"blocked_extensions"),allowed_capabilities:Y(e,"allowed_capabilities"),blocked_capabilities:Y(e,"blocked_capabilities"),allowed_surfaces:Y(e,"allowed_surfaces"),blocked_surfaces:Y(e,"blocked_surfaces"),allowed_commands:Y(e,"allowed_commands"),blocked_commands:Y(e,"blocked_commands"),allowed_actions:Y(e,"allowed_actions"),blocked_actions:Y(e,"blocked_actions"),allowed_services:Y(e,"allowed_services"),blocked_services:Y(e,"blocked_services"),extension_overrides:w_(e?.extension_overrides??k.extensions.policy.extension_overrides)}}function vc(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 De(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function H(e,t){return e===void 0?t:e}function J(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function Zo(e){return Array.isArray(e)?e:[]}function k_(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:vc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:De(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:De(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:De(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:De(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ko(e.validation?.estimate_defaults_by_type)}}function I_(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 S_(e,t){return{...t.search,...e.search,default_mode:cc(e.search?.default_mode),mutation_refresh_policy:ac(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:dc(e.search?.query_expansion?.enabled),provider:lc(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:uc(e.search?.rerank?.enabled),model:fc(e.search?.rerank?.model),top_k:mc(e.search?.rerank?.top_k)}}}function T_(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:_c(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function C_(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function O_(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 x_(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function gt(e){let t=(e??[]).map(r=>Ei(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 bc(e){let t=sc(),n=mr({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:C_(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:k_(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:I_(e,t),agent_guidance:hc(e.agent_guidance??t.agent_guidance),item_types:{definitions:gt(e.item_types?.definitions)},schema:Tt(e.schema??t.schema),context:O_(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:gc(e.extensions.policy??t.extensions.policy)},search:S_(e,t),providers:x_(e,t),vector_store:T_(e,t)}}function R_(e){e.agent_identity=T(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=T(J(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=Zo(e.agent_identity.harness_signals).map(n=>T(J(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=T(e.locks,["ttl_seconds","wait_ms"]),e.ids=T(e.ids,["token_length"]),e.mutation_guard=T(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=T(e.checkpoints,["retention_days"]),e.output=T(e.output,["default_format"]),e.ux=T(e.ux,["deprecation_hints"]),e.history=T(e.history,["missing_stream","compact_policy"]),e.validation=T(e.validation,["sprint_release_format","parent_reference","metadata_profile","metadata_required_fields","lifecycle_stale_blocker_reason_patterns","lifecycle_closure_like_blocked_reason_patterns","lifecycle_closure_like_resolution_patterns","lifecycle_closure_like_actual_result_patterns","estimate_defaults_by_type"]),e.governance=T(e.governance,["preset","ownership_enforcement","create_mode_default","close_validation_default","require_close_reason","parent_reference","metadata_profile","force_required_for_stale_lock","create_default_type","workflow_enforcement","duplicate_detection_mode","duplicate_detection_threshold","duplicate_detection_limit"]),e.workflow=T(e.workflow,["definition_of_done"]),e.testing=T(e.testing,["record_results_to_items","allow_untrusted_linked_tests"]),e.telemetry=T(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=T(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=T(e.item_types,["definitions"]),e.schema=T(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=T(J(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=T(J(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=T(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=T(J(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=T(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=T(J(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=Zo(e.extensions.policy.extension_overrides).map(n=>T(J(n),["name","disabled","require_trusted","require_provenance","sandbox_profile","allowed_capabilities","blocked_capabilities","allowed_surfaces","blocked_surfaces","allowed_commands","blocked_commands","allowed_actions","blocked_actions","allowed_services","blocked_services"])),e.search=T(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","default_mode","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=T(J(e.search.query_expansion),["enabled","provider"]),e.search.rerank=T(J(e.search.rerank),["enabled","model","top_k"]),e.providers=T(e.providers,["openai","ollama"]),e.providers.openai=T(J(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=T(J(e.providers.ollama),["base_url","model"]),e.vector_store=T(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=T(J(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=T(J(e.vector_store.lancedb),["path"])}function A_(e){return{...e,locks:H(e.locks,k.locks),ids:H(e.ids,k.ids),agent_identity:H(e.agent_identity,k.agent_identity),mutation_guard:H(e.mutation_guard,k.mutation_guard),checkpoints:H(e.checkpoints,k.checkpoints),output:H(e.output,k.output),ux:H(e.ux,k.ux),history:H(e.history,k.history),validation:H(e.validation,k.validation),workflow:H(e.workflow,k.workflow),testing:H(e.testing,k.testing),telemetry:H(e.telemetry,k.telemetry),agent_guidance:H(e.agent_guidance,k.agent_guidance),item_types:H(e.item_types,k.item_types),schema:H(e.schema,k.schema),context:H(e.context,k.context),extensions:H(e.extensions,k.extensions),search:H(e.search,k.search),providers:H(e.providers,k.providers),vector_store:H(e.vector_store,k.vector_store)}}function D_(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:vc(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:De(e.validation?.lifecycle_stale_blocker_reason_patterns??k.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:De(e.validation?.lifecycle_closure_like_blocked_reason_patterns??k.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:De(e.validation?.lifecycle_closure_like_resolution_patterns??k.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:De(e.validation?.lifecycle_closure_like_actual_result_patterns??k.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Ko(e.validation?.estimate_defaults_by_type)}}function N_(e){return{...k.search,...e.search,default_mode:cc(e.search?.default_mode),mutation_refresh_policy:ac(e.search?.mutation_refresh_policy),query_expansion:{...k.search.query_expansion,...e.search?.query_expansion,enabled:dc(e.search?.query_expansion?.enabled),provider:lc(e.search?.query_expansion?.provider)},rerank:{...k.search.rerank,...e.search?.rerank,enabled:uc(e.search?.rerank?.enabled),model:fc(e.search?.rerank?.model),top_k:mc(e.search?.rerank?.top_k)}}}function L_(e){return{default_depth:e.context?.default_depth??k.context.default_depth,activity_limit:e.context?.activity_limit??k.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??k.context.stale_threshold_days,sections:{...k.context.sections,...e.context?.sections}}}function P_(e){return{...e.vector_store,adapter:e.vector_store?.adapter??k.vector_store.adapter,collection_name:_c(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function M_(e,t,n,r){return{...e,item_format:"toon",validation:D_(e,t),governance:t,agent_guidance:hc(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:N_(e),context:L_(e),extensions:{enabled:Qo(e.extensions?.enabled),disabled:Qo(e.extensions?.disabled),policy:gc(e.extensions?.policy)},vector_store:P_(e)}}function wc(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(!oe(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:{};wc(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var ti=["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 oc(e,t){let n=A_(e),r=mr(n),o=Tt(n.schema),i=h_(n,t),s=M_(n,r,o,i),a=T({...s,governance:d_(r)},ti);return R_(a),a}function j_(e,t={}){let n=oc(e,t.persist_source);if(t.persist_source){let r=bc(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=oc(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return wc(i,o,n),`${JSON.stringify(T(i,ti),null,2)}
162
162
  `}return`${JSON.stringify(n,null,2)}
163
- `}async function Ec(e){let t=It(e),n=[t];await be({path:t,scope:"project"});let r=ec(e);if(r){let d=await Re(r.tracked_paths);if(Yt(d,r.signatures))return fr(r.value)}let o=await Re([t]),i;try{i=await ve(t)}catch{return Jt("settings_read_fs_error")}if(i===null){let d=Jt();return await Yo(e,[t],d,o,[t]),d}let s=await Re([t]);if(!Yt(o,s))return Ae(e),Ec(e);let a;try{a=JSON.parse(i)}catch{let d=Jt("settings_read_invalid_json");return await Yo(e,[t],d,s,[t]),d}let c=Xa(a);if(!c.success){let d=Jt("settings_read_invalid_schema");return await Yo(e,[t],d,s,[t]),d}try{let d=bc(c.data),l=f_(e,d.schema,t);n=l;let f=await Re(l),m=await Ri(e,d.schema),p=await Ai(e,d.schema),_=await Re(l),y={...d,item_types:{definitions:gt([...d.item_types.definitions,...Zo(p.type_definitions_from_file)])},schema:p.schema};ei(y,u_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:y_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Yt(f,_)?ur(e,{tracked_paths:l,signatures:_,value:fr(g)}):Ae(e):Ae(e),g}catch{let d=Jt("settings_read_merge_failed");return await __(e,n,d),d}}async function kc(e){return(await Ec(e)).settings}async function Eb(e,t,n=i_){let r=It(e),o=pc(t),i=j_(t,{persist_source:o}),s=JSON.parse(i);try{await ya({pmRoot:e,filePath:r,mutate:a=>({raw:o?`${JSON.stringify(T(qo(o.persisted_settings,s,a===null?null:JSON.parse(a)),ti),null,2)}
164
- `:i,result:void 0}),op:n,author:ms(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),o&&ei(t,{...o,persisted_settings:structuredClone(s)}),await fe({path:r,scope:"project",op:n})}finally{Ae(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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function F_(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:Zt(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 Ic(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Cb(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:F_(r,o),l=Ic([...i,r,...s]),f=e.retry_command??(d?Ic([...i,d,...s]):void 0);return new v(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??b.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:l,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}import $_ from"node:fs/promises";import H_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function z_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function U_(e,t){return new v(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,b.NOT_FOUND)}async function B_(e,t){return await vi(H_.dirname(e)),await(await $_.open(e,"a")).close(),fe({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ni(e){return W_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function W_(e){let t=z_(e.itemIds),n=[],r=[];for(let o of t){let i=le(e.pmRoot,o);if(!await Pe(i)){if(e.settings.history.missing_stream==="strict_error")throw U_(o,e.commandLabel);r.push(...await B_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function Qt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new v("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",b.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function V_(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new v(`History for this item contains invalid timestamp at entry ${o+1}.`,b.GENERIC_FAILURE);i<=t&&(n=o)}),n}function q_(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function G_(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Sc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=q_(t,Qt(t,!0));if(!r)throw new v(`Missing ${o} target. Use a timestamp or version number.`,b.USAGE,s);if(/^\d+$/.test(r)){let l=Qt(t),f=Number(r);if(f>=1&&f<=l)throw new v(`History version ${f} was pruned by compaction.`,b.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>l+t.length)throw new v(`${i} version must be between ${l+1} and ${l+t.length} for this item.`,b.USAGE,s);return{kind:"version",raw:r,historyIndex:f-l-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new v(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,b.USAGE,s);let d=V_(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new v(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,b.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function ri(e,t,n,r){let o=qe(e,t);if(o.ok)return o.document;let i=G_(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new v(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,b.GENERIC_FAILURE)}function Tc(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=qe(ft,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new v("History starts without a reconstructable item baseline.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=Oe([...r]),i=structuredClone(ft);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new v(`History target entry ${s+1} does not exist.`,b.USAGE);i=ri(i,a.patch,s+1,a.op)}if(!o.ok)throw new v(`History cannot be replayed: ${o.errors.join(", ")}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function Wb(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new v("History has no complete item baseline for this target.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new v(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,b.USAGE)}import ii from"node:fs/promises";import _r 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]="b6e08d70-4e3f-5ad3-83ad-9cb49edb526e")}catch{}})();function Ne(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function si(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Me(t),suggested_retry_args:t}}function pr(e){return new v(`Tracker root is not a directory at ${e}.`,b.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function oi(e){return new v(`Tracker root is not readable at ${e}.`,b.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function K_(e){let t=_r.resolve(e),n=_r.parse(t).root,r=_r.dirname(t);for(;r!==n;){let o;try{o=await ii.stat(r)}catch(i){if(Ne(i,"ENOTDIR"))throw pr(e);if(!Ne(i,"ENOENT"))throw i;r=_r.dirname(r);continue}if(!o.isDirectory())throw pr(e);return}}async function vt(e){let t;try{t=await ii.stat(e)}catch(n){throw Ne(n,"ENOENT")?(await K_(e),new v(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,b.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:si(e)})):Ne(n,"ENOTDIR")?pr(e):Ne(n,"EACCES")||Ne(n,"EPERM")?oi(e):n}if(!t.isDirectory())throw pr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw oi(e);try{await(await ii.opendir(e)).close()}catch(n){throw Ne(n,"EACCES")||Ne(n,"EPERM")?oi(e):n}}async function ai(e){if(await vt(e),!await Pe(It(e)))throw new v(`Tracker is not initialized at ${e}. Run pm init first.`,b.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:si(e)})}import bt from"node:fs/promises";import{statSync as X_}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function Y_(e,t){let n=-1,r=structuredClone(ft);for(let[a,c]of e.entries()){if(r=ri(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new v(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Qt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Sc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Cc(e,t,n){let r=new Set([Ge(t,n),jt(t)]);for(let o of r){let i=le(e,o);if(!X_(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await Te(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=Tc(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:l}=Y_(s,o),f=l===void 0?["history",o,"--verify"]:["get",o,"--at",l],m=Me(f);return new v(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,b.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:l!==void 0,last_materialized_version:d},nextSteps:[m,...l===void 0?["Recover the pre-compaction history from version control."]:[Me(["restore",o,l])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import ci from"node:path";import{isUtf8 as J_}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function Q_(e){try{return await bt.access(e),!0}catch{return!1}}function Z_(e,t){e&&(e.includes(t)||e.push(t))}function Oc(e){return e??sn(ue())}function ep(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function hr(e,t,n="pm-",r,o=Le){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ge(t,n),c=jt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),l=Object.entries(o),f=ep(r);for(let m of d){let p=new Map;for(let[_]of l)for(let y of f){let g=br(e,_,m,y,o);await Q_(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:y})}if(p.size>1){let _=[...p.keys()].map(y=>ci.relative(e,y).split(ci.sep).join("/")).sort();throw new v(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,b.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function yr(e,t={}){let n=await tp(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function tp(e,t={}){let n=await bt.readFile(e.itemPath);if(!J_(n))throw new v("Item contains invalid UTF-8; preserve a binary backup before recovering it.",b.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await be({path:e.itemPath,scope:"project"});let o;try{o=Sn(r,{format:e.item_format,schema:t.schema,extensionFieldNames:Oc(t.extensionFieldNames),onWarning:i=>Z_(t.warnings,i)})}catch(i){if(i instanceof v&&i.code==="item_document_invalid")return{raw:r,document:null,error:new v(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function np(e,t,n=Le,r,o){await vt(e);let i=await Pa(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function xc(e,t,n=Le,r,o){await vt(e);let i=await Ma(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function Mw(e,t,n=Le,r,o,i={}){await vt(e);let s=await tr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Un(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Rc(e){return{async get(t){let n=await hr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await yr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>np(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function rp(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await bt.readdir(ci.join(e,o));for(let s of i)for(let a of cn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function op(e,t,n,r){let o=Ge(t,n),i=await rp(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Zt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function ip(e,t,n,r){let o=await Cc(e,t,n);if(o)return o;let i=await op(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new v(`Item ${t} not found`,b.NOT_FOUND,{nextSteps:s})}function sp(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 Ac(e){let t=e.typeToFolder??an(e.settings,ue()).type_to_folder,n=await hr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await ip(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await V(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 yr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=fs(e.author),l=mr(e.settings);if(a&&c!==d&&!e.force&&!sp(e.op,e.bypassAssigneeConflict)){if(l.ownership_enforcement==="strict")throw new v(`Item ${n.id} is assigned to ${a}. Use --force to override.`,b.CONFLICT);l.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 ap(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 cp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await X(e.originalItemPath,e.originalRaw),await bt.rm(e.effectiveTargetItemPath,{force:!0});return}await X(e.originalItemPath,e.originalRaw)}}async function Dc(e){mn(e.op);let t=await Ac({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=ne(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=ne(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=await e.mutate(d);if(e.skipNoop===!0&&l.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...l.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=we();let m=ne(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await kr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:l.changedFields,sdk:Rc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Rs(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=br(e.pmRoot,m.metadata.type,r.id,y,n),R=le(e.pmRoot,r.id),D=await Ot("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:R,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:G}=ap(D,S,g),W=await Do(e.pmRoot,e.author),Q=[];try{G||await X($,x),!G&&$!==r.itemPath&&await bt.rm(r.itemPath);let ee=lt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await ut(R,ee)}catch(ye){throw await cp({skipItemWrite:G,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),ye}G||(Q=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let K=[...await fe({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields}),...await fe({path:R,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields})];return Er({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:un(c.metadata,l.changedFields),current:un(m.metadata,l.changedFields),changed_fields:l.changedFields}),{item:m.metadata,body:m.body,changedFields:l.changedFields,warnings:[...s,...l.warnings??[],...p.warnings,..._.warnings,...D.warnings,...Q,...K]}}finally{await a()}}async function jw(e){return Dc(e)}async function Fw(e){return Dc(e)}async function $w(e){let t=await Ac({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=Oc(void 0),c=ne(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await kr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Rc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=we(),m=Qe,p=lt({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=le(e.pmRoot,n.id),y=await Ot("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let x=y.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...l.warnings,...y.warnings]};let R=await Do(e.pmRoot,e.author),D=[];try{S||await bt.rm(g);try{await ut(_,p)}catch(x){throw S||await X(g,r),x}S||(D=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await R()}let $=[...await fe({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await fe({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return Er({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:un(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...l.warnings,...y.warnings,...D,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var dp=["tree","graph","context"],lp=["none","repeated"],up=["outgoing","incoming","both"],fp=32,mp=200,_p=400,pp=16e3;function hp(e){let t=e?.trim().toLowerCase()??"tree";if(dp.includes(t))return t;throw new v(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,b.USAGE)}function wt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new v(`Invalid --${t} value "${e}". Use a positive integer.`,b.USAGE);return n}function Lc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new v(`Invalid --max-depth value "${e}". Use a non-negative integer.`,b.USAGE);return t}function yp(e){let t=e?.trim().toLowerCase()??"none";if(lp.includes(t))return t;throw new v(`Invalid --collapse value "${e}". Use "none" or "repeated".`,b.USAGE)}function gp(e){let t=e?.trim().toLowerCase()??"both";if(up.includes(t))return t;throw new v(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,b.USAGE)}function vp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new v(`Invalid --kind value "${o}". Registered kinds: ${s}.`,b.USAGE)}r.add(i.kind)}return[...r].sort()}function bp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function wp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:bp(e.dependencies)}}function Ep(e){return fn(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function kp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(Pc(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Ip(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Pc(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),f={id:l?.id??e,title:l?.title,type:l?.type,status:l?.status,via:c,missing:!l,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=Ep(f),Ip(f,l,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),kp(f,l,t,m,r,o,i,s,a),f}function Nc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function Sp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Nc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,Nc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Mc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let f=t.get(l);if(!f){i.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let m of f.dependencies)o.add(`${l}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Tp(e,t=de()){let n=Lc(e.maxDepth),r=wt(e.nodeLimit,"node-limit"),o=wt(e.edgeLimit,"edge-limit"),i=wt(e.tokenBudget,"token-budget"),s=vp(e.kind,t);return{direction:gp(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Cp(e,t,n,r){return Ka(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function di(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Op(e,t,n,r){let o=await hr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await yr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,m])=>m===0))return[];let f=[`linked:${l.map(([m,p])=>`${m}=${p}`).join(",")}`];return di(f,"file",a.map(m=>m.path),3),di(f,"test",c.map(m=>m.command??m.path),2),di(f,"doc",d.map(m=>m.path),2),f}function xp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Rp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function jc(e,t,n){let r;for(;;){let o=fn(new TextEncoder().encode(Cr(Sr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Ap(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Dp(e){try{return Cp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Ap(t))return e.smallestResult;throw t}}function Np(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,l=r.edgeLimit??40,f=r.tokenBudget,m,p;for(;;){let _=Dp({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in _)return _;let y=_;m??=y.meta.tokenBudget,f??=m;let g=xp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=jc(Et(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(l>0){l-=1;continue}let S=f,R=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(R*.9)))}}function Lp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Tp(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),l=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Rp({row:y,missingReachableSet:l,packetIds:p,filteredKinds:m,registry:f}));return Np({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Pp(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Mp(e,t,n,r,o,i,s){let a=o??fp,c=wt(n.nodeLimit,"node-limit")??mp,d=wt(n.edgeLimit,"edge-limit")??_p,l=wt(n.tokenBudget,"token-budget")??pp,f={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Pc(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Mc(e,r,void 0),_;for(;;){let y=Sp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:y},(_.truncation===void 0?fn(new TextEncoder().encode(Cr(Sr("deps",Et(_,!1)),s)).byteLength):jc(Et(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=l)return _;if(!Pp(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function Et(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function sE(e,t,n){let r=Ci(process.cwd(),n.path);await ai(r);let o=hp(t.format),i=Lc(t.maxDepth),s=yp(t.collapse);Fi(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await kc(r),d=an(c,ue()),l=await xc(r,c.item_format,d.type_to_folder,void 0,c.schema),f=ln(c.schema),m=new Map(l.map(_=>[_.id.trim().toLowerCase(),wp(_)])),p=Ho(l,_=>he(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let y=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new v(`Item ${e} not found`,b.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Op(r,_,c,d.type_to_folder),g=D=>he(D,f),S=ce(),R=Ga().lookup(r,Va(l,g,S),()=>sr(l,g,S));return Et(Lp({assembly:R.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,R.assembly.legacyAliasCounts)}return a?Et({id:e,format:o,...Mc(e,m,i)},!0,Object.fromEntries(Object.entries(sr(l,_=>he(_,f)).legacyAliasCounts))):Et(Mp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(sr(l,_=>he(_,f)).legacyAliasCounts)))}export{je as a,xr as b,Fp as c,$p as d,Yi as e,Lr as f,Kp as g,Xp as h,Yp as i,Jp as j,Qp as k,Zp as l,Br as m,Wr as n,os as o,dh as p,lh as q,uh as r,fh as s,mh as t,_h as u,Kr as v,ds as w,ph as x,hh as y,yh as z,yd as A,fs as B,ms as C,bh as D,vd as E,_s as F,ze as G,Ie as H,vs as I,xt as J,Nh as K,Lh as L,nt as M,ps as N,Eh as O,hs as P,bd as Q,kh as R,vn as S,rt as T,he as U,wn as V,In as W,Sn as X,Rs as Y,ne as Z,ql as _,Te as $,at as aa,mu as ba,by as ca,wy as da,Ey as ea,wu as fa,Pn as ga,We as ha,Mt as ia,qy as ja,ho as ka,Fn as la,Qs as ma,Gy as na,ta as oa,Ky as pa,lt as qa,ut as ra,As as sa,ft as ta,$n as ua,og as va,go as wa,Hn as xa,ig as ya,sg as za,sa as Aa,qe as Ba,da as Ca,Oe as Da,qu as Ea,ag as Fa,cg as Ga,Ft as Ha,bo as Ia,Og as Ja,xg as Ka,pa as La,ya as Ma,Rg as Na,ib as Oa,Ae as Pa,mr as Qa,Ec as Ra,kc as Sa,Eb as Ta,Cb as Ua,ni as Va,W_ as Wa,ua as Xa,jt as Ya,Ge as Za,pg as _a,Qt as $a,Sc as ab,ri as bb,Tc as cb,Wb as db,nf as eb,of as fb,sf as gb,af as hb,cf as ib,ko as jb,Gg as kb,Zg as lb,ev as mb,tv as nb,Ra as ob,Sf as pb,Do as qb,_v as rb,No as sb,tr as tb,vt as ub,ai as vb,hr as wb,yr as xb,tp as yb,np as zb,xc as Ab,Mw as Bb,Rc as Cb,ip as Db,jw as Eb,Fw as Fb,$w as Gb,Po as Hb,rm as Ib,qt as Jb,rr as Kb,Fa as Lb,om as Mb,im as Nb,sm as Ob,dm as Pb,Pv as Qb,Mv as Rb,bm as Sb,ce as Tb,Ov as Ub,ir as Vb,xv as Wb,gm as Xb,Rv as Yb,Kt as Zb,Em as _b,Im as $b,Ho as ac,Sm as bc,Bv as cc,sr as dc,Va as ec,zo as fc,Ga as gc,Kv as hc,Ka as ic,wt as jc,Lc as kc,gp as lc,vp as mc,sE as nc};
165
- //# sourceMappingURL=chunk-NWRVNHAD.js.map
163
+ `}async function Ec(e){let t=It(e),n=[t];await be({path:t,scope:"project"});let r=ec(e);if(r){let d=await Re(r.tracked_paths);if(Yt(d,r.signatures))return fr(r.value)}let o=await Re([t]),i;try{i=await ve(t)}catch{return Jt("settings_read_fs_error")}if(i===null){let d=Jt();return await Yo(e,[t],d,o,[t]),d}let s=await Re([t]);if(!Yt(o,s))return Ae(e),Ec(e);let a;try{a=JSON.parse(i)}catch{let d=Jt("settings_read_invalid_json");return await Yo(e,[t],d,s,[t]),d}let c=Xa(a);if(!c.success){let d=Jt("settings_read_invalid_schema");return await Yo(e,[t],d,s,[t]),d}try{let d=bc(c.data),l=f_(e,d.schema,t);n=l;let f=await Re(l),m=await Ri(e,d.schema),p=await Ai(e,d.schema),_=await Re(l),y={...d,item_types:{definitions:gt([...d.item_types.definitions,...Zo(p.type_definitions_from_file)])},schema:p.schema};ei(y,u_(c.data,y));let g={settings:y,metadata:{has_explicit_item_format:y_(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...m.created_paths.map(S=>`runtime_schema_bootstrap_created:${S}`),...p.warnings]};return m.created_paths.length===0?Yt(f,_)?ur(e,{tracked_paths:l,signatures:_,value:fr(g)}):Ae(e):Ae(e),g}catch{let d=Jt("settings_read_merge_failed");return await __(e,n,d),d}}async function kc(e){return(await Ec(e)).settings}async function kb(e,t,n=i_){let r=It(e),o=pc(t),i=j_(t,{persist_source:o}),s=JSON.parse(i);try{await ya({pmRoot:e,filePath:r,mutate:a=>{let c=null;if(a!==null)try{c=JSON.parse(a)}catch{throw new v("Existing settings.json is malformed; the settings write was refused.",b.USAGE,{code:"settings_write_invalid_existing_json",reason:"existing_settings_json_malformed",why:"Writing defaults over malformed settings could destroy intended project configuration.",nextSteps:["Repair the syntax in .agents/pm/settings.json, then retry the original command.","Run pm health to confirm the settings warning has cleared."]})}return{raw:o?`${JSON.stringify(T(qo(o.persisted_settings,s,c),ti),null,2)}
164
+ `:i,result:void 0}},op:n,author:ms(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),o&&ei(t,{...o,persisted_settings:structuredClone(s)}),await fe({path:r,scope:"project",op:n})}finally{Ae(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]="8ed4af4c-40cf-5902-930b-78a4758871b2")}catch{}})();function F_(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:Zt(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 Ic(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Ob(e){let t=e.command_path.trim().replaceAll(/\s+/gu," "),n=e.token.trim(),r=n.length===0?"<empty>":n,o=[...new Set(e.allowed.map(m=>m.trim()))].filter(Boolean).sort((m,p)=>m.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",d=e.retry_command?void 0:F_(r,o),l=Ic([...i,r,...s]),f=e.retry_command??(d?Ic([...i,d,...s]):void 0);return new v(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??b.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...f?[f]:[],...e.examples??[],`pm ${t} --help`],nextSteps:f?[`Retry with the suggested command: ${f}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:l,allowed_values:o,suggested_retry:f,fallback_candidates:e.fallback_candidates}})}import $_ from"node:fs/promises";import H_ from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="99eadab1-5338-5d75-b600-fa0463053375")}catch{}})();function z_(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function U_(e,t){return new v(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,b.NOT_FOUND)}async function B_(e,t){return await vi(H_.dirname(e)),await(await $_.open(e,"a")).close(),fe({path:e,scope:"project",op:`${t}:history:auto_create`})}async function ni(e){return W_({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function W_(e){let t=z_(e.itemIds),n=[],r=[];for(let o of t){let i=le(e.pmRoot,o);if(!await Pe(i)){if(e.settings.history.missing_stream==="strict_error")throw U_(o,e.commandLabel);r.push(...await B_(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cb9a55d6-9ba9-50af-a54f-2bba5d076fdb")}catch{}})();function Qt(e,t=!1){let n=e[0];if(n?.op!=="history_compact_baseline")return 0;let r=n.context?.history_compaction,o=typeof r=="object"&&r!==null&&"version_offset"in r?r.version_offset:void 0;if(typeof o=="number"&&Number.isSafeInteger(o)&&o>=0&&Number.isSafeInteger(o+e.length))return o;if(t)return null;throw new v("This compacted stream has no trustworthy version offset; numeric history addresses are unavailable.",b.USAGE,{code:"history_version_mapping_unavailable",required:"Use a retained timestamp or recover the pre-compaction stream from version control.",nextSteps:["Run pm history <id> --full to inspect the retained timestamps and checkpoint evidence."]})}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8835b501-34c7-51ba-b02e-782f8a457e1b")}catch{}})();function V_(e,t){let n=-1;return e.forEach((r,o)=>{let i=Date.parse(r.ts);if(!Number.isFinite(i))throw new v(`History for this item contains invalid timestamp at entry ${o+1}.`,b.GENERIC_FAILURE);i<=t&&(n=o)}),n}function q_(e,t){let n=e[0]?.ts??null,r=e.at(-1)?.ts??null,o={code:"history_target_out_of_range",required:"Choose a target within the available item history.",why:"Point-in-time reads and restores can only reconstruct recorded versions.",examples:[],nextSteps:["Run pm history <id> to inspect available versions and timestamps."],valid_range:{first_version:null,last_version:null,first_timestamp:n,last_timestamp:r}};return r!==null&&(o.examples=[r],t!==null&&(o.examples.unshift(String(t+1),String(t+e.length)),o.valid_range.first_version=t+1,o.valid_range.last_version=t+e.length)),{guidance:o,lastTimestamp:r}}function G_(e,t){let n={};if(t instanceof Error&&t.message.trim().length>0&&(n.reason=t.message.trim()),typeof t!="object"||t===null)return n;let r=t;if(typeof r.index=="number"&&Number.isInteger(r.index)&&r.index>=0&&(n.patchIndex=r.index),typeof r.operation=="object"&&r.operation!==null){let o=r.operation;Object.assign(n,Object.fromEntries(["op","path","from"].flatMap(i=>{let s=o[i];return typeof s=="string"?[[i,s]]:[]})))}if(n.patchIndex!==void 0){let o=e[n.patchIndex];o&&(n.op??=o.op,n.path??=o.path,n.from??=o.from)}return n}function Sc(e,t,n={}){let r=e.trim(),o=n.errorSubject??"history",i=o==="restore"?"Restore":"History",{guidance:s,lastTimestamp:a}=q_(t,Qt(t,!0));if(!r)throw new v(`Missing ${o} target. Use a timestamp or version number.`,b.USAGE,s);if(/^\d+$/.test(r)){let l=Qt(t),f=Number(r);if(f>=1&&f<=l)throw new v(`History version ${f} was pruned by compaction.`,b.USAGE,{...s,code:"history_version_pruned"});if(!Number.isSafeInteger(f)||f<1||f>l+t.length)throw new v(`${i} version must be between ${l+1} and ${l+t.length} for this item.`,b.USAGE,s);return{kind:"version",raw:r,historyIndex:f-l-1}}let c=Date.parse(r);if(!Number.isFinite(c))throw new v(`Invalid ${o} target "${e}". Use a positive version number or ISO timestamp.`,b.USAGE,s);let d=V_(t,c);if(d<0||n.allowFutureTimestamp!==!0&&c>Date.parse(a))throw new v(o==="restore"?`No history entries exist at or before timestamp ${r}.`:`No history entry exists at timestamp ${r}.`,b.USAGE,s);return{kind:"timestamp",raw:r,historyIndex:d}}function ri(e,t,n,r){let o=qe(e,t);if(o.ok)return o.document;let i=G_(t,o.error),s=[`history_op=${r}`,i.patchIndex===void 0?null:`patch_index=${i.patchIndex}`,i.op?`op=${i.op}`:null,i.path?`path=${i.path}`:null,i.from?`from=${i.from}`:null].filter(a=>a!==null);throw new v(`Failed to apply history patch at entry ${n} (${s.join(", ")}). ${i.reason??String(o.error)}`,b.GENERIC_FAILURE)}function Tc(e,t){let n=e[0];if(n&&n.op!=="create"&&n.op!=="history_compact_baseline"){let s=qe(ft,n.patch);if(!s.ok||typeof s.document.metadata.id!="string")throw new v("History starts without a reconstructable item baseline.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the missing baseline."]})}let r=e.slice(0,t+1),o=Oe([...r]),i=structuredClone(ft);for(let s=0;s<=t;s+=1){let a=e[s];if(!a)throw new v(`History target entry ${s+1} does not exist.`,b.USAGE);i=ri(i,a.patch,s+1,a.op)}if(!o.ok)throw new v(`History cannot be replayed: ${o.errors.join(", ")}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",verification_errors:o.errors,required:"Inspect the history integrity findings before attempting recovery.",nextSteps:["Run pm history <id> --verify --full."]});return i}function Vb(e,t){if(Object.keys(e.metadata).length>0){if(typeof e.metadata.id!="string"||!Array.isArray(e.metadata.tags))throw new v("History has no complete item baseline for this target.",b.GENERIC_FAILURE,{code:"history_baseline_unavailable",required:"Recover the original create entry or a complete checkpoint from version control.",nextSteps:["Run pm history <id> --full to inspect the first recorded state."]});return e}throw new v(`History target ${t.raw} resolves to a deleted state; choose a version or timestamp where the item exists.`,b.USAGE)}import ii from"node:fs/promises";import _r 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]="b6e08d70-4e3f-5ad3-83ad-9cb49edb526e")}catch{}})();function Ne(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function si(e){let t=["--pm-path",e,"init","--defaults","--agent-guidance","skip"];return{suggested_retry:Me(t),suggested_retry_args:t}}function pr(e){return new v(`Tracker root is not a directory at ${e}.`,b.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",resolved_path:e,nextSteps:["Pass a tracker directory, usually <workspace>/.agents/pm, rather than a file path."]})}function oi(e){return new v(`Tracker root is not readable at ${e}.`,b.GENERIC_FAILURE,{code:"tracker_root_unreadable",reason:"unreadable",resolved_path:e,nextSteps:["Grant read and directory-search permission to the tracker root, then retry."]})}async function K_(e){let t=_r.resolve(e),n=_r.parse(t).root,r=_r.dirname(t);for(;r!==n;){let o;try{o=await ii.stat(r)}catch(i){if(Ne(i,"ENOTDIR"))throw pr(e);if(!Ne(i,"ENOENT"))throw i;r=_r.dirname(r);continue}if(!o.isDirectory())throw pr(e);return}}async function vt(e){let t;try{t=await ii.stat(e)}catch(n){throw Ne(n,"ENOENT")?(await K_(e),new v(`Tracker is not initialized at ${e}. Tracker root does not exist. Run pm init first.`,b.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",resolved_path:e,nextSteps:["Confirm the tracker root path or initialize it with the emitted retry."],recovery:si(e)})):Ne(n,"ENOTDIR")?pr(e):Ne(n,"EACCES")||Ne(n,"EPERM")?oi(e):n}if(!t.isDirectory())throw pr(e);if(process.platform!=="win32"&&((t.mode&292)===0||(t.mode&73)===0))throw oi(e);try{await(await ii.opendir(e)).close()}catch(n){throw Ne(n,"EACCES")||Ne(n,"EPERM")?oi(e):n}}async function ai(e){if(await vt(e),!await Pe(It(e)))throw new v(`Tracker is not initialized at ${e}. Run pm init first.`,b.NOT_FOUND,{code:"tracker_not_initialized",reason:"settings_missing",resolved_path:e,nextSteps:["Initialize the selected tracker root with the emitted retry."],recovery:si(e)})}import bt from"node:fs/promises";import{statSync as X_}from"node:fs";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="401ead12-fb72-586b-8625-33ae44ed2eb9")}catch{}})();function Y_(e,t){let n=-1,r=structuredClone(ft);for(let[a,c]of e.entries()){if(r=ri(r,c.patch,a+1,c.op),r.metadata.id!==void 0&&r.metadata.id!==t)throw new v(`History belongs to item ${String(r.metadata.id)}, expected ${t}.`,b.GENERIC_FAILURE,{code:"history_replay_invalid",required:"Recover the correct history stream for this item before attempting restoration."});r.metadata.id===t&&Array.isArray(r.metadata.tags)&&(n=a)}let o=Qt(e,!0),i=n<0||o===null?null:o+n+1,s=i===null?void 0:String(i);if(n>=0&&s===void 0){let a=e[n].ts;Sc(a,e).historyIndex===n&&(s=a)}return{version:i,target:s}}async function Cc(e,t,n){let r=new Set([Ge(t,n),jt(t)]);for(let o of r){let i=le(e,o);if(!X_(i,{throwIfNoEntry:!1})?.isFile())continue;let s=await Te(i,o),a=-1;if(s.forEach((p,_)=>{p.op==="delete"&&(a=_)}),a<0)continue;let c=Tc(s,s.length-1);if(Object.keys(c.metadata).length!==0)continue;let{version:d,target:l}=Y_(s,o),f=l===void 0?["history",o,"--verify"]:["get",o,"--at",l],m=Me(f);return new v(`Item ${o} was deleted at ${s[a].ts}; its history is retained.`,b.NOT_FOUND,{code:"item_deleted",required:"Read a retained materialized version, then restore it if the item should exist again.",item_id:o,tombstone:{deleted:!0,deleted_at:s[a].ts,recoverable:l!==void 0,last_materialized_version:d},nextSteps:[m,...l===void 0?["Recover the pre-compaction history from version control."]:[Me(["restore",o,l])]],recovery:{suggested_retry:m,suggested_retry_args:f}})}}import ci from"node:path";import{isUtf8 as J_}from"node:buffer";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="02383f73-64f0-5ffc-a802-f8ef2b3cc038")}catch{}})();async function Q_(e){try{return await bt.access(e),!0}catch{return!1}}function Z_(e,t){e&&(e.includes(t)||e.push(t))}function Oc(e){return e??sn(ue())}function ep(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}async function hr(e,t,n="pm-",r,o=Le){let i=t.trim(),s=i.startsWith("#")?i.slice(1):i;if(s.length===0)return null;let a=Ge(t,n),c=jt(t),d=[...new Set([s,a,c])].filter(m=>m.length>0),l=Object.entries(o),f=ep(r);for(let m of d){let p=new Map;for(let[_]of l)for(let y of f){let g=br(e,_,m,y,o);await Q_(g)&&p.set(g,p.get(g)??{id:m,type:_,itemPath:g,item_format:y})}if(p.size>1){let _=[...p.keys()].map(y=>ci.relative(e,y).split(ci.sep).join("/")).sort();throw new v(`Item ${m} has ambiguous identity across ${_.join(", ")}. Preserve both documents and inspect pm ops validate --check-storage-integrity before resolving the collision.`,b.CONFLICT,{code:"item_identity_ambiguous",item_id:m,paths:_})}for(let _ of p.values())return _}return null}async function yr(e,t={}){let n=await tp(e,t);if(n.error!==null)throw n.error;return{raw:n.raw,document:n.document}}async function tp(e,t={}){let n=await bt.readFile(e.itemPath);if(!J_(n))throw new v("Item contains invalid UTF-8; preserve a binary backup before recovering it.",b.CONFLICT,{code:"item_document_encoding_invalid",item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:!1});let r=n.toString("utf8");await be({path:e.itemPath,scope:"project"});let o;try{o=Sn(r,{format:e.item_format,schema:t.schema,extensionFieldNames:Oc(t.extensionFieldNames),onWarning:i=>Z_(t.warnings,i)})}catch(i){if(i instanceof v&&i.code==="item_document_invalid")return{raw:r,document:null,error:new v(`Cannot read ${e.id} at ${e.itemPath}${n.length===0?" (zero-length file)":""}: ${i.message}`,i.exitCode,{...i.context,item_id:e.id,item_path:e.itemPath,byte_length:n.length,empty:n.length===0,nextSteps:[`Run pm history ${e.id} --full, then pm restore ${e.id} <version> to recover a recorded state.`]})};throw i}return{raw:r,document:o,error:null}}async function np(e,t,n=Le,r,o){await vt(e);let i=await Pa(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function xc(e,t,n=Le,r,o){await vt(e);let i=await Ma(e,t,n,r,o);return Un(i.length),i.map(s=>s.metadata)}async function jw(e,t,n=Le,r,o,i={}){await vt(e);let s=await tr(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan});return Un(s.length),s.map(a=>({...a.metadata,body:a.body}))}function Rc(e){return{async get(t){let n=await hr(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await yr(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>np(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function rp(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await bt.readdir(ci.join(e,o));for(let s of i)for(let a of cn)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function op(e,t,n,r){let o=Ge(t,n),i=await rp(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:Zt(c,o,s)})).filter(c=>c.distance!==null).sort((c,d)=>c.distance-d.distance).slice(0,3).map(c=>c.id)}async function ip(e,t,n,r){let o=await Cc(e,t,n);if(o)return o;let i=await op(e,t,n,r),s=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return i.length>0&&s.unshift(`Did you mean one of: ${i.join(", ")}?`),new v(`Item ${t} not found`,b.NOT_FOUND,{nextSteps:s})}function sp(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 Ac(e){let t=e.typeToFolder??an(e.settings,ue()).type_to_folder,n=await hr(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await ip(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await V(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 yr(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,d=fs(e.author),l=mr(e.settings);if(a&&c!==d&&!e.force&&!sp(e.op,e.bypassAssigneeConflict)){if(l.ownership_enforcement==="strict")throw new v(`Item ${n.id} is assigned to ${a}. Use --force to override.`,b.CONFLICT);l.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 ap(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 cp(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await X(e.originalItemPath,e.originalRaw),await bt.rm(e.effectiveTargetItemPath,{force:!0});return}await X(e.originalItemPath,e.originalRaw)}}async function Dc(e){mn(e.op);let t=await Ac({pmRoot:e.pmRoot,settings:e.settings,id:e.id,op:e.op,author:e.author,force:e.force,bypassAssigneeConflict:e.bypassAssigneeConflict,extensionFieldNames:e.extensionFieldNames,typeToFolder:e.typeToFolder}),{typeToFolder:n,located:r,originalRaw:o,document:i,warnings:s,releaseLock:a}=t;try{let c=ne(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),d=ne(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=await e.mutate(d);if(e.skipNoop===!0&&l.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...l.warnings??[]]};let f=e.resolveHistoryContext?.();d.metadata.updated_at=we();let m=ne(d,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),p=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:e.op,author:e.author,before:c,after:m});await kr({pm_root:e.pmRoot,operation:e.op,before:c,after:m,changed_fields:l.changedFields,sdk:Rc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",g=Rs(m,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=br(e.pmRoot,m.metadata.type,r.id,y,n),R=le(e.pmRoot,r.id),D=await Ot("item_store_write",{op:e.op,pm_root:e.pmRoot,item_id:r.id,source_item_path:r.itemPath,target_item_path:S,history_path:R,item_format:y,before:c,after:m,contents:g}),{effectiveTargetItemPath:$,effectiveSerializedAfter:x,skipItemWrite:G}=ap(D,S,g),W=await Do(e.pmRoot,e.author),Q=[];try{G||await X($,x),!G&&$!==r.itemPath&&await bt.rm(r.itemPath);let ee=lt({nowIso:m.metadata.updated_at,author:e.author,op:e.op,before:c,after:m,message:e.message,context:p.decisions.length===0?f:{...f,workflow_policies:p.decisions}});try{await ut(R,ee)}catch(ye){throw await cp({skipItemWrite:G,effectiveTargetItemPath:$,originalItemPath:r.itemPath,originalRaw:o}),ye}G||(Q=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:$,previousItemPath:r.itemPath,document:m}))}finally{await W()}let K=[...await fe({path:$,scope:"project",op:e.op,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields}),...await fe({path:R,scope:"project",op:`${e.op}:history`,item_id:m.metadata.id,item_type:m.metadata.type,before:c,after:m,changed_fields:l.changedFields})];return Er({id:m.metadata.id,op:e.op,item_type:m.metadata.type,previous_status:c.metadata.status,status:m.metadata.status,previous:un(c.metadata,l.changedFields),current:un(m.metadata,l.changedFields),changed_fields:l.changedFields}),{item:m.metadata,body:m.body,changedFields:l.changedFields,warnings:[...s,...l.warnings??[],...p.warnings,..._.warnings,...D.warnings,...Q,...K]}}finally{await a()}}async function Fw(e){return Dc(e)}async function $w(e){return Dc(e)}async function Hw(e){let t=await Ac({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=Oc(void 0),c=ne(o,{schema:e.settings.schema,extensionFieldNames:a}),d=await ko({pmRoot:e.pmRoot,settings:e.settings,operation:"delete",author:e.author,before:c,after:null,dryRun:e.dryRun});await kr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Rc({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await ni({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=we(),m=Qe,p=lt({nowIso:f,author:e.author,op:"delete",before:c,after:m,message:e.message,context:d.decisions.length===0?void 0:{workflow_policies:d.decisions}}),_=le(e.pmRoot,n.id),y=await Ot("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:_,before:c}),g=n.itemPath,S=!1;if(y.handled&&typeof y.result=="object"&&y.result!==null){let x=y.result;typeof x.item_path=="string"&&x.item_path.trim().length>0&&(g=x.item_path),x.skip_delete===!0&&(S=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:g,warnings:[...i,...d.warnings,...l.warnings,...y.warnings]};let R=await Do(e.pmRoot,e.author),D=[];try{S||await bt.rm(g);try{await ut(_,p)}catch(x){throw S||await X(g,r),x}S||(D=await No({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:g,document:null}))}finally{await R()}let $=[...await fe({path:g,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]}),...await fe({path:_,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:m,changed_fields:["deleted"]})];return Er({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:un(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...d.warnings,...l.warnings,...y.warnings,...D,...$]}}finally{await s()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5c8194ff-d877-51b8-bd54-d206f85a979c")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2f2a7df8-9c95-5ed1-bd43-33dde57dd7f0")}catch{}})();var dp=["tree","graph","context"],lp=["none","repeated"],up=["outgoing","incoming","both"],fp=32,mp=200,_p=400,pp=16e3;function hp(e){let t=e?.trim().toLowerCase()??"tree";if(dp.includes(t))return t;throw new v(`Invalid --format value "${e}". Use "tree", "graph", or "context".`,b.USAGE)}function wt(e,t){if(e===void 0)return;let n=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(n)||n<1)throw new v(`Invalid --${t} value "${e}". Use a positive integer.`,b.USAGE);return n}function Lc(e){if(e===void 0)return;let t=typeof e=="number"?e:Number(e.trim());if(!Number.isInteger(t)||t<0)throw new v(`Invalid --max-depth value "${e}". Use a non-negative integer.`,b.USAGE);return t}function yp(e){let t=e?.trim().toLowerCase()??"none";if(lp.includes(t))return t;throw new v(`Invalid --collapse value "${e}". Use "none" or "repeated".`,b.USAGE)}function gp(e){let t=e?.trim().toLowerCase()??"both";if(up.includes(t))return t;throw new v(`Invalid --direction value "${e}". Use "outgoing", "incoming", or "both".`,b.USAGE)}function vp(e,t=de()){if(e===void 0)return;let n=(Array.isArray(e)?e:[e]).flatMap(o=>o.split(",")).map(o=>o.trim()).filter(o=>o.length>0);if(n.length===0)return;let r=new Set;for(let o of n){let i=t.resolve(o);if(!i){let s=t.list().map(a=>a.kind).join(", ");throw new v(`Invalid --kind value "${o}". Registered kinds: ${s}.`,b.USAGE)}r.add(i.kind)}return[...r].sort()}function bp(e){if(!e||e.length===0)return[];let t=e.map(({id:r,kind:o})=>({id:r.trim(),kind:o.trim().toLowerCase()})).sort((r,o)=>{let i=r.kind.localeCompare(o.kind);return i!==0?i:r.id.localeCompare(o.id)}),n=new Map;for(let r of t){let o=`${r.kind.toLowerCase()}::${r.id.toLowerCase()}`;n.has(o)||n.set(o,{id:r.id,kind:r.kind})}return[...n.values()]}function wp(e){return{id:e.id,title:e.title,type:e.type,status:e.status,dependencies:bp(e.dependencies)}}function Ep(e){return fn(new TextEncoder().encode(JSON.stringify({...e,dependencies:void 0})).byteLength)}function kp(e,t,n,r,o,i,s,a,c){for(let d of t.dependencies){let l=Math.max(1,Math.ceil(JSON.stringify({from:e.id,to:d.id,kind:d.kind}).length/3));if(a.nodes>=a.nodeLimit){e.truncated=!0,a.reasons.add("node_limit");break}if(a.edges>=a.edgeLimit){e.truncated=!0,a.reasons.add("edge_limit");break}if(a.estimatedTokens+l>=a.tokenBudget){e.truncated=!0,a.reasons.add("token_budget");break}a.edges+=1,a.estimatedTokens+=l,e.dependencies.push(Pc(d.id,n,r,o,i,s,a,c+1,d.kind))}}function Ip(e,t,n,r,o,i,s,a){return s.estimatedTokens>=s.tokenBudget&&t?.dependencies.length?(e.truncated=!0,s.reasons.add("token_budget"),!0):!t||e.cycle?!0:r!==void 0&&a>=r?(t.dependencies.length>0&&(e.truncated=!0,s.reasons.add("max_depth")),!0):o==="repeated"&&i.has(n)?(e.collapsed=!0,!0):!1}function Pc(e,t,n,r,o,i,s,a=0,c){let d=e.trim().toLowerCase(),l=t.get(d),f={id:l?.id??e,title:l?.title,type:l?.type,status:l?.status,via:c,missing:!l,cycle:n.has(d),dependencies:[]};if(s.nodes+=1,s.estimatedTokens+=Ep(f),Ip(f,l,d,r,o,i,s,a))return f;o==="repeated"&&i.add(d);let m=new Set(n);return m.add(d),kp(f,l,t,m,r,o,i,s,a),f}function Nc(e,t){return!e||e.missing&&!t.missing?t:{...e,title:e.title??t.title,type:e.type??t.type,status:e.status??t.status}}function Sp(e){let t=new Map,n=new Map,r=[e];for(;r.length>0;){let a=r.pop();t.set(a.id,Nc(t.get(a.id),{id:a.id,title:a.title,type:a.type,status:a.status,missing:a.missing}));for(let c of a.dependencies){t.set(c.id,Nc(t.get(c.id),{id:c.id,title:c.title,type:c.type,status:c.status,missing:c.missing}));let d=c.via??"related",l=`${a.id}::${c.id}::${d}`;n.has(l)||n.set(l,{from:a.id,to:c.id,kind:d}),c.cycle||r.push(c)}}let o=[...t.values()].sort((a,c)=>a.id.localeCompare(c.id)),i=[...n.values()].sort((a,c)=>{let d=a.from.localeCompare(c.from);if(d!==0)return d;let l=a.to.localeCompare(c.to);return l!==0?l:a.kind.localeCompare(c.kind)}),s=o.filter(a=>a.missing).map(a=>a.id);return{root_id:e.id,nodes:o,edges:i,missing_ids:s}}function Mc(e,t,n){let r=new Set,o=new Set,i=new Set,s=new Set,a=[{id:e,depth:0}],c=0;for(;c<a.length;){let d=a[c++],l=d.id.trim().toLowerCase();r.add(l);let f=t.get(l);if(!f){i.add(l);continue}if(!(n!==void 0&&d.depth>=n)&&!s.has(l)){s.add(l);for(let m of f.dependencies)o.add(`${l}::${m.id.trim().toLowerCase()}::${m.kind}`),a.push({id:m.id,depth:d.depth+1})}}return{node_count:r.size,edge_count:o.size,edge_basis:"deduplicated_directed",missing_count:i.size}}function Tp(e,t=de()){let n=Lc(e.maxDepth),r=wt(e.nodeLimit,"node-limit"),o=wt(e.edgeLimit,"edge-limit"),i=wt(e.tokenBudget,"token-budget"),s=vp(e.kind,t);return{direction:gp(e.direction),...s===void 0?{}:{kinds:s},...n===void 0?{}:{maxDepth:n},...r===void 0?{}:{nodeLimit:r},...o===void 0?{}:{edgeLimit:o},...i===void 0?{}:{tokenBudget:i},...e.cursor?.trim()?{cursor:e.cursor.trim()}:{}}}function Cp(e,t,n,r){return Ka(e.graph,t,e.details.map(o=>o.id===t&&r.length>0?{...o,evidence:r}:o),n)}function di(e,t,n,r){for(let o of n.slice(0,r)){let i=o?.trim();i&&e.push(`${t}:${i}`)}}async function Op(e,t,n,r){let o=await hr(e,t,n.id_prefix,n.item_format,r);if(!o)return[];let{document:i}=await yr(o,{schema:n.schema}),s=i.metadata,a=s.files??[],c=s.tests??[],d=s.docs??[],l=[["files",a.length],["tests",c.length],["docs",d.length],["comments",(s.comments??[]).length],["notes",(s.notes??[]).length],["learnings",(s.learnings??[]).length]];if(l.every(([,m])=>m===0))return[];let f=[`linked:${l.map(([m,p])=>`${m}=${p}`).join(",")}`];return di(f,"file",a.map(m=>m.path),3),di(f,"test",c.map(m=>m.command??m.path),2),di(f,"doc",d.map(m=>m.path),2),f}function xp(e){let{canonicalId:t,context:n,missingCount:r,missingReferences:o,referenceLimit:i,summaryOnly:s}=e;return{id:t,format:"context",node_count:n.nodes.length+1,edge_count:n.edges.length,edge_basis:"deduplicated_directed",missing_count:r,missing_scope:"traversal",missing_reference_count:o.length,...s?{}:{missing_references:o.slice(0,i),context:n}}}function Rp(e){let{row:t,missingReachableSet:n,packetIds:r,filteredKinds:o,registry:i}=e;if(t.no_active_blocker_sentinel||!n.has(t.target_id.trim().toLowerCase())||!r.has(t.holder_id))return!1;if(o===void 0)return!0;let s=i.resolve(t.kind);return s!==void 0&&(o.has(s.kind)||s.inverse!==void 0&&o.has(s.inverse))}function jc(e,t,n){let r;for(;;){let o=fn(new TextEncoder().encode(Cr(Sr("deps",e),t)).byteLength);if(o===r)return o;n(o),r=o}}function Ap(e){return e instanceof TypeError&&e.message.startsWith("Relationship context tokenBudget cannot fit ")}function Dp(e){try{return Cp(e.assembly,e.canonicalId,{...e.contextOptions,...e.internalTokenBudget===void 0?{}:{tokenBudget:e.internalTokenBudget}},e.rootEvidence)}catch(t){if(e.smallestResult!==void 0&&Ap(t))return e.smallestResult;throw t}}function Np(e){let{assembly:t,canonicalId:n,contextOptions:r,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:a,missingReferences:c}=e,l=r.edgeLimit??40,f=r.tokenBudget,m,p;for(;;){let _=Dp({assembly:t,canonicalId:n,contextOptions:r,internalTokenBudget:f,rootEvidence:o,smallestResult:p});if("format"in _)return _;let y=_;m??=y.meta.tokenBudget,f??=m;let g=xp({canonicalId:n,context:y,missingCount:a,missingReferences:c,referenceLimit:l,summaryOnly:i});if(p=g,i||(y.meta.tokenBudget=m,y.meta.usedTokens=jc(Et(g,!1),s,D=>{y.meta.usedTokens=D}),y.meta.usedTokens<=m))return g;if(l>0){l-=1;continue}let S=f,R=S*m/y.meta.usedTokens;f=Math.min(S-1,Math.max(1,Math.floor(R*.9)))}}function Lp(e){let{assembly:t,canonicalId:n,options:r,rootEvidence:o,summaryOnly:i,outputFormat:s}=e,a=Tp(r,t.graph.registry()),c=t.graph.closure(n,{direction:a.direction,...a.kinds===void 0?{}:{kinds:a.kinds},maxDepth:a.maxDepth??3}),d=c.value.filter(y=>t.missingIdSet.has(y.toLowerCase())),l=new Set(d.map(y=>y.toLowerCase())),f=t.graph.registry(),m=a.kinds?new Set(a.kinds.map(y=>f.require(y).kind)):void 0,p=new Set([n,...c.value]),_=[...t.dangling.active,...t.dangling.legacy_terminal].filter(y=>Rp({row:y,missingReachableSet:l,packetIds:p,filteredKinds:m,registry:f}));return Np({assembly:t,canonicalId:n,contextOptions:a,rootEvidence:o,summaryOnly:i,outputFormat:s,missingCount:d.length,missingReferences:_})}function Pp(e){let t=[e],n;for(;t.length>0;){let r=t.pop();r.dependencies.length>0&&(n=r,t.push(...r.dependencies))}return n?(n.dependencies.pop(),n.truncated=!0,!0):!1}function Mp(e,t,n,r,o,i,s){let a=o??fp,c=wt(n.nodeLimit,"node-limit")??mp,d=wt(n.edgeLimit,"edge-limit")??_p,l=wt(n.tokenBudget,"token-budget")??pp,f={nodeLimit:c,edgeLimit:d,tokenBudget:l,nodes:0,edges:0,estimatedTokens:0,reasons:new Set},m=Pc(e,r,new Set,a,t==="graph"?"repeated":i,new Set,f),p=Mc(e,r,void 0),_;for(;;){let y=Sp(m),g=f.reasons.size===0?void 0:{reasons:[...f.reasons].sort(),limits:{max_depth:a,node_limit:c,edge_limit:d,token_budget:l},estimated_tokens:0,total_node_count:p.node_count,total_edge_count:p.edge_count,omitted_node_count:Math.max(0,p.node_count-y.nodes.length),omitted_edge_count:Math.max(0,p.edge_count-y.edges.length)},S={id:e,format:t,node_count:y.nodes.length,edge_count:y.edges.length,edge_basis:"deduplicated_directed",missing_count:y.missing_ids.length,...g?{truncation:g}:{}};if(_=t==="tree"?{...S,tree:m}:{...S,graph:y},(_.truncation===void 0?fn(new TextEncoder().encode(Cr(Sr("deps",Et(_,!1)),s)).byteLength):jc(Et(_,!1),s,D=>{_.truncation.estimated_tokens=D}))<=l)return _;if(!Pp(m))return f.reasons.add("token_budget"),_;f.reasons.add("token_budget")}}function Et(e,t,n={}){let r={name:e.format==="tree"?"dependency_tree":e.format==="graph"?"dependency_graph":"relationship_context",restore_with:"--full"};return{...e,legacy_alias_counts:n,projection:{mode:t?"summary":"full",declared_field_groups:[r],included_field_groups:t?[]:[r.name]}}}async function aE(e,t,n){let r=Ci(process.cwd(),n.path);await ai(r);let o=hp(t.format),i=Lc(t.maxDepth),s=yp(t.collapse);Fi(t.summary===!0,t.full===!0,"--summary");let a=t.summary===!0,c=await kc(r),d=an(c,ue()),l=await xc(r,c.item_format,d.type_to_folder,void 0,c.schema),f=ln(c.schema),m=new Map(l.map(_=>[_.id.trim().toLowerCase(),wp(_)])),p=Ho(l,_=>he(_,f));for(let _ of[...p.active,...p.legacy_terminal]){let y=m.get(_.holder_id.trim().toLowerCase()),g=_.kind.trim().toLowerCase();y&&!y.dependencies.some(S=>S.id.trim().toLowerCase()===_.target_id.trim().toLowerCase()&&S.kind===g)&&y.dependencies.push({id:_.target_id,kind:g})}if(!m.has(e.trim().toLowerCase()))throw new v(`Item ${e} not found`,b.NOT_FOUND);if(o==="context"){let _=m.get(e.trim().toLowerCase()).id,y=a?[]:await Op(r,_,c,d.type_to_folder),g=D=>he(D,f),S=ce(),R=Ga().lookup(r,Va(l,g,S),()=>sr(l,g,S));return Et(Lp({assembly:R.assembly,canonicalId:_,options:t,rootEvidence:y,summaryOnly:a,outputFormat:n.json===!0?"json":"toon"}),a,R.assembly.legacyAliasCounts)}return a?Et({id:e,format:o,...Mc(e,m,i)},!0,Object.fromEntries(Object.entries(sr(l,_=>he(_,f)).legacyAliasCounts))):Et(Mp(e,o,t,m,i,s,n.json===!0?"json":"toon"),!1,Object.fromEntries(Object.entries(sr(l,_=>he(_,f)).legacyAliasCounts)))}export{je as a,xr as b,Fp as c,$p as d,Yi as e,Lr as f,Kp as g,Xp as h,Yp as i,Jp as j,Qp as k,Zp as l,Br as m,Wr as n,os as o,dh as p,lh as q,uh as r,fh as s,mh as t,_h as u,Kr as v,ds as w,ph as x,hh as y,yh as z,yd as A,fs as B,ms as C,bh as D,vd as E,_s as F,ze as G,Ie as H,vs as I,xt as J,Nh as K,Lh as L,nt as M,ps as N,Eh as O,hs as P,bd as Q,kh as R,vn as S,rt as T,he as U,wn as V,In as W,Sn as X,Rs as Y,ne as Z,ql as _,Te as $,at as aa,mu as ba,by as ca,wy as da,Ey as ea,wu as fa,Pn as ga,We as ha,Mt as ia,qy as ja,ho as ka,Fn as la,Qs as ma,Gy as na,ta as oa,Ky as pa,lt as qa,ut as ra,As as sa,ft as ta,$n as ua,og as va,go as wa,Hn as xa,ig as ya,sg as za,sa as Aa,qe as Ba,da as Ca,Oe as Da,qu as Ea,ag as Fa,cg as Ga,Ft as Ha,bo as Ia,Og as Ja,xg as Ka,pa as La,ya as Ma,Rg as Na,ib as Oa,Ae as Pa,mr as Qa,Ec as Ra,kc as Sa,kb as Ta,Ob as Ua,ni as Va,W_ as Wa,ua as Xa,jt as Ya,Ge as Za,pg as _a,Qt as $a,Sc as ab,ri as bb,Tc as cb,Vb as db,nf as eb,of as fb,sf as gb,af as hb,cf as ib,ko as jb,Gg as kb,Zg as lb,ev as mb,tv as nb,Ra as ob,Sf as pb,Do as qb,_v as rb,No as sb,tr as tb,vt as ub,ai as vb,hr as wb,yr as xb,tp as yb,np as zb,xc as Ab,jw as Bb,Rc as Cb,ip as Db,Fw as Eb,$w as Fb,Hw as Gb,Po as Hb,rm as Ib,qt as Jb,rr as Kb,Fa as Lb,om as Mb,im as Nb,sm as Ob,dm as Pb,Pv as Qb,Mv as Rb,bm as Sb,ce as Tb,Ov as Ub,ir as Vb,xv as Wb,gm as Xb,Rv as Yb,Kt as Zb,Em as _b,Im as $b,Ho as ac,Sm as bc,Bv as cc,sr as dc,Va as ec,zo as fc,Ga as gc,Kv as hc,Ka as ic,wt as jc,Lc as kc,gp as lc,vp as mc,aE as nc};
165
+ //# sourceMappingURL=chunk-IWLMQLBO.js.map