@unbrained/pm-cli 2026.8.14 → 2026.8.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CHANGELOG.md +25 -2
  3. package/dist/cli/commander-usage.js +17 -4
  4. package/dist/cli/error-guidance.d.ts +2 -0
  5. package/dist/cli/error-guidance.js +52 -25
  6. package/dist/cli/main.js +3 -2
  7. package/dist/cli/register-mutation.js +4 -2
  8. package/dist/cli/register-operations.js +5 -5
  9. package/dist/cli-bundle/bundle-manifest.json +150 -150
  10. package/dist/cli-bundle/chunks/{chunk-TXMEUUUY.js → chunk-24GAV7XL.js} +2 -2
  11. package/dist/cli-bundle/chunks/{chunk-TMJ7URWS.js → chunk-AIM6VT2N.js} +9 -9
  12. package/dist/cli-bundle/chunks/chunk-DSWDLTDR.js +197 -0
  13. package/dist/cli-bundle/chunks/{chunk-FIW4P64F.js → chunk-J42EGKDK.js} +2 -2
  14. package/dist/cli-bundle/chunks/chunk-KIEGUBYQ.js +2 -0
  15. package/dist/cli-bundle/chunks/{chunk-SBRKH6OR.js → chunk-KLKYLSDX.js} +2 -2
  16. package/dist/cli-bundle/chunks/{chunk-G5JUB66K.js → chunk-LJHOAVGI.js} +59 -59
  17. package/dist/cli-bundle/chunks/{chunk-BFALV3YP.js → chunk-MEM2ZS3O.js} +2 -2
  18. package/dist/cli-bundle/chunks/chunk-QHPCJWEJ.js +35 -0
  19. package/dist/cli-bundle/chunks/{chunk-XAVMOK6B.js → chunk-WLPDLNEZ.js} +2 -2
  20. package/dist/cli-bundle/chunks/{register-list-query-T3EHHNNV.js → register-list-query-CT3LFDDN.js} +2 -2
  21. package/dist/cli-bundle/chunks/{register-mutation-E27WCLSZ.js → register-mutation-NWEVA5YS.js} +3 -3
  22. package/dist/cli-bundle/chunks/register-operations-AHIAG5KM.js +2 -0
  23. package/dist/cli-bundle/chunks/{register-setup-3YXZ444E.js → register-setup-ZJZFVAKE.js} +2 -2
  24. package/dist/cli-bundle/focused-chunks/chunk-4X57RE4U.js +2 -0
  25. package/dist/cli-bundle/focused-chunks/{chunk-XDNAW5OI.js → chunk-6XKF3PGV.js} +2 -2
  26. package/dist/cli-bundle/focused-chunks/chunk-7NJ4QYQ2.js +2 -0
  27. package/dist/cli-bundle/focused-chunks/{chunk-WCVE2NIG.js → chunk-EXZA4257.js} +2 -2
  28. package/dist/cli-bundle/focused-chunks/chunk-ITAUHSO6.js +50 -0
  29. package/dist/cli-bundle/focused-chunks/{chunk-4DQ2YERC.js → chunk-KLVUMNXJ.js} +2 -2
  30. package/dist/cli-bundle/focused-chunks/{chunk-K7RWWOAG.js → chunk-KT5XMYSX.js} +2 -2
  31. package/dist/cli-bundle/focused-chunks/{chunk-PPFGQDSI.js → chunk-KTKH4IMG.js} +2 -2
  32. package/dist/cli-bundle/focused-chunks/chunk-M67F5AIN.js +8 -0
  33. package/dist/cli-bundle/focused-chunks/{chunk-KSEDUWVZ.js → chunk-NSPYTG6G.js} +2 -2
  34. package/dist/cli-bundle/focused-chunks/chunk-OKA6ELTL.js +2 -0
  35. package/dist/cli-bundle/focused-chunks/chunk-PUISBOPP.js +2 -0
  36. package/dist/cli-bundle/focused-chunks/chunk-QLNMCESQ.js +155 -0
  37. package/dist/cli-bundle/focused-chunks/{chunk-LZ4MV3RH.js → chunk-SLKC6QLJ.js} +2 -2
  38. package/dist/cli-bundle/focused-chunks/chunk-U65UC4G3.js +2 -0
  39. package/dist/cli-bundle/focused-chunks/{chunk-KFSZ3BP6.js → chunk-WTSER4WJ.js} +6 -6
  40. package/dist/cli-bundle/focused-chunks/{chunk-YOOI3UZX.js → chunk-ZMFXQ7VF.js} +2 -2
  41. package/dist/cli-bundle/main.js +13 -13
  42. package/dist/cli-bundle/sdk-authoring.js +1 -1
  43. package/dist/cli-bundle/sdk-contracts.js +1 -1
  44. package/dist/cli-bundle/sdk-core.js +32 -35
  45. package/dist/cli-bundle/sdk-governance.js +1 -1
  46. package/dist/cli-bundle/sdk-graph.js +1 -1
  47. package/dist/cli-bundle/sdk-merge.js +32 -31
  48. package/dist/cli-bundle/sdk-query.js +1 -1
  49. package/dist/cli-bundle/sdk-runtime.js +1 -1
  50. package/dist/cli-bundle/sdk-testing.js +1 -1
  51. package/dist/cli-bundle/sdk.js +2 -2
  52. package/dist/core/diagnostics/remediation.js +7 -2
  53. package/dist/core/extensions/reserved-host-flags.js +3 -2
  54. package/dist/core/history/replay.d.ts +14 -1
  55. package/dist/core/history/replay.js +45 -8
  56. package/dist/core/output/output.d.ts +2 -0
  57. package/dist/core/output/output.js +3 -2
  58. package/dist/core/shared/command-types.d.ts +2 -0
  59. package/dist/core/shared/command-types.js +2 -2
  60. package/dist/core/shared/errors.d.ts +12 -0
  61. package/dist/core/shared/errors.js +2 -2
  62. package/dist/mcp/tool-definitions.js +9 -5
  63. package/dist/sdk/agent/refusal-reachability.d.ts +61 -0
  64. package/dist/sdk/agent/refusal-reachability.js +91 -3
  65. package/dist/sdk/cli-bootstrap.d.ts +2 -0
  66. package/dist/sdk/cli-bootstrap.js +7 -2
  67. package/dist/sdk/cli-contracts/completeness.js +3 -2
  68. package/dist/sdk/cli-contracts/flag-contracts.js +3 -2
  69. package/dist/sdk/cli-contracts/registration-helpers.js +3 -2
  70. package/dist/sdk/cli-contracts/runtime-contracts.d.ts +5 -0
  71. package/dist/sdk/cli-contracts/runtime-contracts.js +23 -7
  72. package/dist/sdk/cli-contracts/tool-parameter-tables.js +15 -5
  73. package/dist/sdk/cli-contracts/tool-schema.js +10 -3
  74. package/dist/sdk/cli-program.js +3 -2
  75. package/dist/sdk/core.d.ts +2 -2
  76. package/dist/sdk/core.js +3 -3
  77. package/dist/sdk/generated/generated-error-code-catalog-part-1.js +26 -2
  78. package/dist/sdk/generated/generated-error-code-catalog-part-2.js +50 -26
  79. package/dist/sdk/governance/assurance-action.d.ts +7 -1
  80. package/dist/sdk/governance/assurance-action.js +7 -6
  81. package/dist/sdk/governance/assurance-mutation-error.d.ts +42 -1
  82. package/dist/sdk/governance/assurance-mutation-error.js +27 -3
  83. package/dist/sdk/governance/assurance-runtime.js +12 -11
  84. package/dist/sdk/governance/assurance.d.ts +9 -0
  85. package/dist/sdk/governance/assurance.js +80 -14
  86. package/dist/sdk/governance/extension-host-version.d.ts +25 -0
  87. package/dist/sdk/governance/extension-host-version.js +105 -0
  88. package/dist/sdk/governance/health.d.ts +32 -1
  89. package/dist/sdk/governance/health.js +119 -27
  90. package/dist/sdk/governance/provenance-health.d.ts +27 -0
  91. package/dist/sdk/governance/provenance-health.js +95 -3
  92. package/dist/sdk/governance/validate.js +7 -8
  93. package/dist/sdk/governance.d.ts +6 -0
  94. package/dist/sdk/governance.js +8 -2
  95. package/dist/sdk/history-repair.d.ts +13 -1
  96. package/dist/sdk/history-repair.js +62 -18
  97. package/dist/sdk/linked-artifacts.js +16 -5
  98. package/dist/sdk/pagination.d.ts +15 -0
  99. package/dist/sdk/pagination.js +9 -5
  100. package/dist/sdk/query/context.d.ts +5 -1
  101. package/dist/sdk/query/context.js +14 -5
  102. package/dist/sdk/read-output/continuation.d.ts +11 -0
  103. package/dist/sdk/read-output/continuation.js +132 -0
  104. package/dist/sdk/read-output-budget.d.ts +1 -1
  105. package/dist/sdk/read-output-budget.js +14 -10
  106. package/dist/sdk/read-output-contracts.d.ts +66 -2
  107. package/dist/sdk/read-output-contracts.js +183 -19
  108. package/dist/sdk/read-output-rows.d.ts +2 -0
  109. package/dist/sdk/read-output-rows.js +15 -2
  110. package/dist/sdk/runtime-input.js +4 -2
  111. package/docs/ASSURANCE.md +59 -2
  112. package/docs/COMMANDS.md +8 -2
  113. package/docs/READ_OUTPUT_CONTRACTS.md +49 -8
  114. package/docs/RELEASING.md +42 -5
  115. package/docs/SDK_CONTEXT_INTEGRITY.md +64 -2
  116. package/marketplace.json +2 -2
  117. package/package.json +3 -3
  118. package/packages/pm-beads/package.json +1 -1
  119. package/packages/pm-calendar/package.json +1 -1
  120. package/packages/pm-command-kit/package.json +1 -1
  121. package/packages/pm-digital-twin/package.json +1 -1
  122. package/packages/pm-governance-audit/package.json +1 -1
  123. package/packages/pm-guide-shell/package.json +1 -1
  124. package/packages/pm-kanban/package.json +1 -1
  125. package/packages/pm-lifecycle-hooks/package.json +1 -1
  126. package/packages/pm-linked-test-adapters/package.json +1 -1
  127. package/packages/pm-search-advanced/package.json +1 -1
  128. package/packages/pm-templates/package.json +1 -1
  129. package/packages/pm-todos/package.json +1 -1
  130. package/packages/pm-vcs/package.json +1 -1
  131. package/plugins/pm-claude/.claude-plugin/plugin.json +1 -1
  132. package/plugins/pm-codex/.codex-plugin/plugin.json +1 -1
  133. package/sdk/public-surface.json +1133 -187
  134. package/dist/cli-bundle/chunks/chunk-BBOFSVAK.js +0 -197
  135. package/dist/cli-bundle/chunks/chunk-YAMTJL6Y.js +0 -34
  136. package/dist/cli-bundle/chunks/chunk-YSVSMJ2B.js +0 -2
  137. package/dist/cli-bundle/chunks/register-operations-4R6I7CPY.js +0 -2
  138. package/dist/cli-bundle/focused-chunks/chunk-F43TT2QQ.js +0 -8
  139. package/dist/cli-bundle/focused-chunks/chunk-KYUQGTSB.js +0 -2
  140. package/dist/cli-bundle/focused-chunks/chunk-PGXJQLCT.js +0 -155
  141. package/dist/cli-bundle/focused-chunks/chunk-Q4YY3XNF.js +0 -2
  142. package/dist/cli-bundle/focused-chunks/chunk-QK753U3U.js +0 -46
  143. package/dist/cli-bundle/focused-chunks/chunk-QUMB2J27.js +0 -2
  144. package/dist/cli-bundle/focused-chunks/chunk-SM7MTG27.js +0 -2
  145. package/dist/cli-bundle/focused-chunks/chunk-ZM6TZVHC.js +0 -2
@@ -0,0 +1,155 @@
1
+ import{F as Zr,Ia as It,K as St,Ka as Je,Ma as Ke,Na as Ye,O as vn,P as Sn,Pa as fo,Q as In,Qa as mo,R as Xe,Ra as _o,S as eo,Sa as po,T as to,Ta as yo,Ua as ho,Y as no,Z as ro,a as yt,h as kt,o as Yr,p as vt,r as ge,s as se,t as U,ta as oo,u as Ge,ua as io,va as so,wa as ao,xa as co,ya as lo,z as Qr,za as uo}from"./chunk-KT5XMYSX.js";import{C as wt,D as Et,E as kn,G as Jr,R as he,S as ie,T as Kr,W as b,X as Oe,Y as I,Z as T,aa as B,ba as Ae,ca as be,da as k,n as ht,o as Br,p as Vr,q as qr,r as Gr,v as gt,w as bt,x as Xr}from"./chunk-OKA6ELTL.js";import{AsyncLocalStorage as Ws}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="16109ee9-e684-5d25-a5f4-30a6c4f62bd5")}catch{}})();var xn=new Ws,go=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function xt(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function we(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=xt(n.id,128),o=xt(n.parent_id,128);if(r===void 0||!go.test(r)||o!==void 0&&!go.test(o)){if(t)throw new Error("Agent episode ids must be 1-128 letters, digits, dots, underscores, colons, or hyphens.");return}let i=xt(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Ce(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=xt(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Bs(e,t,n){let r=xn.getStore(),o=Ce({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=we(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={...Ce(r?.provenance),...o,...Ce(e?.provenance)},a=we(e?.episode,!1)??we(n,!1)??i??we(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 Tn(e,t){return Bs(e.session_context,t,e.client_info?.episode)??{}}function Af(e,t){let n=xn.getStore(),r=we(e.episode,!0),o=we(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Ce(n?.provenance),...Ce(e.provenance)};return xn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Cf(e){let t=Ce(e.provenance),n=we(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 Fn}from"node:async_hooks";import{createHash as Js}from"node:crypto";import Ot from"node:fs";import Ks from"node:os";import vo from"node:path";import{createHash as bo}from"node:crypto";import{existsSync as On,promises as wo,readFileSync as Vs}from"node:fs";import J from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="424b9eb3-6b34-5ab0-a3f5-db61fbca12cf")}catch{}})();var qs="session.json";function An(e,t){return typeof e=="string"&&e.length>0&&e.length<=t}function Eo(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=An(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=>An(c,128)),a=t.focused_item_id===void 0||An(t.focused_item_id,128);if([n,r,o,i,s,a,t.rule_version==="v2"].every(Boolean))return t}function Gs(e){if(e===null||typeof e!="object"||Array.isArray(e))return;let t=Object.entries(e).slice(0,128).flatMap(([n,r])=>{let o=Eo(r);return o&&n.length<=128?[[n,o]]:[]});return t.length>0?Object.fromEntries(t):void 0}function Cn(e){return J.join(to(e),qs)}async function Tt(e){try{let t=await wo.readFile(Cn(e),"utf8"),n=JSON.parse(t);if(n===null||typeof n!="object"||Array.isArray(n))return{};let r=n,o=r.focused_item,i=Gs(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 Rn(e,t){let n=Cn(e);await wo.mkdir(J.dirname(n),{recursive:!0}),await U(n,JSON.stringify(t))}function Nn(e){return/#([a-f0-9]{24})$/u.exec(e.trim())?.[1]??`author-${bo("sha256").update(e).digest("hex").slice(0,24)}`}function Dn(e){return[...new Set(e.map(t=>t.trim()).filter(Boolean))].slice(0,32).map(t=>t.slice(0,128))}function Mn(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)}+${bo("sha256").update(t.join("\0")).digest("hex").slice(0,12)}`}async function Pn(e,t,n){let r=await Tt(e),o={...r.semantic_attribution},i=n(o[t]);i===void 0?delete o[t]:o[t]=i;let s={...r};Object.keys(o).length===0?delete s.semantic_attribution:s.semantic_attribution=o,await Rn(e,s)}async function jf(e){let t=Nn(e.principal);await Pn(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??Mn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Dn([...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 Ff(e){let t=Nn(e.principal);await Pn(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??Mn(r),confidence:o?"high":"medium",evidence:Dn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],`release:${e.itemId}`]),active_item_ids:r}})}async function $f(e){let t=Nn(e.principal);await Pn(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??Mn(r),confidence:o?"high":"medium",rule_version:"v2",evidence:Dn([...r.map(i=>`claim:${i}`),...o?[`focus:${o}`]:[],...(e.lineageIds??[]).map(i=>`lineage:${i}`)]),active_item_ids:r,...o?{focused_item_id:o}:{}}})}function Xs(e,t){let n=t.PM_PATH?.trim();if(n){let o=J.resolve(e,n);if(On(J.join(o,"settings.json")))return o;let i=J.join(o,".agents","pm");if(On(J.join(i,"settings.json")))return i}let r=J.resolve(e);for(let o=0;o<32;o+=1){let i=J.join(r,".agents","pm");if(On(J.join(i,"settings.json")))return i;let s=J.dirname(r);if(s===r)break;r=s}}function ko(e){if(!e.key)return;let t=Xs(e.cwd,e.env);if(t)try{let n=JSON.parse(Vs(Cn(t),"utf8"));return Eo(n.semantic_attribution?.[e.key])}catch{return}}async function zf(e){return(await Tt(e)).focused_item}async function Uf(e,t){let n=await Tt(e);await Rn(e,{...n,focused_item:t})}async function Hf(e){let n={...await Tt(e)};delete n.focused_item,await Rn(e,n)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e0ab2d6f-0925-540d-8d24-a7f0687b4bf0")}catch{}})();var $n=["model","effort","role","topic","version"],Ct=new Fn,So=new Fn,Rt=new Fn,Ys=[{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:{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:[]}],Re=new Map,Ln=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function M(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 Nt(e){let t=e.harness.trim().toLowerCase();if(!Ln.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])=>Ln.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"&&Ln.test(n[0])&&(n[1]==="ai_agent_version"||n[1]==="claude_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 Io=Ys.map(Nt);function Qs(e,t){return JSON.stringify(e)===JSON.stringify(t)}function At(e,t){return e.toLowerCase().slice(0,512).split(/[/\\\s:=]+/u).filter(r=>r.length>0).includes(t)||e.trim().toLowerCase()===t}function zn(e=[]){let t=[...Io,...[...Re.values()].map(r=>r.descriptor),...Rt.getStore()?.descriptors??[],...e.map(Nt)],n=new Set;for(let r of t){if(n.has(r.harness))throw new Error(`Harness signal descriptor collision for "${r.harness}"`);n.add(r.harness)}return t}function Un(e,t){for(let n of t??[]){let r=M(e[n]);if(r)return r.slice(0,256)}}function Zs(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 xo(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 M(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return M(i.slice(s.length+1))?.slice(0,256)}}var ea=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function ke(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return ea.has(n)?n:void 0}function jn(e,t){return M(e?.[t])?.slice(0,256)}var ta=1048576;function na(e,t){if(e.length===0||e.length>262144)return;let n;try{n=JSON.parse(e)}catch{return}if(typeof n!="object"||n===null)return;let r=n,o=typeof r.message=="object"&&r.message!==null?r.message:void 0,i=t==="model"?o?.model:r.version;return M(i)?.slice(0,256)}function ra(e,t,n){let r=M(n.CLAUDE_CODE_SESSION_ID);if(!r||!/^[A-Za-z0-9_-]{1,128}$/u.test(r))return;let i=vo.resolve(t.cwd??process.cwd()).replaceAll(/[^A-Za-z0-9-]/gu,"-"),s=vo.join(t.home_dir??Ks.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=Ot.openSync(s,"r");try{let c=Ot.fstatSync(a).size,l=Math.min(c,ta),f=Buffer.alloc(l);Ot.readSync(a,f,0,l,Math.max(0,c-l));let u=f.toString("utf8").split(`
2
+ `).reverse();for(let _ of u.slice(0,4096)){let y=na(_,e);if(y)return y}return}finally{Ot.closeSync(a)}}catch{return}}function oa(e,t,n,r){let o=Rt.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(M(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return ra(e,t,n);if(s==="ai_agent_version"){let a=M(n.AI_AGENT);return!a||!r||!At(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function ia(e,t,n){if(e==="ai_agent_version"){let r=M(n.AI_AGENT);return r!==void 0&&At(r,t.harness)}return M(n.CLAUDE_CODE_SESSION_ID)!==void 0}function Hn(e){return e||(So.getStore()??{env:process.env,argv:process.argv})}function sa(e,t,n,r){let o=e.environment_keys.some(a=>M(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return At(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||At(r,a));return o||i||s}function aa(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 ca(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function da(e,t,n,r,o,i){let s=`PM_AGENT_${e.toUpperCase().replaceAll("-","_")}`,a=new Set([...$n,...Object.keys(r?.provenance_environment_keys??{})]),c,l,f;a.has(e)&&(c=ke(e,M(n[s])?.slice(0,256)),f=ke(e,xo(t.argv??[],e)),l=ke(e,Zs(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},_={...t.client_info?.provenance,model:t.client_info?.model},y=jn(o?.provenance,e),w=ke(e,Un(n,u[e])),S=ke(e,jn(_,e)),E=ke(e,jn(t.provenance,e)),C=oa(e,t,n,r);return ca([[c,"override"],[y,"session"],[f,"argv"],[w,"environment"],[S,"mcp_client"],[E,"host"],[C,"probe"]])??aa(e,i)??(l?{value:l,source:"argv"}:void 0)}function la(e,t){if(!(!e||!t))return Js("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function ua(e,t,n,r,o){let i=Object.keys(n?.provenance_environment_keys??{}),s=new Set([...$n,...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 l=da(c,e,t,n,r,o);l?a[c]=l:n&&(c!=="version"||n.provenance_unavailable_dimensions.includes(c))&&(a[c]=null)}return a}function Yf(e){let t=e.map(Nt),n=new Map(Io.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=Re.get(i.harness);if(s&&!Qs(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Re.get(i.harness);Re.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=Re.get(i.harness);!s||s.registrations<=1?Re.delete(i.harness):s.registrations-=1}}}}function Qf(e,t){return So.run(e,t)}function Zf(e,t,n={}){let r=e.map(Nt);return zn(r),Rt.run({descriptors:r,probesEnabled:n.probesEnabled!==!1},t)}function Wn(e){let t=Hn(e),n=t.env??{},r=zn(t.descriptors),o=[...(t.argv??[]).slice(0,3),...t.process_labels??[]].slice(0,64).map(w=>w.slice(0,512)),i=t.client_info?.name.trim().toLowerCase()??"",s=r.find(w=>sa(w,n,o,i)),a=Tn(t,n),c=[Un(n,s?.session_environment_keys),M(t.client_info?.session)?.slice(0,256)].find(w=>w!==void 0),l=la(s?.harness,c),f=ko({cwd:t.cwd??process.cwd(),env:n,key:l}),u=ua(t,n,s,a,f),_=u.model,y=[["harness",s?.harness],["model",_?.value],["model_source",_?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(y.filter(w=>w[1]!==void 0))}function fa(e,t,n,r,o,i){let s=n?.provenance_resolvers[e];if(t.provenance?.[e])return{status:"resolved",...s?{resolver:s}:{},rule_version:"v1"};if(i)return{status:"unavailable",reason:"invalid_value",rule_version:"v1"};if(s){let a=ia(s,n,r);return{status:a&&o?"failed":"unavailable",reason:a?o?"resolver_failed":"probes_disabled":"harness_unavailable",resolver:s,rule_version:"v1"}}return{status:n?.provenance_unavailable_dimensions.includes(e)?"unavailable":"not_configured",reason:n?.provenance_unavailable_dimensions.includes(e)?"harness_unavailable":"resolver_not_configured",rule_version:"v1"}}function To(e){let t=Hn(e),n=Wn(t),r=zn(t.descriptors).find(l=>l.harness===n.harness),o=t.env??{},i=t.probes_enabled!==!1&&Rt.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(M(o.PM_AGENT_PROBES)?.toLowerCase()??""),s=Tn(t,o),a=[o.PM_AGENT_ROLE,s.provenance?.role,Un(o,r?.provenance_environment_keys.role),t.client_info?.provenance?.role,t.provenance?.role,xo(t.argv??[],"role")].some(l=>{let f=M(l)?.slice(0,256);return f!==void 0&&ke("role",f)===void 0}),c=Object.fromEntries($n.map(l=>[l,fa(l,n,r,o,i,l==="role"&&a)]));return{...n,provenance_outcomes:c}}function em(){return process.env.PM_AUTHOR}function tm(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function nm(e){return Wn(e).harness}function ma(e,t,n){let r=Hn(n),o=Wn(r);if(e!==void 0){let s=M(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=M(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=M(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function Oo(e){let t=Ct.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Ao(e){let t=Ct.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 Co(e){let t=Ct.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ro(e,t){let n=ma(e,t);return Ct.enterWith(n),n.author}import _a from"node:crypto";import{AsyncLocalStorage as pa}from"node:async_hooks";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cc84ae55-6dc4-57d4-b7de-c43ae1fb4603")}catch{}})();var Do=new pa,No=1024;function Mo(){let e=Do.getStore();if(e===void 0)return;let t=new Date(Date.parse(e.clock)+e.clockReads*e.tickMs).toISOString();return e.clockReads+=1,t}function Po(e){let t=Do.getStore();if(t===void 0)return;if(!Number.isSafeInteger(e)||e<0||e>No)throw new Error(`Reproducible token length must be an integer between 0 and ${No}`);let n="";for(;n.length<e;){let r=_a.createHash("sha256").update(`${t.seed}\0${t.tokenReads}`).digest();t.tokenReads+=1;for(let o of r)if(n+=(o%36).toString(36),n.length===e)break}return n}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="6be1497f-a0d5-518b-bf6a-e549b18fad8a")}catch{}})();var ya=/^([+-]?)(\d+)([hdwm])$/i,ha=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,ga=/^(\d{4})(\d{2})(\d{2})$/,ba=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,wa=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})-(\d{2})(?:-(\d{2}))?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,Ea=/^(\d{4}-\d{2}-\d{2})[T\s](\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i;function ve(){return Mo()??new Date().toISOString()}function ae(e){return Number.isFinite(Date.parse(e))}var ka=1e4,Dt=new Map;function Lo(e){let t=Dt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Dt.size>=ka&&It(Dt),Dt.set(e,n),n}function $(e,t){let n=Lo(e),r=Lo(t);return Number.isFinite(n)&&Number.isFinite(r)&&n!==r?n-r:e.localeCompare(t)}function um(e,t){return!(t.deadlineBefore&&(!e.deadline||$(e.deadline,t.deadlineBefore)>0)||t.deadlineAfter&&(!e.deadline||$(e.deadline,t.deadlineAfter)<0)||t.updatedAfter&&$(e.updated_at,t.updatedAfter)<0||t.updatedBefore&&$(e.updated_at,t.updatedBefore)>0||t.createdAfter&&$(e.created_at,t.createdAfter)<0||t.createdBefore&&$(e.created_at,t.createdBefore)>0)}function Bn(e){return e?`.${e.slice(1).padEnd(3,"0").slice(0,3)}`:""}function Vn(e){if(!e)return"";if(e.toUpperCase()==="Z")return"Z";let t=/^([+-]\d{2})(\d{2})$/.exec(e);return t?`${t[1]}:${t[2]}`:e}function va(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function Sa(e){let t=[],n=l=>va(t,e,l),r=ga.exec(e);if(r){let[,l,f,u]=r;n(`${l}-${f}-${u}`)}let o=ba.exec(e);if(o){let[,l,f,u,_,y,w,S,E]=o,C=w?`:${w}`:"";n(`${l}-${f}-${u}T${_}:${y}${C}${Bn(S)}${Vn(E)}`)}let i=wa.exec(e);if(i){let[,l,f,u,_,y,w]=i,S=_?`:${_}`:"";n(`${l}T${f}:${u}${S}${Bn(y)}${Vn(w)}`)}let s=Ea.exec(e);if(s){let[,l,f,u,_,y,w]=s,S=_?`:${_}`:"";n(`${l}T${f}:${u}${S}${Bn(y)}${Vn(w)}`)}let a=10,c=e.slice(0,a);if(xa(c)){let l=a;for(;l<e.length&&Ta(e[l]);)l+=1;l<e.length&&n(`${c}T${e.slice(l)}`)}return t}function Ia(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of Sa(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function xa(e){if(e.length!==10)return!1;for(let t=0;t<e.length;t+=1){let n=e[t];if(t===4||t===7){if(n!=="-")return!1;continue}let r=n.charCodeAt(0);if(r<48||r>57)return!1}return!0}function Ta(e){return e?e===" "||e===" "||e===`
3
+ `||e==="\r"||e==="\f"||e==="\v":!1}function jo(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}var Oa=["January","February","March","April","May","June","July","August","September","October","November","December"],Aa=/^(\d{4})-(\d{2})-(\d{2})/,Ca=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Ra(e,t,n){let r=Aa.exec(t)??Ca.exec(t);if(!r)return;let o=Number.parseInt(r[1],10),i=Number.parseInt(r[2],10),s=Number.parseInt(r[3],10),a=n?.trim()||"deadline";if(i<1||i>12)throw new T(`Invalid ${a} value "${e}". Month "${r[2]}" is out of range \u2014 use a month between 01 and 12.`,I.USAGE);let c=jo(o,i-1);if(s<1||s>c)throw new T(`Invalid ${a} value "${e}". ${Oa[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Na(e,t){let n=new Date(e.getTime()),r=n.getUTCDate(),o=n.getUTCMonth()+t,i=n.getUTCFullYear()+Math.floor(o/12),s=(o%12+12)%12,a=Math.min(r,jo(i,s));return n.setUTCFullYear(i,s,a),n}function fm(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=ya.exec(r);if(o){let s=o[1]==="-"?-1:1,a=Number.parseInt(o[2],10)*s,c=o[3].toLowerCase();if(c==="m")return Na(t,a).toISOString();let l=c==="h"?3600*1e3:c==="d"?1440*60*1e3:10080*60*1e3;return new Date(t.getTime()+a*l).toISOString()}Ra(e,r,n);let i=Ia(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=ha.test(r)?"Compound relative expressions like +3d+1h are not supported; use a single relative token (for example +3d) or an ISO/date string.":'Use ISO/date string input, "now", or relative +6h/-6h/+1d/-1d/+2w/-2w/+6m/-6m.';throw new T(`Invalid ${s} value "${e}". ${a}`,I.USAGE)}return new Date(i).toISOString()}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="77d3ebfa-789a-54cf-9d49-dbebab8d32ea")}catch{}})();var Ne=1,Fo=1;function _m(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ne?t:Ne}function $o(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ne))return e}function Da(e,t=Fo){return e<t?"outdated":e>t?"ahead":"current"}function pm(e,t=Fo){let n=[],r=[];for(let o of e){let i=Da(o.version,t);i==="outdated"?n.push(o.ref):i==="ahead"&&r.push(o.ref)}return{outdated:n.sort((o,i)=>o.localeCompare(i)),ahead:r.sort((o,i)=>o.localeCompare(i))}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="d7501aa2-d3d9-5fbe-a1c0-d4bc145f5563")}catch{}})();var Ma={"in-progress":"in_progress",cancelled:"canceled"};function Mt(e,t){if(t){let o=po(e,t);if(o)return o}if(typeof e!="string")return;let n=e.trim().toLowerCase();if(!n)return;let r=Ma[n]??n;if(ht.includes(r))return r}function Pa(e,t){return Mt(e,t)??e}function bm(e,t){return t.terminal_statuses.has(Pa(e,t))}import{encode as Ha}from"@toon-format/toon";import{isDeepStrictEqual as Bo}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]="9bef4fe4-11a8-51ae-a42a-a93cc9c57384")}catch{}})();function qn(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 La(e){return[...new Set([ho(e),qn(e.key),qn(e.cli_flag),...e.cli_aliases.map(t=>qn(t))])]}function Ho(e,t){for(let n of La(t)){if(!Object.hasOwn(e,n))continue;let r=e[n];if(r!==void 0)return r}}function Wo(e){return Array.isArray(e)?e.flatMap(t=>Wo(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 zo(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 T(`${t} must be one of true|false|1|0|yes|no`,I.USAGE)}function Uo(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 T(`${t} must be a number`,I.USAGE);return r}function ja(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 T(`${t} must be valid JSON ${n}`,I.USAGE)}function Qe(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:ja(i,r,e.type)}if(e.repeatable||e.type==="string_array"){let i=Wo(t);return e.type==="number"?i.map(s=>Uo(s,r)):e.type==="boolean"?i.map(s=>zo(s,r)):i}let o=Array.isArray(t)?t[t.length-1]:t;if(o!==void 0)return e.type==="number"?Uo(o,r):e.type==="boolean"?zo(o,r):typeof o=="string"?o:String(o)}function Fa(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 Sm(e,t,n){let r={},o=[];for(let i of t.command_to_fields.get("create")??[]){let s=Ho(e,i);if(s===void 0){Fa(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=Qe(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Im(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=Ho(e,s);a!==void 0&&(i.has(s.metadata_key)||(i.add(s.metadata_key),r[s.metadata_key]=Qe(s,a)))}return r}import{decode as $a}from"@toon-format/toon";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2840e12e-7444-5d36-9f54-5a56267bbb75")}catch{}})();function Gn(e){return{value:$a(e),usedScalarBracketEscape:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="fedb7b50-6946-589d-b240-9f074e09e467")}catch{}})();var za=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function Ua(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(za);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Pt(e){return Ua(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]="eaf0e260-a864-57cf-b23b-aac4f9151d8e")}catch{}})();var Wa=new Set(["schema","tracker","auto"]),Ba=new Set(["passed","failed","stopped","canceled"]),Va=new Set(Jr);function Pe(e){return e.replaceAll("\\","/")}function Go(e){for(let t of e)if(t!==0)return t;return 0}function Lt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Xo=["id","title","description","created_at","updated_at"],qa=new Set(ie);function Jo(e){if(e?.schema)return{statusRegistry:_o(e.schema),fieldRegistry:yo(e.schema),unknownFieldPolicy:e.schema.unknown_field_policy??"allow",extensionFieldNames:new Set(e.extensionFieldNames??[]),onWarning:e.onWarning}}function Ga(e,t){return e.required?e.required_types.length===0?!0:e.required_types.map(n=>n.toLowerCase()).includes(t.trim().toLowerCase()):!1}function ce(e){let t=e.match(/^([a-z_][\w.]*)\s/u)?.[1];throw new T(`Invalid item metadata: ${e}`,I.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 tt(e,t){throw new T(t,I.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 Ko(e){let t=new Set(qa);for(let n of e.fieldRegistry?.definitions??[])t.add(n.metadata_key);for(let n of e.extensionFieldNames)t.add(n);return t}function g(e,t){e||ce(t)}function nt(e,t){return(typeof e!="object"||e===null||Array.isArray(e))&&ce(t),e}function Xn(e,t){let n=e[t];g(typeof n=="string",`${t} must be a string`),g(ae(n),`${t} must be a valid ISO timestamp`)}function Vo(e,t,n){let r=e[t];r!==void 0&&g(typeof r=="number"&&Number.isInteger(r)&&r>=1,`${n} must be an integer >= 1`)}function Yn(e,t,n){let r=e[t];r!==void 0&&(g(typeof r=="string",`${n} must be a string`),g(ae(r),`${n} must be a valid ISO timestamp`))}function Xa(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_weekday must be an array");for(let t of e){g(typeof t=="string","event.recurrence.by_weekday entries must be strings");let n=t.trim().toLowerCase();g(Et.includes(n),`event.recurrence.by_weekday entries must be one of: ${Et.join(", ")}`)}}}function Ja(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.by_month_day must be an array");for(let t of e)g(typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=31,"event.recurrence.by_month_day entries must be integers 1..31")}}function Ka(e){if(e!==void 0){g(Array.isArray(e),"event.recurrence.exdates must be an array");for(let t of e)g(typeof t=="string","event.recurrence.exdates entries must be strings"),g(ae(t),"event.recurrence.exdates entries must be valid ISO timestamps")}}function Ya(e){let t=nt(e,"event.recurrence must be an object");g(typeof t.freq=="string","event.recurrence.freq must be a string");let n=t.freq.trim().toLowerCase();g(wt.includes(n),`event.recurrence.freq must be one of: ${wt.join(", ")}`),Vo(t,"interval","event.recurrence.interval"),Vo(t,"count","event.recurrence.count"),Yn(t,"until","event.recurrence.until"),Xa(t.by_weekday),Ja(t.by_month_day),Ka(t.exdates)}function Qa(e){for(let r of Xo)g(typeof e[r]=="string",`${r} is required and must be a string`);let t=e.type;g(typeof t=="string"&&t.trim().length>0,"type must be a non-empty string");let n=e.pm_format_version;return n!==void 0&&g(typeof n=="number"&&Number.isInteger(n)&&n>=Ne,`pm_format_version must be an integer >= ${Ne}`),t}function Za(e,t){let n=e.status;g(typeof n=="string"&&n.trim().length>0,"status must be a non-empty string");let r=t?.statusRegistry,o=Mt(n,r),i=r?r.definitions.map(s=>s.id):[...ht];g(o!==void 0,`status must be one of: ${i.join(", ")}`)}function ec(e){let t=e.priority;g(typeof t=="number"&&Number.isInteger(t)&&[0,1,2,3,4].includes(t),"priority must be an integer 0..4");let n=e.tags;g(Array.isArray(n),"tags must be an array");for(let r of n)g(typeof r=="string","tags entries must be strings")}function tc(e){let t=e.confidence;if(t!==void 0){if(typeof t=="number"){g(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"||bt.includes(n);g(r,`confidence string value must be one of: ${[...bt,"med"].join(", ")}`);return}g(!1,"confidence must be a number or string")}}function nc(e){let t=e.severity;if(t===void 0)return;typeof t!="string"&&ce("severity must be a string");let n=t.trim().toLowerCase(),r=n==="med"||gt.includes(n);g(r,`severity value must be one of: ${[...gt,"med"].join(", ")}`)}function rc(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ce("regression must be a boolean")}function oc(e){let t=e.reminders;if(t!==void 0){g(Array.isArray(t),"reminders must be an array");for(let n of t){let r=nt(n,"reminders entries must be objects");g(typeof r.at=="string","reminder.at must be a string"),g(ae(r.at),"reminder.at must be a valid ISO timestamp"),g(typeof r.text=="string","reminder.text must be a string"),g(r.text.trim().length>0,"reminder.text must not be empty")}}}function ic(e){for(let t of["title","description","location","timezone"])e[t]!==void 0&&(g(typeof e[t]=="string",`event.${t} must be a string`),g(e[t].trim().length>0,`event.${t} must not be empty`))}function sc(e){e.recurrence!==void 0&&(Ya(e.recurrence),e.recurrence.until!==void 0&&g($(e.recurrence.until,e.start_at)>=0,"event.recurrence.until must be at or after event.start_at"))}function ac(e){let t=nt(e,"events entries must be objects");g(typeof t.start_at=="string","event.start_at must be a string"),g(ae(t.start_at),"event.start_at must be a valid ISO timestamp"),t.end_at!==void 0&&(g(typeof t.end_at=="string","event.end_at must be a string"),g(ae(t.end_at),"event.end_at must be a valid ISO timestamp"),g($(t.end_at,t.start_at)>0,"event.end_at must be after event.start_at")),ic(t),t.all_day!==void 0&&g(typeof t.all_day=="boolean","event.all_day must be a boolean"),sc(t)}function cc(e){let t=e.events;if(t!==void 0){g(Array.isArray(t),"events must be an array");for(let n of t)ac(n)}}function dc(e){for(let t of["source_type","source_owner","design","external_ref"]){let n=e[t];n!==void 0&&g(typeof n=="string",`${t} must be a string`)}}function lc(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))g(r.trim().length>0,"type_options keys must be non-empty"),g(typeof o=="string","type_options values must be strings"),g(o.trim().length>0,"type_options values must be non-empty strings")}function uc(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){Ga(r,t)&&ce(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Qe(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ce(String(i?.message).replace(/^Invalid\s+/u,""))}}}function fc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ko(t),r=Object.keys(e).filter(o=>!n.has(o)).sort((o,i)=>o.localeCompare(i));r.length!==0&&(t.unknownFieldPolicy==="reject"?ce(`unknown schema fields are not allowed: ${r.join(", ")}`):t.onWarning?.(`item_unknown_schema_fields:${r.join(",")}`))}function Qn(e,t){let n=nt(e,"item metadata must be an object"),r=Qa(n);Za(n,t),ec(n),tc(n),nc(n),rc(n),Xn(n,"created_at"),Xn(n,"updated_at"),n.deadline!==void 0&&Xn(n,"deadline"),oc(n),cc(n),Yn(n,"closed_at","closed_at"),Yn(n,"completed_at","completed_at"),dc(n),lc(n),uc(n,r,t),fc(n,t)}function mc(e){if(!(!e||e.length===0))return[...e].map(t=>({id:t.id.trim().toLowerCase(),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=$(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 Jn(e){if(!(!e||e.length===0))return[...e].sort((t,n)=>{let r=$(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 _c(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=$(n.at,r.at);return o!==0?o:n.text.localeCompare(r.text)});return t.length===0?void 0:t}function pc(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!wt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>Et.includes(s)))).sort((s,a)=>kn(s)-kn(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=>ae(s)))).sort((s,a)=>$(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 yc(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(hc).sort(gc)}function hc(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:pc(e.recurrence)};return Lt(t),t}function gc(e,t){return Go([$(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 bc(e){if(!(!e||e.length===0))return e.map(t=>({path:Pe(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function wc(e){if(!e||e.length===0)return;let t=e.map(vc).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)=>Go([$(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 De(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function Ec(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Kn(e){return typeof e=="string"?e:""}function kc(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 vc(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Ba.has(e.status)?e.status:"failed",o={run_id:t,kind:n,status:r,started_at:Kn(e.started_at),finished_at:Kn(e.finished_at),recorded_at:Kn(e.recorded_at),attempt:Ec(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:De(e.passed)??0,failed:De(e.failed)??0,skipped:De(e.skipped)??0,items:De(e.items),linked_tests:De(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:kc(e.measurements)};return Lt(o),o}function Sc(e){if(!(!Array.isArray(e)||e.length===0))return e.map(Tc)}function Ze(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 Yo(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function er(e){return e==="__proto__"||e==="constructor"||e==="prototype"}function qo(e){if(!Yo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),String(r).trim()]).filter(([n,r])=>n.length>0&&!er(n)&&r.length>0).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function Ic(e){if(!Yo(e))return;let t=Object.entries(e).map(([n,r])=>[n.trim(),Number(r)]).filter(([n,r])=>n.length>0&&!er(n)&&Number.isFinite(r)).sort(([n],[r])=>n.localeCompare(r));return t.length>0?Object.fromEntries(t):void 0}function xc(e){let t=e?.trim().toLowerCase();if(!(!t||!Wa.has(t)))return t}function Tc(e){let t={command:e.command?.trim()||void 0,path:e.path?Pe(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:xc(e.pm_context_mode),env_set:qo(e.env_set),env_clear:Ze(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Ze(e.assert_stdout_contains),assert_stdout_regex:Ze(e.assert_stdout_regex),assert_stderr_contains:Ze(e.assert_stderr_contains),assert_stderr_regex:Ze(e.assert_stderr_regex),assert_stdout_min_lines:De(e.assert_stdout_min_lines),assert_json_field_equals:qo(e.assert_json_field_equals),assert_json_field_gte:Ic(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Lt(t),t}function Oc(e){if(!(!e||e.length===0))return[...e].map(t=>({path:Pe(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 h(e){if(typeof e!="string")return;let t=e.trim();return t.length>0?t:void 0}function Ac(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.id),i=h(r.kind);if(!o||!i)continue;let s={id:o,kind:i},a=h(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 Cc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.path);if(!o)continue;let i={path:Pe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=h(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Rc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.command),i=h(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=Pe(i));let a=h(r.note);a&&(s.note=a),t.push(s)}return t.length>0?t:void 0}function Nc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.path);if(!o)continue;let i={path:Pe(o)};(r.scope==="project"||r.scope==="global")&&(i.scope=r.scope);let s=h(r.note);s&&(i.note=s),t.push(i)}return t.length>0?t:void 0}function Dc(e){if(e===null||typeof e!="object")return;let t=e,n=h(t.id),r=h(t.title),o=h(t.status),i=o&&Va.has(o)?o:void 0,s=ro(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 l={id:n,order:s,title:r,status:i,created_at:a,updated_at:c};return Mc(l,t),l}function Mc(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=h(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",Ac],["files","files",Cc],["tests","tests",Rc],["docs","docs",Nc]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Pc(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Dc(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Lc(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=h(r.decision);if(!o||!i||!s)continue;let a={ts:o,author:i,decision:s},c=h(r.rationale);c&&(a.rationale=c);let l=h(r.evidence);l&&(a.evidence=l);let f=h(r.step_id);f&&(a.step_id=f),t.push(a)}return t.length>0?t:void 0}function jc(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=h(r.text);if(!o||!i||!s)continue;let a={ts:o,author:i,text:s},c=h(r.step_id);c&&(a.step_id=c),t.push(a)}return t.length>0?t:void 0}function Fc(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(n===null||typeof n!="object")continue;let r=n,o=h(r.text);if(!o)continue;let i={text:o},s=h(r.command);s&&(i.command=s);let a=h(r.expected);a&&(i.expected=a),t.push(i)}return t.length>0?t:void 0}function $c(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 Me(e){let t=0;for(;t<e.length&&e[t]===`
4
+ `;)t+=1;return e.slice(t).trimEnd()}function zc(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(bt.includes(t))return t}function Uc(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(gt.includes(t))return t}function et(e){return e||void 0}function Hc(e,t){let n=e,r=t;for(let[o,i]of Object.entries(r))er(o)||Object.prototype.hasOwnProperty.call(n,o)||i===void 0||(n[o]=i)}function Wc(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]=Qe(r,o,`metadata field "${r.metadata_key}"`))}}function Bc(e,t){if(!t||t.unknownFieldPolicy==="allow")return;let n=Ko(t),o=Object.keys(e).filter(i=>!n.has(i)).sort((i,s)=>i.localeCompare(s));o.length>0&&t.unknownFieldPolicy==="reject"&&ce(`unknown schema fields are not allowed: ${o.join(", ")}`),o.length>0&&t.onWarning?.(`item_unknown_schema_fields:${o.join(",")}`)}function jt(e,t={}){let n=Jo(t),r=Mt(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:$o(e.pm_format_version),source_type:h(e.source_type),type_options:$c(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:mc(e.dependencies),comments:Jn(e.comments),notes:Jn(e.notes),learnings:Jn(e.learnings),files:bc(e.files),tests:Sc(e.tests),test_runs:wc(e.test_runs),docs:Oc(e.docs),deadline:et(e.deadline),reminders:_c(e.reminders),events:yc(e.events),closed_at:et(e.closed_at),completed_at:et(e.completed_at),assignee:h(e.assignee),claim_principal:h(e.claim_principal),source_owner:h(e.source_owner),author:et(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:h(e.definition_of_ready),order:e.order,goal:h(e.goal),objective:h(e.objective),value:h(e.value),impact:h(e.impact),outcome:h(e.outcome),why_now:h(e.why_now),parent:h(e.parent),reviewer:h(e.reviewer),risk:e.risk??void 0,confidence:zc(e.confidence),sprint:h(e.sprint),release:h(e.release),blocked_by:h(e.blocked_by),blocked_reason:h(e.blocked_reason),unblock_note:h(e.unblock_note),reporter:h(e.reporter),severity:Uc(e.severity),environment:h(e.environment),repro_steps:h(e.repro_steps),resolution:h(e.resolution),expected_result:h(e.expected_result),actual_result:h(e.actual_result),affected_version:h(e.affected_version),fixed_version:h(e.fixed_version),component:h(e.component),regression:e.regression,customer_impact:h(e.customer_impact),close_reason:et(e.close_reason),plan_mode:h(e.plan_mode),plan_scope:h(e.plan_scope),plan_harness:h(e.plan_harness),plan_resume_context:h(e.plan_resume_context),plan_steps:Pc(e.plan_steps),plan_decisions:Lc(e.plan_decisions),plan_discoveries:jc(e.plan_discoveries),plan_validation:Fc(e.plan_validation)};return Hc(i,e),Wc(i,n),Bc(i,n),Lt(i),i}function Qo(e){return k(e,ie)}function Vc(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 qc(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Vc(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 Gc(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(`
5
+ `,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 Zn(e,t){return jt(e,{...t,onWarning:void 0})}function Xc(e,t,n={}){let r=Gc(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=qc(r.content);o||(e.trimStart().startsWith("{")&&tt("json_markdown","JSON front matter is not valid JSON"),tt("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{tt("json_markdown","JSON front matter is not valid JSON")}return Qn(s,t),{metadata:Zn(s,n),body:Me(i)}}function Jc(e,t,n={}){let r;try{r=Gn(e).value}catch{tt("toon","TOON item document is not valid TOON")}g(typeof r=="object"&&r!==null&&!Array.isArray(r),"TOON item document must be an object");let o=r;if(!Xo.some(a=>Object.prototype.hasOwnProperty.call(o,a))&&!Object.prototype.hasOwnProperty.call(o,"front_matter")&&tt("toon","TOON input does not have the shape of an item document"),Object.prototype.hasOwnProperty.call(o,"front_matter"))return Qn(o.front_matter,t),g(o.body===void 0||typeof o.body=="string","TOON item document body must be a string"),{metadata:Zn(o.front_matter,n),body:Me(typeof o.body=="string"?o.body:"")};let{body:i,...s}=o;return g(i===void 0||typeof i=="string","TOON item document body must be a string"),Qn(s,t),{metadata:Zn(s,n),body:Me(typeof i=="string"?i:"")}}function Kc(e,t={}){let n=jt(e.metadata,t),r=Qo(n),o=JSON.stringify(r,null,2),i=Me(e.body??"");return i?`${o}
6
+
7
+ ${i}
8
+ `:`${o}
9
+ `}function Yc(e,t={}){let n=jt(e.metadata,t),r=Qo(n),o=Me(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Ha(s),c;try{c=Gn(a).value}catch(l){throw new T("Refusing to persist a TOON item document that the configured decoder cannot read back.",I.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_error",format:"toon",required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:l instanceof Error?l.message:String(l)})}if(!Bo(c,s)){let l=typeof c=="object"&&c!==null&&!Array.isArray(c)?c:{},f=Object.keys(s).find(u=>!Bo(s[u],l[u]))??"document";throw new T(`Refusing to persist a lossy TOON item document; round-trip mismatch at field "${f}".`,I.GENERIC_FAILURE,{code:"item_document_roundtrip_failed",reason:"encode_decode_mismatch",format:"toon",field:f,required:"Upgrade or repair the TOON codec before retrying the mutation; no item bytes were written.",why:"The encoded document decoded to a value different from the canonical item payload."})}return`${a}
10
+ `}function Ft(e,t={}){let n=Pt(e);if(n)throw new T(`Merge conflict markers detected in item document at line ${n.line} (${n.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.GENERIC_FAILURE,{code:"merge_conflict_markers_detected",reason:"merge_conflict",required:"Resolve merge-conflict markers in the item file before parsing or mutation commands.",why:"Partially merged documents can corrupt item metadata and history integrity.",examples:["git status","git add <resolved-file> && git commit"],nextSteps:["Resolve conflicts, save the file, then rerun the pm command."]});let r=t.format??"toon",o=Jo(t);return r==="toon"?Jc(e,o,t):Xc(e,o,t)}function Zo(e,t={}){return(t.format??"toon")==="toon"?Yc(e,t):Kc(e,t)}function q(e,t={}){return{metadata:jt(e.metadata,t),body:Me(e.body??"")}}import{existsSync as Zc}from"node:fs";import{AsyncLocalStorage as ed}from"node:async_hooks";import Z from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="bd9832a9-f6a2-5351-a929-0a0d2766df88")}catch{}})();(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3239b2c7-3ae3-5d4e-9005-b61000362304")}catch{}})();function Xm(){let e=Promise.resolve(),t=new Set;return{async read(n){let r=e,o,i=new Promise(s=>{o=s});t.add(i),await r;try{return await n()}finally{t.delete(i),o()}},write(n){let o=Promise.all([e,...t]).then(()=>n());return e=o.then(()=>{},()=>{}),o}}}function Qc(){let e=Promise.resolve(),t=0,n=[],r=()=>{if(t!==0)return;let o=n.splice(0);for(let i of o)i()};return{enqueue(o){t++;let i=e.then(()=>o());return e=i.then(()=>{},()=>{}).finally(()=>{t--,r()}),i},idle(){return t===0?Promise.resolve():new Promise(o=>n.push(o))}}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="38024e6c-c1ef-5c15-8421-ac18d317e330")}catch{}})();var Le=null,ti=null,td=null,nd=null,tr=null,rd=null,ni=null,od=null;var id=[],ri=new ed;function P(){return ri.getStore()}function a_(e){return ri.run({hooks:null,commands:null,parsers:null,preflight:null,services:null,renderers:null,registrations:null,commandContext:null,commandResult:void 0,affectedItems:[]},e)}var sd=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function ei(e){let t=Z.resolve(e);for(;;){if(Zc(Z.join(t,".git")))return t;let n=Z.dirname(t);if(n===t)return;t=n}}function ad(e){let t=process.env.PM_SOURCE_WORKSPACE_ROOT?.trim()||process.cwd(),n=ei(t)??Z.resolve(t),r=ei(n);if(!e)return{source_workspace_root:n,...r?{repo_root:r}:{}};let o=Z.relative(n,Z.resolve(e)),i=o.length>0&&!o.startsWith(`..${Z.sep}`)&&o!==".."&&!Z.isAbsolute(o);return{source_workspace_root:n,...r?{repo_root:r}:{},...i?{pm_root_rel:o.split(Z.sep).join("/")}:{}}}function c_(e){let t=P();if(t){t.hooks=e;return}Le=e}function d_(e){let t=P();if(t){t.commands=e;return}ti=e}function l_(e){let t=P();if(t){t.parsers=e;return}td=e}function u_(e){let t=P();if(t){t.preflight=e;return}nd=e}function f_(e){let t=P();if(t){t.services=e;return}tr=e}function m_(e){let t=P();if(t){t.renderers=e;return}rd=e}function __(e){let t=P();if(t){t.registrations=e;return}ni=e}function rt(){let e=P();return e?e.registrations:ni}function nr(e){if(!e)return;let t=P();t?t.affectedItems.push(e):id.push(e)}function $t(e,t){if(!e||!e.id)return{};let n={id:e.id,type:e.type,status:e.status};if(!Array.isArray(t))return n;let r=e;for(let o of t){if(typeof o!="string")continue;let i=o.startsWith("unset:")?o.slice(6):o;i==="id"||i==="type"||i==="status"||sd.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function G(e){let t=P(),n=t?t.hooks:Le;return n?io(n,e):[]}async function rr(e){let t=P(),n=t?t.hooks:Le;n&&await oo(n,e)}async function K(e){let t=P(),n=t?t.hooks:Le;return n?so(n,e):[]}function or(){let e=P();return((e?e.hooks:Le)?.onRead?.length??0)>0}async function p_(e){let t=P(),n=t?t.hooks:Le;return n?ao(n,e):[]}async function y_(e){let t=P(),n=t?t.commands:ti;return n?co(n,{...e,...ad(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function oi(e,t){let n=P(),r=n?n.commandContext:od;return{service:e,command:r?.command,args:r?[...r.args]:[],options:r?.options?{...r.options}:{},global:r?.global?{...r.global}:void 0,pm_root:r?.pm_root,source_workspace_root:r?.source_workspace_root,repo_root:r?.repo_root,pm_root_rel:r?.pm_root_rel,payload:t}}async function ee(e,t){let n=P(),r=n?n.services:tr;return r?uo(r,oi(e,t)):{handled:!1,result:t,warnings:[]}}function ii(e,t){let n=P(),r=n?n.services:tr;return r?lo(r,oi(e,t)):{handled:!1,result:t,warnings:[]}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="aa65b74d-ef5d-57ed-b613-3034da52a8ba")}catch{}})();async function je(e,t){let n=await se(e);if(n===null)return[];if(await K({path:e,scope:"project"}),n.trim()==="")return[];let r=Pt(n);if(r)throw new T(`History for ${t} contains merge conflict markers at line ${r.line} (${r.marker}). Resolve <<<<<<< ======= >>>>>>> markers and retry.`,I.GENERIC_FAILURE,{code:"history_merge_conflict_markers_detected",required:"Repair the history stream by resolving merge-conflict markers.",why:"Conflict markers break JSONL parsing and invalidate deterministic audit history.",examples:[`pm history ${t}`,`pm restore ${t} <timestamp-or-version>`],nextSteps:["Resolve or restore the history file, then rerun the command."]});let o=[];for(let[i,s]of n.split(/\r?\n/).entries()){let a=s.trim();if(a)try{o.push(JSON.parse(a))}catch{throw new T(`History for ${t} contains invalid JSON at line ${i+1}. Repair or restore the history stream and retry.`,I.GENERIC_FAILURE)}}return o}import yr from"fast-json-patch";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="4d71277c-e16c-56f4-a834-5200acfa6d7a")}catch{}})();import Ei from"fast-json-patch";import de from"node:fs/promises";import te from"node:path";import{randomUUID as cd}from"node:crypto";import{createRequire as dd}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="f1205949-16d8-51ce-98e8-04abc4c78ee8")}catch{}})();var ld="history-event-index.sqlite",ir="2";function Ht(e){return te.join(e,"runtime",ld)}function ud(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function fd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?ud(t):null}var zt;function sr(){return zt!==void 0||(zt=fd(process.versions.node,dd(import.meta.url))),zt}function md(e){e.exec(`
11
+ PRAGMA journal_mode = OFF;
12
+ PRAGMA synchronous = OFF;
13
+ CREATE TABLE metadata (
14
+ key TEXT PRIMARY KEY,
15
+ value TEXT NOT NULL
16
+ ) STRICT;
17
+ CREATE TABLE events (
18
+ stream_id TEXT NOT NULL,
19
+ stream_offset INTEGER NOT NULL,
20
+ ts TEXT NOT NULL,
21
+ author TEXT NOT NULL,
22
+ agent_harness TEXT,
23
+ agent_instance TEXT,
24
+ op TEXT NOT NULL,
25
+ entry_json TEXT NOT NULL,
26
+ PRIMARY KEY(stream_id, stream_offset)
27
+ ) STRICT;
28
+ CREATE INDEX events_order
29
+ ON events(ts, stream_id, stream_offset);
30
+ CREATE INDEX events_op_order
31
+ ON events(op, ts, stream_id, stream_offset);
32
+ CREATE INDEX events_author_order
33
+ ON events(author, ts, stream_id, stream_offset);
34
+ CREATE INDEX events_harness_order
35
+ ON events(agent_harness, ts, stream_id, stream_offset);
36
+ CREATE INDEX events_instance_order
37
+ ON events(agent_instance, ts, stream_id, stream_offset);
38
+ `),e.prepare("INSERT INTO metadata(key, value) VALUES ('version', ?)").run(ir)}function si(e,t){e.prepare(`INSERT INTO events(
39
+ stream_id, stream_offset, ts, author, agent_harness,
40
+ agent_instance, op, entry_json
41
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(t.stream_id,t.stream_offset,t.entry.ts,t.entry.author,t.entry.agent_harness??null,t.entry.agent_instance??null,t.entry.op,JSON.stringify(t.entry))}async function M_(e){let t=sr();if(!t)return!1;let n=te.join(e,"history"),o=(await de.readdir(n,{withFileTypes:!0}).catch(c=>{if(typeof c=="object"&&c!==null&&"code"in c&&c.code==="ENOENT")return[];throw c})).filter(c=>c.isFile()&&c.name.endsWith(".jsonl")).sort((c,l)=>c.name.localeCompare(l.name)),i=Ht(e);await de.mkdir(te.dirname(i),{recursive:!0});let s=`${i}.${cd()}.tmp`,a;try{a=new t(s),md(a),a.exec("BEGIN IMMEDIATE");for(let c of o){let l=c.name.slice(0,-6),f=await je(te.join(n,c.name),l);for(let[u,_]of f.entries())si(a,{stream_id:l,stream_offset:u,entry:_})}return a.exec("COMMIT"),a.close(),a=void 0,await de.rm(i,{force:!0}),await de.rename(s,i),!0}catch(c){throw a?.close(),await de.rm(s,{force:!0}),c}}async function ai(e,t){let n=te.dirname(te.dirname(e)),r=Ht(n);try{await de.access(r)}catch{return}let o=sr();if(!o)return;let i;try{if(i=new o(r),i.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==ir)throw new TypeError("Unsupported history event index version");let a=te.basename(e,".jsonl"),c=i.prepare("SELECT COALESCE(MAX(stream_offset), -1) + 1 AS value FROM events WHERE stream_id = ?").get(a);si(i,{stream_id:a,stream_offset:Number(c.value),entry:t}),i.close()}catch{i?.close(),await de.rm(r,{force:!0})}}async function Wt(e){await de.rm(Ht(te.dirname(te.dirname(e))),{force:!0})}function Ut(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function _d(e,t,n,r){if(!n||n.length===0)return;let o=n.map(()=>"?").join(", "),i=r??[];if(i.length>0){e.push(`(agent_harness IN (${o}) OR (agent_harness IS NULL AND author IN (${i.map(()=>"?").join(", ")})))`),t.push(...n,...i);return}e.push(`agent_harness IN (${o})`),t.push(...n)}async function P_(e,t){let n=sr();if(!n)return null;let r=[],o=[];t.after_ts!==void 0&&t.after_stream_id!==void 0&&t.after_stream_offset!==void 0?(r.push("(ts > ? OR (ts = ? AND stream_id > ?) OR (ts = ? AND stream_id = ? AND stream_offset > ?))"),o.push(t.after_ts,t.after_ts,t.after_stream_id,t.after_ts,t.after_stream_id,t.after_stream_offset)):t.since_ts!==void 0&&(r.push("ts >= ?"),o.push(t.since_ts)),Ut(r,o,"op",t.ops),Ut(r,o,"author",t.authors),_d(r,o,t.harnesses,t.harness_alias_authors),Ut(r,o,"agent_instance",t.agent_instances);for(let a of t.provenance??[])r.push(`json_extract(entry_json, '$.agent_provenance.${a.dimension}.value') IN (${a.values.map(()=>"?").join(", ")})`),o.push(...a.values);Ut(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(Ht(e),{readOnly:!0}),s.prepare("SELECT value FROM metadata WHERE key = 'version'").get()?.value!==ir)return s.close(),null;let c=s.prepare(`SELECT stream_id, stream_offset, entry_json
42
+ FROM events${i}
43
+ ORDER BY ts, stream_id, stream_offset
44
+ LIMIT ?`).all(...o,Math.max(0,Math.floor(t.limit))+1),l=c.length>t.limit,f=c.slice(0,t.limit).map(u=>({stream_id:String(u.stream_id),stream_offset:Number(u.stream_offset),entry:JSON.parse(String(u.entry_json))}));return s.close(),{events:f,has_more:l}}catch{return s?.close(),null}}import mr from"node:fs/promises";import $e 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]="22af7808-6456-5889-b6e3-1abd73f35738")}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]="c873f95b-c435-5b0d-a631-565fb195b5cd")}catch{}})();var Bt="changed_fields",pd="changed_field_count",ar="rows",yd=new Set(["apply","rollback"]),ci=new Set(["deleted","would_delete"]);function Se(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function di(e){let t=e[Bt];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==Bt&&(n[r]=o);return n[pd]=t.length,n}function hd(e){return"item"in e&&Array.isArray(e[Bt])}function gd(e){return typeof e.mode=="string"&&yd.has(e.mode)&&Array.isArray(e[ar])}function bd(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[ar]=t,n}function wd(e){if(!Se(e))return null;let t=Se(e.item)?e.item:Se(e.plan)?e.plan:null;if(t===null)return null;let n=typeof t.id=="string"?t.id:void 0,r=typeof e.outcome=="string"&&ci.has(e.outcome)?e.outcome:typeof t.status=="string"?t.status:void 0;return n?r?{id:n,status:r,...typeof e.deleted=="boolean"?{deleted:e.deleted}:{}}:{id:n}:null}function Ed(e){if(!Se(e)||!Se(e.item)||typeof e.item.id!="string")return null;let t=e[Bt];if(!Array.isArray(t))return null;let n={id:e.item.id,...typeof e.outcome=="string"&&ci.has(e.outcome)?{status:e.outcome}:typeof e.item.status=="string"?{status:e.item.status}:{},...typeof e.deleted=="boolean"?{deleted:e.deleted}:{},...typeof e.previous_status=="string"?{previous_status:e.previous_status}:{},changed_field_count:t.length},r=typeof e.close_reason=="string"?e.close_reason:typeof e.item.close_reason=="string"?e.item.close_reason:void 0;return r!==void 0&&(n.close_reason=r),Array.isArray(e.warnings)&&e.warnings.length>0&&(n.warnings=e.warnings),n}function kd(e){let t=gd(e)?e[ar]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!Se(o))return o;let i=di(o);return i?(n=!0,i):o});return n?{projected:bd(e,r),changed:!0}:{projected:e,changed:!1}}function vd(e,t={}){if(t.idOnly===!0){let a=wd(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=Ed(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!Se(e))return e;let r=!1,o=e,i=hd(e)?di(e):null;i!==null&&(o=i,r=!0);let s=kd(o);return s.changed&&(o=s.projected,r=!0),r?o:e}import{encode as fi}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]="bccd5918-1a51-5258-8d66-1960c51523cf")}catch{}})();var tp=new Set(Object.values(I));var li=!1;function Fe(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function Sd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function Id(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function dr(e){if(e==="stdout"){Sd();return}Id()}function ui(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function xd(){li||(li=!0,process.stdout.on("error",e=>{if(cr(e)){dr("stdout");return}ui(e)}),process.stderr.on("error",e=>{if(cr(e)){dr("stderr");return}ui(e)}))}function Td(e,t){xd();try{return e==="stdout"?process.stdout.write(t):process.stderr.write(t),!0}catch(n){if(cr(n))return dr(e),!1;throw n}}function Vt(e){return Td("stderr",e)}function lr(e){return typeof e=="string"?JSON.stringify(e):typeof e=="number"||typeof e=="boolean"?String(e):e===null?"null":JSON.stringify(e)}function Od(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function mi(e){if(e.length===0||!e.every(Fe))return!1;let t=Object.keys(e[0]);return t.length>0&&e.every(n=>Object.keys(n).length===t.length&&t.every(r=>Object.hasOwn(n,r)&&Od(n[r])))}function _i(e,t){let n=" ".repeat(t);return e.split(`
45
+ `).map(r=>`${n}${r}`).join(`
46
+ `)}function Ad(e,t,n){let r=" ".repeat(n);return!Fe(t)&&!Array.isArray(t)?`${r}${e}: ${lr(t)}`:Array.isArray(t)&&t.length===0?`${r}${e}: []`:Array.isArray(t)&&mi(t)?_i(fi({[e]:t}),n):Fe(t)&&Object.keys(t).length===0?`${r}${e}: {}`:`${r}${e}:
47
+ ${fr(t,n+1)}`}function ur(e){if(e!=null){if(Array.isArray(e)){let t=e.map(n=>ur(n)).filter(n=>n!==void 0);return t.length>0?t:void 0}if(Fe(e)){let t={};for(let[n,r]of Object.entries(e)){if(n==="omitted_field_groups"&&Array.isArray(r)&&r.length===0){t[n]=[];continue}let o=ur(r);o!==void 0&&(t[n]=o)}return Object.keys(t).length>0?t:void 0}return e}}function fr(e,t){let n=" ".repeat(t);if(Array.isArray(e))return e.length===0?"[]":mi(e)?_i(fi(e),t):e.map(r=>{if(!Fe(r)&&!Array.isArray(r))return`${n}- ${lr(r)}`;let i=fr(r,t+1).split(`
48
+ `),[s,...a]=i;return a.length===0?`${n}- ${s.trimStart()}`:`${n}- ${s.trimStart()}
49
+ ${a.join(`
50
+ `)}`}).join(`
51
+ `);if(Fe(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Ad(o,i,t)).join(`
52
+ `)}return`${n}${lr(e)}`}function np(e,t){if(t==="json")return`${JSON.stringify(e,null,2)}
53
+ `;let n=ur(e);return n===void 0?`{}
54
+ `:`${fr(n,0)}
55
+ `}function rp(e){let t=ii("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Vt(n.endsWith(`
56
+ `)?n:`${n}
57
+ `)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5121b339-6594-58ec-b479-11cbf7dafd27")}catch{}})();var Cd=$e.join("runtime","history-drift-cache.json"),pi={EINVAL:"invalid_cache_path",EISDIR:"cache_path_is_directory",ENOENT:"invalid_cache_path",ENOTDIR:"invalid_cache_path",ERR_FS_EISDIR:"cache_path_is_directory"};function yi(e){return typeof e=="object"&&e!==null&&"code"in e&&typeof e.code=="string"?e.code:void 0}async function Rd(e){let t=$e.join(e,Cd),n=!1,r="invalid_cache_path";try{n=(await mr.stat(await mr.realpath(e))).isDirectory()}catch(o){let i=yi(o);r=i===void 0?"unknown":pi[i]??"filesystem_error"}if(!n){Vt(`[pm] warning: history_drift_cache_invalidation_failed:${r}
58
+ `);return}try{await mr.rm(t,{force:!0})}catch(o){let i=yi(o);if(ge(o))return;let s=i===void 0?"unknown":pi[i]??"filesystem_error";Vt(`[pm] warning: history_drift_cache_invalidation_failed:${s}
59
+ `)}}async function ot(e){let t=$e.dirname($e.resolve(e));$e.basename(t)==="history"&&await Rd($e.dirname(t))}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2fc7f675-3500-5abb-8d5c-9ca9caa803b6")}catch{}})();var Dd={front_matter:{},body:""},ue=2,it=[1,2];function qt(e,t){return(e??"").localeCompare(t??"")}function hi(e,t){return(e??0)-(t??0)}function le(e,t,n){return JSON.stringify(e??n).localeCompare(JSON.stringify(t??n))}function Md(e,t){return[e.scope.localeCompare(t.scope),qt(e.path,t.path),qt(e.command,t.command),hi(e.timeout_seconds,t.timeout_seconds),qt(e.pm_context_mode,t.pm_context_mode),+!!e.shared_host_safe-+!!t.shared_host_safe,le(e.env_clear,t.env_clear,[]),le(e.env_set,t.env_set,{}),le(e.assert_stdout_contains,t.assert_stdout_contains,[]),le(e.assert_stdout_regex,t.assert_stdout_regex,[]),le(e.assert_stderr_contains,t.assert_stderr_contains,[]),le(e.assert_stderr_regex,t.assert_stderr_regex,[]),hi(e.assert_stdout_min_lines,t.assert_stdout_min_lines),le(e.assert_json_field_equals,t.assert_json_field_equals,{}),le(e.assert_json_field_gte,t.assert_json_field_gte,{}),qt(e.note,t.note)].find(r=>r!==0)??0}function Pd(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Ld(e,t){let n=Pd(t);if(n.length===0)return!0;let r=e;for(let o of n){if(Array.isArray(r)){if(o==="-"||!/^(0|[1-9]\d*)$/.test(o))return!1;let s=Number(o);if(!Number.isInteger(s)||s<0||s>=r.length)return!1;let a=r[s];if(a===void 0)return!1;r=a;continue}if(typeof r!="object"||r===null||!Object.prototype.hasOwnProperty.call(r,o))return!1;let i=r[o];if(i===void 0)return!1;r=i}return!0}function jd(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Ld(r,o.path)?{...o,op:"add"}:o;n.push(i),r=Ei.applyPatch(r,[i],!0,!0).newDocument}return n}function _r(e,t){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{front_matter:{},body:e.body??""};let r=q(e),o=t===1&&r.metadata.tests?{...r.metadata,tests:[...r.metadata.tests].sort(Md)}:r.metadata;return{front_matter:k(o,ie),body:r.body}}function gi(e){if(!(e.metadata&&Object.keys(e.metadata).length>0))return{metadata:{},body:e.body??""};let n=q(e);return{metadata:k(n.metadata,ie),body:n.body}}function Ep(e){return pr(e,ue)}function pr(e,t){if(!it.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return be(B(_r(e,t)))}function kp(){return be(B(Dd))}function ze(e){let t=_r(e.before,ue),n=_r(e.after,ue),r=gi(e.before),o=gi(e.after),i=Ei.compare(r,o),s=jd(r,i),a=Ao(e.author),c=a.harness?Object.fromEntries(Object.entries(To().provenance_outcomes).filter(([,f])=>f.status==="failed")):void 0,l=c===void 0||Object.keys(c).length===0?e.context:{...e.context,agent_provenance_outcomes:c};return{ts:e.nowIso,author:e.author,author_source:e.authorSource??Oo(e.author),...a.harness?{agent_harness:a.harness}:{},...a.model?{agent_model:a.model}:{},...a.model_source?{agent_model_source:a.model_source}:{},...a.instance?{agent_instance:a.instance}:{},...a.provenance?{agent_provenance:a.provenance}:{},...a.episode?{agent_episode:a.episode}:{},op:e.op,patch:s,before_hash:be(B(t)),after_hash:be(B(n)),item_hash_version:ue,message:e.message===void 0?void 0:e.message,...l===void 0?{}:{context:l}}}function bi(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Fd(e){let t=e.ts.trim();return t.length>0?t:ve()}function wi(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Gt(e,t){let n=Fd(t);if(typeof e=="string"){try{let r=JSON.parse(e);if(bi(r))return JSON.stringify(wi(r,n))}catch{}return e}return bi(e)?JSON.stringify(wi(e,n)):JSON.stringify(e)}async function Ue(e,t){let n=await ee("history_append",{history_path:e,entry:t});if(n.handled){if(n.result===!1)return;if(typeof n.result=="string"){await Ge(e,Gt(n.result,t)),await ot(e),await Wt(e);return}if(typeof n.result=="object"&&n.result!==null){let r=n.result;if(r.skip===!0)return;let o=typeof r.history_path=="string"?r.history_path:e;if(typeof r.line=="string"){await Ge(o,Gt(r.line,t)),await ot(o),await Wt(o);return}await Ge(o,Gt(r.entry??t,t)),await ot(o),await Wt(o);return}}await Ge(e,Gt(t,t)),await ot(e),await ai(e,t)}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="0c37a722-fda7-523e-991c-f8abfb7a1495")}catch{}})();var $d={metadata:{},body:""};function Jt(){return structuredClone($d)}function Xt(e,t=ue){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return pr(Kt(e),t)}catch{}return be(B({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function Kt(e){return{metadata:e.metadata,body:e.body}}function Cp(e,t={}){return q(Kt(e),t)}function Rp(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=q(e);return{metadata:k(t.metadata,ie),body:t.body}}function ki(e){return e==="/front_matter"?"/metadata":e.startsWith("/front_matter/")?`/metadata/${e.slice(14)}`:e}function zd(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Si(e){return Array.isArray(e)?e.filter(zd).map(t=>({...t,path:ki(t.path),from:typeof t.from=="string"?ki(t.from):void 0})):[]}function Ud(e){return typeof e=="object"&&e!==null&&"metadata"in e&&"body"in e&&typeof e.body=="string"&&typeof e.metadata=="object"&&e.metadata!==null}function Yt(e,t){try{let n=Si(t),r=yr.applyPatch(structuredClone(e),n,!0,!1).newDocument;return Ud(r)?{ok:!0,document:{metadata:r.metadata,body:r.body}}:{ok:!1,error:new Error("history_replay_invalid_document_shape")}}catch(n){return{ok:!1,error:n}}}function Ii(e){let t=Jt(),n;for(let r=0;r<e.length;r+=1){let o=e[r],i=o.item_hash_version;if(i!==void 0&&!it.includes(i))return{ok:!1,errors:[`verify_failed:unsupported_item_hash_version:${String(i)}:entry_${r+1}`]};let s=Yt(t,o.patch);if(!s.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${r+1}`]};let c=(i===void 0?[ue,1]:[i]).filter(f=>Xt(t,f)===o.before_hash);if(c.length===0)return{ok:!1,errors:[`verify_failed:before_hash_mismatch:entry_${r+1}`]};let l=c.find(f=>Xt(s.document,f)===o.after_hash);if(l===void 0)return{ok:!1,errors:[`verify_failed:after_hash_mismatch:entry_${r+1}`]};t=s.document,n=l}return{ok:!0,errors:[],...n===void 0?{}:{item_hash_version:n}}}function Qt(e){let t=Ii(e);return{ok:t.ok,errors:t.errors}}function vi(e,t){try{return{ok:!0,document:yr.applyPatch(structuredClone(e),[t],!0,!1).newDocument}}catch{return{ok:!1}}}function Hd(e,t){let n=structuredClone(e),r=0,o=0;for(let a of Si(t)){let c=vi(n,a);if(c.ok){n=c.document;continue}if(a.op==="replace"){let l=vi(n,{...a,op:"add"});if(l.ok){n=l.document,r+=1;continue}}o+=1}let i=n;return{document:{metadata:typeof i.metadata=="object"&&i.metadata!==null?i.metadata:{},body:typeof i.body=="string"?i.body:e.body},convertedReplaceToAdd:r,skippedOps:o}}function Wd(e){let t=Ii(e);if(t.ok&&t.item_hash_version!==void 0)return t.item_hash_version;let n=[...new Set(e.map(r=>r.item_hash_version).filter(r=>r!==void 0&&it.includes(r)))];return n.length===1?n[0]:n.length===0?1:ue}function Np(e,t=Wd(e)){let n=e.findIndex(u=>u.item_hash_version!==void 0&&!it.includes(u.item_hash_version));if(n>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[n]?.item_hash_version)}:entry_${n+1}`);let r=Jt(),o=[],i=[],s=0,a=0,c=0,l=0,f=t!==1||e.some(u=>u.item_hash_version!==void 0);for(let u=0;u<e.length;u+=1){let _=e[u],y=Xt(r,t),w=Yt(r,_.patch),S,E,C=!1,N=0,Q=0;if(w.ok)S=w.document,E=_.patch;else{let z=Hd(r,_.patch);S=z.document,E=yr.compare(r,S),C=!0,N=z.convertedReplaceToAdd,Q=z.skippedOps,c+=N,l+=Q,a+=1}let L=Xt(S,t),Te=y!==_.before_hash||L!==_.after_hash;Te&&(s+=1);let oe={..._,patch:E,before_hash:y,after_hash:L};f?oe.item_hash_version=t:delete oe.item_hash_version,o.push(oe),i.push({index:u+1,rehashed:Te,patch_repaired:C,converted_replace_to_add:N,skipped_ops:Q}),r=S}return{entries:o,finalDocument:r,entriesRehashed:s,entriesPatchRepaired:a,convertedReplaceToAdd:c,skippedOps:l,details:i,itemHashVersion:t,explicitItemHashVersion:f}}function Dp(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
60
+ `)}
61
+ `}import Bd from"node:crypto";import xi 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]="50a277b9-d530-5aa0-8bd0-8eb0d36911e5")}catch{}})();function Oi(e){let t=(e??"").trim().toLowerCase();return t?t.endsWith("-")?t:`${t}-`:"pm-"}function hr(e){let t=e.trim().toLowerCase();return t.startsWith("#")&&(t=t.slice(1)),t}function gr(e,t){let n=Oi(t),r=hr(e);return r.startsWith(n)?r:`${n}${r}`}function Vd(e){let t=Po(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Bd.randomInt(0,36).toString(36);return n}async function qd(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[xi.join(e,o,`${t}.md`),xi.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>vt(o)))).some(Boolean)}var Ti=4,Ai=12;function Gd(e){return typeof e!="number"||!Number.isFinite(e)?Ti:Math.min(Ai,Math.max(Ti,Math.trunc(e)))}async function zp(e,t,n={}){let r=Gd(n.tokenLength),o=Math.min(r+6,Ai),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${Oi(t)}${Vd(r)}`;if(n.probeExisting===!1||!await qd(e,a,n.typeToFolder??he))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Ie from"node:fs/promises";import Ri from"node:path";import{randomUUID as Xd}from"node:crypto";import{createRequire as Jd}from"node:module";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e94075b0-810d-506c-b6a2-ae322526c078")}catch{}})();var Kd="metadata-query-index.sqlite",st="4";function Yd(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Zt;function Qd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Yd(t):null}function at(){return Zt!==void 0||(Zt=Qd(process.versions.node,Jd(import.meta.url))),Zt}function Ci(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function He(e){return Ri.join(e,"runtime",Kd)}function Zd(e){e.exec(`
62
+ PRAGMA foreign_keys = ON;
63
+ PRAGMA journal_mode = OFF;
64
+ PRAGMA synchronous = OFF;
65
+ CREATE TABLE metadata (
66
+ key TEXT PRIMARY KEY,
67
+ value TEXT NOT NULL
68
+ ) STRICT;
69
+ CREATE TABLE items (
70
+ id TEXT PRIMARY KEY,
71
+ relative_path TEXT NOT NULL UNIQUE,
72
+ metadata_json TEXT NOT NULL,
73
+ status TEXT NOT NULL,
74
+ type TEXT NOT NULL,
75
+ priority INTEGER NOT NULL,
76
+ updated_at TEXT NOT NULL,
77
+ created_at TEXT NOT NULL,
78
+ parent TEXT,
79
+ assignee TEXT,
80
+ sprint TEXT,
81
+ release TEXT
82
+ ) STRICT;
83
+ CREATE INDEX items_default_order
84
+ ON items(priority, updated_at DESC, id);
85
+ CREATE INDEX items_status_default_order
86
+ ON items(status, priority, updated_at DESC, id);
87
+ CREATE INDEX items_type_default_order
88
+ ON items(type, priority, updated_at DESC, id);
89
+ CREATE INDEX items_parent_default_order
90
+ ON items(parent, priority, updated_at DESC, id);
91
+ CREATE TABLE item_metadata_keys (
92
+ item_id TEXT NOT NULL,
93
+ key TEXT NOT NULL,
94
+ PRIMARY KEY(item_id, key),
95
+ FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
96
+ ) STRICT;
97
+ CREATE INDEX item_metadata_keys_key_item
98
+ ON item_metadata_keys(key, item_id);
99
+ CREATE TABLE item_linked_files (
100
+ item_id TEXT NOT NULL,
101
+ path TEXT NOT NULL,
102
+ scope TEXT NOT NULL,
103
+ note TEXT,
104
+ PRIMARY KEY(item_id, path, scope),
105
+ FOREIGN KEY(item_id) REFERENCES items(id) ON DELETE CASCADE
106
+ ) STRICT;
107
+ CREATE INDEX item_linked_files_path_scope_item
108
+ ON item_linked_files(path, scope, item_id);
109
+ CREATE VIRTUAL TABLE item_search USING fts5(
110
+ id UNINDEXED,
111
+ title,
112
+ description,
113
+ tags,
114
+ tokenize = 'unicode61'
115
+ );
116
+ `)}function tn(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Ni(e,t){let n=t.metadata;e.prepare(`INSERT INTO items(
117
+ id, relative_path, metadata_json, status, type, priority,
118
+ updated_at, created_at, parent, assignee, sprint, release
119
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
120
+ ON CONFLICT(id) DO UPDATE SET
121
+ relative_path = excluded.relative_path,
122
+ metadata_json = excluded.metadata_json,
123
+ status = excluded.status,
124
+ type = excluded.type,
125
+ priority = excluded.priority,
126
+ updated_at = excluded.updated_at,
127
+ created_at = excluded.created_at,
128
+ parent = excluded.parent,
129
+ assignee = excluded.assignee,
130
+ sprint = excluded.sprint,
131
+ release = excluded.release`).run(n.id,t.relativePath,JSON.stringify(n),n.status,n.type,n.priority,n.updated_at,n.created_at,n.parent??null,n.assignee??null,n.sprint??null,n.release??null),e.prepare("DELETE FROM item_metadata_keys WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_linked_files WHERE item_id = ?").run(n.id),e.prepare("DELETE FROM item_search WHERE id = ?").run(n.id),e.prepare("INSERT INTO item_search(id, title, description, tags) VALUES (?, ?, ?, ?)").run(n.id,n.title,n.description,n.tags.join(" "));let r=e.prepare("INSERT INTO item_metadata_keys(item_id, key) VALUES (?, ?)");for(let i of Object.keys(n))r.run(n.id,i);let o=e.prepare("INSERT INTO item_linked_files(item_id, path, scope, note) VALUES (?, ?, ?, ?)");for(let i of t.linkedFiles??[])o.run(n.id,i.path,i.scope,i.note??null)}async function Di(e){let t=He(e.pmRoot),n=at();if(!n){await Ie.rm(t,{force:!0});return}await Ie.mkdir(Ri.dirname(t),{recursive:!0});let r=`${t}.${Xd()}.tmp`,o;try{o=new n(r),Zd(o),o.exec("BEGIN IMMEDIATE"),tn(o,"version",st),tn(o,"context_fingerprint",e.contextFingerprint),tn(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ni(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Ie.rm(t,{force:!0}),await Ie.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Ie.rm(r,{force:!0})]),i}}function nn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Mi(e){let t=He(e.pmRoot),n;try{await Ie.access(t);let r=at();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=nn(n);if(o.version!==st||o.context_fingerprint!==e.contextFingerprint||o.source_cursor!==e.expectedSourceCursor)return n.close(),!1;n.exec("BEGIN IMMEDIATE");let i=n.prepare("DELETE FROM items WHERE relative_path = ?"),s=n.prepare("SELECT id FROM items WHERE relative_path = ?"),a=n.prepare("DELETE FROM item_search WHERE id = ?");for(let c of e.deletedRelativePaths??[]){let l=s.get(c);i.run(c),l&&a.run(l.id)}return e.row&&Ni(n,e.row),tn(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function en(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function el(e){let t=[],n=[];en(t,n,"status",e.statuses,"IN"),en(t,n,"status",e.excludeStatuses,"NOT IN"),en(t,n,"type",e.types,"IN"),en(t,n,"id",e.ids,"IN");for(let r of e.metadataKeys??[])t.push("EXISTS (SELECT 1 FROM item_metadata_keys AS indexed_key WHERE indexed_key.item_id = items.id AND indexed_key.key = ?)"),n.push(r);for(let[r,o]of[["parent",e.parent],["assignee",e.assignee],["sprint",e.sprint],["release",e.release]])o!==void 0&&(t.push(`${r} = ?`),n.push(o));return e.priority!==void 0&&(t.push("priority = ?"),n.push(e.priority)),{where:t.length===0?"":` WHERE ${t.join(" AND ")}`,parameters:n}}async function qp(e){let t=at();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=el(n),i;try{i=new t(He(e.pmRoot),{readOnly:!0});let s=nn(i);if(s.version!==st||s.source_cursor!==e.expectedSourceCursor)return i.close(),null;let a=i.prepare(`SELECT COUNT(*) AS count FROM items${r}`).get(...o),c=[],l="";n.limit!==void 0?(l+=" LIMIT ?",c.push(Math.max(0,Math.floor(n.limit))),n.offset!==void 0&&(l+=" OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))))):n.offset!==void 0&&(l+=" LIMIT -1 OFFSET ?",c.push(Math.max(0,Math.floor(n.offset))));let u=i.prepare(`SELECT metadata_json FROM items${r}
132
+ ORDER BY ${n.terminalStatuses&&n.terminalStatuses.length>0?`CASE WHEN status IN (${n.terminalStatuses.map(()=>"?").join(", ")}) THEN 1 ELSE 0 END ASC, `:""}priority ASC, updated_at DESC, id ASC${l}`).all(...o,...n.terminalStatuses??[],...c).map(_=>{let y=JSON.parse(String(_.metadata_json));if(!y.id)throw new TypeError("Indexed metadata row has no id");return y});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:u}}catch{return i?.close(),null}}async function Gp(e){let t=at();if(!t||e.paths.length===0)return null;let n;try{n=new t(He(e.pmRoot),{readOnly:!0});let r=nn(n);if(r.version!==st||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let o=e.paths.map(()=>"?").join(", "),i=e.scope===void 0?"":" AND scope = ?",s=[...e.paths,...e.scope===void 0?[]:[e.scope]],a=`path IN (${o})${i}`,c=n.prepare(`SELECT COUNT(DISTINCT item_id) AS count
133
+ FROM item_linked_files
134
+ WHERE ${a}`).get(...s),l=Ci(e.limit,50),f=Ci(e.offset,0),u=n.prepare(`SELECT items.id, items.metadata_json
135
+ FROM items
136
+ WHERE EXISTS (
137
+ SELECT 1 FROM item_linked_files
138
+ WHERE item_linked_files.item_id = items.id AND ${a}
139
+ )
140
+ ORDER BY items.priority ASC, items.updated_at DESC, items.id ASC
141
+ LIMIT ? OFFSET ?`).all(...s,l,f),_=[];if(u.length>0){let y=u.map(E=>String(E.id)),w=n.prepare(`SELECT item_id, path, scope, note
142
+ FROM item_linked_files
143
+ WHERE item_id IN (${y.map(()=>"?").join(", ")})
144
+ AND ${a}
145
+ ORDER BY path ASC, scope ASC`).all(...y,...s),S=new Map(y.map(E=>[E,[]]));for(let E of w){let C=String(E.item_id),N=S.get(C);N.push({path:String(E.path),scope:String(E.scope),...E.note===null?{}:{note:String(E.note)}}),S.set(C,N)}for(let E of u){let C=JSON.parse(String(E.metadata_json));_.push({item:C,files:S.get(String(E.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:_}}catch{return n?.close(),null}}async function Xp(e){let t=at();if(!t)return null;let n;try{n=new t(He(e.pmRoot),{readOnly:!0});let r=nn(n);if(r.version!==st||r.source_cursor!==e.expectedSourceCursor)return n.close(),null;let i=n.prepare(`SELECT items.metadata_json
146
+ FROM item_search
147
+ JOIN items ON items.id = item_search.id
148
+ WHERE item_search MATCH ?
149
+ ORDER BY bm25(item_search), items.priority, items.updated_at DESC, items.id
150
+ 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 rn(e){await Ie.rm(He(e),{force:!0})}import F from"node:fs/promises";import R from"node:path";import{createHash as kl,randomUUID as Ji}from"node:crypto";import ne from"node:fs/promises";import br from"node:path";import{randomUUID as tl}from"node:crypto";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="a9ad8a9f-de6e-5bce-8685-844f1129d5fb")}catch{}})();function nl(e){let t;try{t=JSON.parse(e)}catch{return{info:null,warnings:["lock_info_invalid_json"]}}if(typeof t!="object"||t===null||Array.isArray(t))return{info:null,warnings:["lock_info_invalid_shape"]};let n=t,r=n.id,o=n.pid,i=n.owner,s=n.created_at,a=n.ttl_seconds;return typeof r!="string"||typeof o!="number"||!Number.isFinite(o)||typeof i!="string"||typeof s!="string"||typeof a!="number"||!Number.isFinite(a)?{info:null,warnings:["lock_info_invalid_shape"]}:{info:{id:r,pid:o,owner:i,created_at:s,ttl_seconds:a},warnings:[]}}async function Fi(e){try{let t=await ne.readFile(e,"utf8");return await K({path:e,scope:"project"}),nl(t)}catch(t){return ge(t)?{info:null,warnings:[]}:{info:null,warnings:["lock_info_read_failed"]}}}function wr(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}async function $i(e,t){await G({path:e,scope:"project",op:t})}function rl(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:ve(),ttl_seconds:n}}async function ol(e,t,n,r){await ne.mkdir(br.dirname(e),{recursive:!0});let o=await ne.open(e,"wx");try{await o.writeFile(`${JSON.stringify(rl(t,n,r),null,2)}
151
+ `,"utf8")}finally{await o.close()}await $i(e,"lock:create")}async function zi(e,t){try{return await ne.unlink(e),await $i(e,t),!0}catch{return!1}}function Ui(e,t){let n=e?.created_at?Date.parse(e.created_at):Number.NaN;return(Number.isFinite(n)?Date.now()-n:Number.POSITIVE_INFINITY)>t*1e3}function il(e){return e?.owner?` (owner ${e.owner})`:""}var sl=25,al=200,cl=250,dl=3,ll=".stale-cleanup",Hi="owner.json",ul=1e4,fl=5*6e4;function Pi(e){if(typeof e=="string"){let t=e.trim();if(!/^\d+$/.test(t))return;let n=Number(t);return Number.isSafeInteger(n)?n:void 0}if(typeof e=="number"&&Number.isFinite(e)&&e>=0)return Math.trunc(e)}function ml(e){let t=process.env.PM_LOCK_WAIT_MS,n=Pi(t);if(n!==void 0)return n;let r=Pi(e);return r!==void 0?r:0}function _l(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Wi(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new T(`Item ${e} is locked${il(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:cl}})}function pl(e){if(typeof e=="function")return e;if(typeof e=="object"&&e!==null&&"release"in e){let t=e.release;return typeof t=="function"?t:null}return null}function yl(e,t,n,r){if(!n&&r){let o=t.warnings.length>0?` (${t.warnings.join(",")})`:"";throw new T(`Item ${e} lock is stale${o}; rerun with --force when supported for this command`,I.CONFLICT)}}function hl(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!="object"||t===null||Array.isArray(t))return null;let n=t,r=n.pid,o=n.token;return typeof r!="number"||!Number.isInteger(r)||r<=0||typeof o!="string"||o.length===0?null:{pid:r,token:o}}async function Bi(e){try{return hl(await ne.readFile(br.join(e,Hi),"utf8"))}catch{return null}}function gl(e){try{return process.kill(e,0),!0}catch(t){return!wr(t,"ESRCH")}}async function Er(e){try{return await ne.rm(e,{recursive:!0,force:!0}),!0}catch{return!1}}async function Li(e,t){let n=await Bi(e);n===null||n.token!==t||await Er(e)}async function ji(e){try{await ne.mkdir(e)}catch(n){return wr(n,"EEXIST"),null}let t={pid:process.pid,token:tl()};try{await ne.writeFile(br.join(e,Hi),`${JSON.stringify(t)}
152
+ `,"utf8")}catch{return await Er(e),null}return t}async function bl(e){let t;try{let r=await ne.stat(e);if(t=Date.now()-r.mtimeMs,t<=ul)return!1}catch(r){return ge(r)}let n=await Bi(e);return n!==null&&gl(n.pid)&&t<=fl?!1:Er(e)}async function wl(e,t){let n=`${e}${ll}`,r=await ji(n);if(r!==null)return async()=>Li(n,r.token);if(!await bl(n))return null;let o=await ji(n);return o===null?null:async()=>Li(n,o.token)}async function El(e){let t=await wl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await Fi(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!Ui(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(yl(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=dl)throw Wi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await zi(e.lockPath,"lock:stale_remove"),staleRemovalCounted:!0}}finally{await t()}}async function re(e,t,n,r,o=!1,i=!0,s){let a=await ee("lock_acquire",{pm_root:e,id:t,ttl_seconds:n,owner:r,force:o,force_required_for_stale_lock:i});if(a.handled){let y=pl(a.result);if(y)return async()=>{await Promise.resolve(y()),await ee("lock_release",{pm_root:e,id:t,owner:r})}}let c=eo(e,t),l=ml(s),f=Date.now(),u=0,_=sl;for(;;)try{return await ol(c,t,r,n),async()=>{await zi(c,"lock:release"),await ee("lock_release",{pm_root:e,id:t,owner:r})}}catch(y){if(!wr(y,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${no(y)}`,I.GENERIC_FAILURE);let w=await Fi(c);if(Ui(w.info,n)){let E=await El({lockPath:c,id:t,ttlSeconds:n,force:o,forceRequiredForStaleLock:i,staleRemovals:u,waitBudgetMs:l,startedAtMs:f,fallbackLockInfo:w});if(w=E.lockInfo,E.staleRemovalCounted&&(u+=1),E.shouldRetryCreate)continue}let S=Date.now()-f;if(l===0||S>=l)throw Wi(t,w.info,l===0?0:S);await _l(Math.min(_,l-S)),_=Math.min(_*2,al)}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="8b8c705a-8d80-576f-8642-f6f686cdbed9")}catch{}})();var Y=8,Ki=500,vl="metadata-derived-index",Sl="metadata-cache.json",Il="metadata-cache-bodies.json",xl="metadata-cache-collections.json",Tl="metadata-cache-delta.json",Ol="metadata-cache-manifest.json",Vi=4,Al=["comments","notes","learnings","files","tests","test_runs","docs"];function Yi(){return kt(rt())}function sn(e){let t={...e},n={};for(let r of Al)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Qi(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Zi(e,t,n,r){let o=kl("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 an(e){return R.join(e,"runtime",Sl)}function cn(e){return R.join(e,"runtime",Il)}function dn(e){return R.join(e,"runtime",xl)}function vr(e){return R.join(e,"runtime",Tl)}function Sr(e){return R.join(e,"runtime",Ol)}function ln(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Cl=24,V=new Map,un=new WeakMap;function Ir(e){return un.get(e)??e.source_cursor}function Rl(e,t){let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){un.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 Nl(e,t){if(!e)return;let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){un.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 Dl(e,t){if(!e)return;let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){un.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 Ml(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Rl(e,r),Nl(t,r),Dl(n,r))}function kr(e,t){V.size>=Cl&&!V.has(e)&&It(V),V.set(e,t)}async function fe(e,t){let n;try{n=await F.stat(e)}catch{return V.delete(e),null}let r=V.get(e);if(r&&ct(r.signature,n.mtimeMs,n.ctimeMs,n.size))return V.delete(e),V.set(e,r),r.envelope;let o;try{o=t(await F.readFile(e,"utf8"))}catch{o=null}return kr(e,{signature:{mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size},envelope:o}),o}async function Pl(e,t,n){let r=a=>{let c=JSON.parse(a);return c.version!==Y||typeof c.source_cursor!="string"||typeof c.entries!="object"||c.entries===null?null:c},o=an(e),i=await fe(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await fe(ln(o,t),r);return s===null&&ut(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Ll(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Y||typeof s.source_cursor!="string"||typeof s.bodies!="object"||s.bodies===null?null:s},r=cn(e),o=await fe(r,n);return t&&o?.context_fingerprint!==t?await fe(ln(r,t),n):o}async function jl(e,t){let n=i=>{let s=JSON.parse(i);return s.version!==Y||typeof s.source_cursor!="string"||typeof s.collections!="object"||s.collections===null?null:s},r=dn(e),o=await fe(r,n);return t&&o?.context_fingerprint!==t?await fe(ln(r,t),n):o}async function xr(e){let t=vr(e),n=await fe(t,r=>{let o=JSON.parse(r);return o.version!==Y||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 F.stat(t),{envelope:null,invalid:!0}}catch{return{envelope:null,invalid:!1}}}async function Tr(e){let t=Sr(e),n=await fe(t,r=>{let o=JSON.parse(r);return o.version!==Y||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 F.stat(t),await We(e)}catch{}return null}async function dt(e,t){await F.mkdir(R.dirname(e),{recursive:!0}),await U(e,JSON.stringify(t));try{let r=await F.stat(e);kr(e,{signature:{mtime_ms:r.mtimeMs,ctime_ms:r.ctimeMs,size:r.size},envelope:t})}catch{V.delete(e)}let n=R.dirname(R.dirname(e));if(e===an(n)||e===cn(n)||e===dn(n)){let r=ln(e,t.context_fingerprint);await U(r,JSON.stringify(t));try{let c=await F.stat(r);kr(r,{signature:{mtime_ms:c.mtimeMs,ctime_ms:c.ctimeMs,size:c.size},envelope:t})}catch{V.delete(r)}let o=R.dirname(e),i=R.extname(e),s=R.basename(e,i),a=(await F.readdir(o,{withFileTypes:!0}).catch(()=>[])).filter(c=>c.isFile()&&c.name!==R.basename(e)&&c.name.startsWith(`${s}.`)&&c.name.endsWith(i)).map(c=>R.join(o,c.name));if(a.length>Vi){let c=(await Promise.all(a.map(async l=>{try{return{path:l,mtime:(await F.stat(l)).mtimeMs}}catch{return null}}))).filter(l=>l!==null);for(let l of c.sort((f,u)=>f.mtime-u.mtime).slice(0,Math.max(0,c.length-Vi)))await F.rm(l.path,{force:!0}),V.delete(l.path)}}}function Fl(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function es(e,t,n){return e===void 0||Fl(e,t,n)}function ut(e,t){e&&!e.includes(t)&&e.push(t)}function ct(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function $l(e,t,n){let r=R.join(e,t);try{let o=await F.readdir(r);return{folder:t,dirPath:r,files:o}}catch(o){return typeof o=="object"&&o!==null&&"code"in o&&!ge(o)&&ut(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function zl(e,t){try{let n=await F.stat(R.join(e,t));return[t,{exists:!0,mtime_ms:n.mtimeMs,ctime_ms:n.ctimeMs,size:n.size}]}catch{return[t,{exists:!1,mtime_ms:0,ctime_ms:0,size:0}]}}async function on(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await zl(e,n))))}function lt(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&&ct(o,r.mtime_ms,r.ctime_ms,r.size)})}function Ul(e){return St.some(t=>e.toLowerCase().endsWith(t))}function Hl(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Wl(e,t,n){if(n)for(let r of await K({path:e,scope:"project"}))ut(t,r)}function qi(e,t,n,r){if(e)return t&&n?n.collections:r}async function Bl(e,t,n){let r=await F.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=In(e);await Wl(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=!n.forceSourceRead&&c!==void 0&&ct(c,o,i,s),f=n.previousBodies[t],u=!n.forceSourceRead&&f!==void 0&&ct(f,o,i,s),_=n.previousCollections[t],y=!n.forceSourceRead&&_!==void 0&&ct(_,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!y))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:qi(n.includeCollections,y,_,void 0),bodyLength:c.body_length,body:n.includeBody?f.body:void 0};let S=await F.readFile(e,"utf8"),E=Ft(S,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:N=>ut(n.warnings,N)}),C=sn(E.metadata);return Hl(n.state.misses,n.includeBody,n.includeCollections,l,u,y),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:C.light,heavyMetadata:qi(n.includeCollections,y,_,C.heavy),bodyLength:l?c.body_length:E.body.length,body:n.includeBody?E.body:void 0}}function Vl(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?Qi(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};es(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function ql(e,t,n,r){try{let o=await Bl(t,n,r);Vl(t,n,r,o)}catch{ut(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function Gl(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Xl(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Jl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Kl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function Yl(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!Ul(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(ql(r,a,c,t))}return n}async function Ql(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!lt(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await dt(an(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await dt(Sr(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,entry_count:Object.keys(e.state.newEntries).length,directory_signatures:e.directorySignatures});let n=[...e.state.documentsById.values()].map(({candidate:r})=>({relativePath:R.relative(e.pmRoot,r.item_path),metadata:sn(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Di({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await rn(e.pmRoot)}catch{}}async function Zl(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 dt(cn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function eu(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 dt(dn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,collections:e.state.newCollections}).catch(()=>{})}async function Or(e,t,n={}){let r=await Tr(e);return n.required!==!0&&(r===null||r.entry_count<Ki)?async()=>{}:re(e,vl,30,t,!1,!1,3e3)}async function gy(e,t){let n=await Tr(e);if(n===null)return null;let r=await xr(e);if(r.invalid)return await We(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&&!lt(i,await on(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function Gi(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function We(e){await Promise.all([an(e),cn(e),dn(e),vr(e),Sr(e)].map(async t=>{await F.rm(t,{force:!0}),V.delete(t)})),await rn(e)}async function tu(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await F.stat(e.mutation.itemPath),n=sn(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 nu(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Ar(e){let t=Gi(e.pmRoot,e.itemPath),n=e.previousItemPath?Gi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await We(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Zi(e.preferredFormat,e.typeToFolder,e.schema,Yi()),o=await Tr(e.pmRoot);if(o===null||o.context_fingerprint!==r)return[];let i=o.source_cursor,s=await xr(e.pmRoot);if(s.invalid)return await We(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=nu(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 tu({mutation:e});let l=Ji();return await dt(vr(e.pmRoot),{version:Y,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await on(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Mi({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:sn(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await rn(e.pmRoot),[]}catch{return await We(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function ru(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Xi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function ou(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function iu(e){let t=new Map;for(let[n,r]of Object.entries(e.previousEntries)){let o=In(n);if(!o)continue;let i=e.includeCollections?Qi(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);es(s?.itemFormat,o,e.preferredFormat)&&t.set(i.id,{itemFormat:o,candidate:{metadata:i,body:e.includeBody?e.previousBodies[n]?.body:void 0,item_format:o,item_path:R.join(e.pmRoot,n)}})}return[...t.values()].sort((n,r)=>n.candidate.metadata.id.localeCompare(r.candidate.metadata.id)).map(n=>n.candidate)}function su(e){return e.forceSourceScan||or()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!lt(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Xi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Xi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&ou(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function fn(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Yi(),l=Zi(t,n,o,c),f=await xr(e);f.invalid&&await We(e);let u=await Pl(e,l,i.cacheDiagnostics),_=s?await Ll(e,l):null,y=a?await jl(e,l):null;Ml(u,_,y,f.envelope);let w=Gl(u,l),S=Xl(_,l),E=Jl(y,l),C=[...new Set(Object.values(n))],N=await on(e,C),Q=Object.keys(w),L=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ki));if(su({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:_,existingCollectionsCache:y,directorySignatures:N,entryKeys:Q,minimumIndexedItems:L,includeBody:s,includeCollections:a,previousBodies:S,previousCollections:E}))return iu({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:w,previousBodies:S,previousCollections:E});let Te=await Promise.all(C.map(Hs=>$l(e,Hs,r))),oe=or(),z=Kl(),wn={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:oe,previousEntries:w,previousBodies:S,previousCollections:E,state:z};await Promise.all(Yl(Te,wn));let pt=await on(e,C),Wr=lt(N,pt)?pt:{},En=z.misses.metadata||Object.keys(w).length!==Object.keys(z.newEntries).length||!lt(u?.directory_signatures,Wr)||u===null?Ji():u.source_cursor;return await Ql({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingCache:u,previousEntries:w,directorySignatures:Wr,state:z,minimumIndexedItems:L}),s&&await Zl({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingBodyCache:_,previousBodies:S,state:z}),a&&await eu({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingCollectionsCache:y,previousCollections:E,state:z}),ru(z)}async function ts(e,t,n,r,o){return(await fn(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function ns(e,t,n,r,o){return(await fn(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import au from"node:fs/promises";import Be 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]="0f666995-78f8-5741-ae0c-0d792feea599")}catch{}})();var ft="_workspace";function Cr(e){return Be.join(e,"history",`${ft}.jsonl`)}function cu(e,t){return{metadata:{id:ft,title:"Workspace state",description:"Audited singleton workspace document state.",type:"Chore",status:"open",priority:2,tags:["workspace-history"],created_at:t,updated_at:t,documents:e},body:""}}function Rr(e,t=e.length){let n=Jt();for(let r of e.slice(0,t))n=Yt(n,r.patch).document;return Kt(n)}function rs(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function du(e,t){let n=Be.resolve(t),r=Be.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||Be.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Cy(e){let t=await je(Cr(e),ft),n=Qt(t);if(!n.ok)throw new TypeError(`Workspace history verification failed: ${n.errors.join(", ")}`);let r=rs(t.length===0?Oe:Rr(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let l;try{let f=du(e,Be.resolve(e,c));if(l=await se(f.absolutePath),l===null){s.push(c);continue}let u=JSON.parse(l);(B(u)===B(r[c])?o:i).push(c)}catch{a.push(c)}}return{ok:i.length===0&&s.length===0&&a.length===0,document_count:Object.keys(r).length,matching_documents:o,mismatched_documents:i,missing_documents:s,unreadable_documents:a}}async function os(e){let t=Cr(e.pmRoot),n=await je(t,ft),r=Qt(n);if(!r.ok)throw new TypeError(`Workspace history verification failed: ${r.errors.join(", ")}`);let o=e.idempotencyKey===void 0?void 0:n.find(u=>u.op===`${e.op}:${e.idempotencyKey}`);if(o)return{entry:o,historyPath:t};let i=new Date().toISOString(),s=n.length===0?Oe:Rr(n),a=rs(s),c=a[e.documentPath];if(c!==void 0&&B(c)!==B(e.before))throw new T(`Workspace history state for "${e.documentPath}" changed outside the audited mutation path.`,I.CONFLICT,{code:"workspace_history_state_conflict",reason:"out_of_band_workspace_state",required:"Reconcile the singleton document with its matching _workspace history state before retrying the mutation.",why:"Accepting the write would make the append-only audit stream describe a state that was not actually observed.",examples:["pm history _workspace --verify","pm validate --check-history-drift --fix-hints"],nextSteps:["Review the version-control change that altered the singleton and preserve the intended document plus its matching workspace history.","Rerun the original mutation only after the on-disk singleton agrees with the latest audited workspace state."],recovery:{recovery_mode:"compact",next_best_command:"pm history _workspace --verify"}});let l=cu({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),f=ze({nowIso:i,author:e.author,op:e.idempotencyKey===void 0?e.op:`${e.op}:${e.idempotencyKey}`,before:s,after:l,message:e.message});return await Ue(t,f),{entry:f,historyPath:t}}async function Ry(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await os(e)}finally{await t()}}async function Ny(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=Cr(e.pmRoot),r=await je(n,ft),o=Qt(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?Oe:Rr(r),s=ze({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await Ue(n,s),{entry:s,historyPath:n}}finally{await t()}}async function is(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await U(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await os({pmRoot:e.pmRoot,documentPath:Be.relative(e.pmRoot,e.filePath).replaceAll("\\","/"),before:n,after:r,op:e.op,author:e.author,lockTtlSeconds:e.lockTtlSeconds,lockWaitMs:e.lockWaitMs,message:e.message})}catch(o){throw t===null?await au.rm(e.filePath,{force:!0}):await U(e.filePath,t),o}return!0}async function Dy(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{let n=await se(e.filePath),r=await e.mutate(n);return{changed:await is({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function ss(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await is(e,await se(e.filePath))}finally{await t()}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="027f6acb-15cc-5707-85ed-b5298b6b6abe")}catch{}})();var j={ok:!1},m=e=>typeof e=="string"?{ok:!0,value:e}:j,x=e=>typeof e=="boolean"?{ok:!0,value:e}:j;function A(e={}){return t=>typeof t!="number"||!Number.isFinite(t)||e.int&&(!Number.isInteger(t)||!Number.isSafeInteger(t))||e.positive&&t<=0||typeof e.min=="number"&&t<e.min||typeof e.max=="number"&&t>e.max?j:{ok:!0,value:t}}function O(...e){return t=>typeof t=="string"&&e.includes(t)?{ok:!0,value:t}:j}function p(e,t){return n=>{if(!Array.isArray(n)||t!==void 0&&n.length>t)return j;let r=[];for(let o of n){let i=e(o);if(!i.ok)return j;r.push(i.value)}return{ok:!0,value:r}}}function Dr(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}:j}function d(e){return t=>t===void 0?{ok:!0,value:void 0}:e(t)}function mn(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return j;let n={};for(let[r,o]of Object.entries(t)){let i=e(o);if(!i.ok)return j;n[r]=i.value}return{ok:!0,value:n}}}function v(e){return t=>{if(typeof t!="object"||t===null||Array.isArray(t))return j;let n=t,r={};for(let[o,i]of Object.entries(e)){let s=i(n[o]);if(!s.ok)return j;s.value!==void 0&&(r[o]=s.value)}return{ok:!0,value:r}}}var lu=v({key:m,values:p(m),required:d(x),aliases:d(p(m)),description:d(m)}),uu=v({command:O("create","update"),option:m,required:d(x),visible:d(x),enabled:d(x)}),fu=v({name:m,description:d(m),default_status:d(m),folder:d(m),aliases:d(p(m)),required_create_fields:d(p(m)),required_create_repeatables:d(p(m)),options:d(p(lu)),command_option_policies:d(p(uu))}),mu=v({id:m,aliases:d(p(m)),roles:d(p(O(...Br))),description:d(m),order:d(A())}),_u=v({key:m,metadata_key:d(m),front_matter_key:d(m),cli_flag:d(m),cli_aliases:d(p(m)),description:d(m),type:d(O(...Vr)),commands:d(p(O(...qr))),repeatable:d(x),required:d(x),required_on_create:d(x),required_types:d(p(m)),allow_unset:d(x)}),pu=e=>{if(!Array.isArray(e)||e.length!==2)return j;let[t,n]=e;return typeof t!="string"||typeof n!="string"?j:{ok:!0,value:[t,n]}},yu=v({type:m,allowed_transitions:p(pu)}),hu=d(v({version:d(A({int:!0})),files:d(v({types:d(m),statuses:d(m),fields:d(m),workflows:d(m)})),statuses:d(p(mu)),fields:d(p(_u)),workflow:d(v({draft_status:d(m),open_status:d(m),in_progress_status:d(m),blocked_status:d(m),close_status:d(m),canceled_status:d(m)})),type_workflows:d(p(yu)),unknown_field_policy:d(O(...Gr))})),gu=d(v({preset:d(O(...Xr)),ownership_enforcement:d(O("none","warn","strict")),create_mode_default:d(O("progressive","strict")),close_validation_default:d(O("off","warn","strict")),require_close_reason:d(x),parent_reference:d(O("warn","strict_error")),metadata_profile:d(O("core","strict","custom")),force_required_for_stale_lock:d(x),create_default_type:d(m),workflow_enforcement:d(O("off","warn","strict")),duplicate_detection_mode:d(O("off","advisory","strict")),duplicate_detection_threshold:d(A({min:0,max:1})),duplicate_detection_limit:d(A({int:!0,min:0,max:20}))})),bu=v({name:m,disabled:d(x),require_trusted:d(x),require_provenance:d(x),sandbox_profile:d(O("none","restricted","strict")),allowed_capabilities:d(p(m)),blocked_capabilities:d(p(m)),allowed_surfaces:d(p(m)),blocked_surfaces:d(p(m)),allowed_commands:d(p(m)),blocked_commands:d(p(m)),allowed_actions:d(p(m)),blocked_actions:d(p(m)),allowed_services:d(p(m)),blocked_services:d(p(m))}),Nr=O("block","warn"),wu=e=>typeof e=="string"?Nr(e):v({global:d(Nr),project:d(Nr)})(e),Eu=d(v({mode:d(O("off","warn","enforce")),trust_mode:d(O("off","warn","enforce")),pm_max_version_exceeded_mode:d(wu),require_provenance:d(x),trusted_extensions:d(p(m)),default_sandbox_profile:d(O("none","restricted","strict")),allowed_extensions:d(p(m)),blocked_extensions:d(p(m)),allowed_capabilities:d(p(m)),blocked_capabilities:d(p(m)),allowed_surfaces:d(p(m)),blocked_surfaces:d(p(m)),allowed_commands:d(p(m)),blocked_commands:d(p(m)),allowed_actions:d(p(m)),blocked_actions:d(p(m)),allowed_services:d(p(m)),blocked_services:d(p(m)),extension_overrides:d(p(bu))})),xe=Dr(128),ku=v({harness:Dr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:d(p(xe,64)),model_environment_keys:d(p(xe,64)),session_environment_keys:d(p(xe,64)),provenance_environment_keys:d(mn(p(xe,64))),provenance_resolvers:d(mn(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:d(p(xe,64)),argv_markers:d(p(xe,64)),client_names:d(p(xe,64))}),vu=v({version:A({int:!0}),id_prefix:m,ids:d(v({token_length:d(A({int:!0,min:4,max:12}))})),author_default:m,agent_identity:d(v({probes_enabled:d(x),identity_vocabulary:d(v({version:A({int:!0,positive:!0}),aliases:mn(Dr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:p(ku)})),mutation_guard:d(v({require_attributed_author:d(x),secret_guard:d(O("off","advise","block")),stale_in_progress_hours:d(A({int:!0,positive:!0}))})),item_format:d(O("toon","json_markdown")),locks:v({ttl_seconds:A({int:!0}),wait_ms:d(A({int:!0,min:0}))}),checkpoints:d(v({retention_days:d(A({int:!0,positive:!0}))})),output:v({default_format:O("toon","json")}),history:d(v({missing_stream:O("auto_create","strict_error"),compact_policy:d(v({enabled:d(x),max_entries:d(A({int:!0,positive:!0})),trigger:d(O("health_warn","auto"))}))})),validation:d(v({sprint_release_format:O("warn","strict_error"),parent_reference:d(O("warn","strict_error")),metadata_profile:d(O("core","strict","custom")),metadata_required_fields:d(p(m)),lifecycle_stale_blocker_reason_patterns:d(p(m)),lifecycle_closure_like_blocked_reason_patterns:d(p(m)),lifecycle_closure_like_resolution_patterns:d(p(m)),lifecycle_closure_like_actual_result_patterns:d(p(m)),estimate_defaults_by_type:d(mn(A({int:!0,positive:!0})))})),governance:gu,workflow:d(v({definition_of_done:p(m)})),testing:d(v({record_results_to_items:x})),telemetry:d(v({enabled:x,first_run_prompt_completed:d(x),capture_level:d(O("minimal","redacted","max")),endpoint:d(m),installation_id:d(m),retention_days:d(A({int:!0,positive:!0}))})),agent_guidance:d(v({prompt_completed:d(x),declined:d(x),declined_at:d(m),template_version:d(A({int:!0,positive:!0})),last_checked_files:d(p(m))})),item_types:d(v({definitions:p(fu)})),schema:hu,context:d(v({default_depth:d(O("brief","standard","deep")),activity_limit:d(A({int:!0,positive:!0})),stale_threshold_days:d(A({int:!0,positive:!0})),sections:d(v({hierarchy:d(x),activity:d(x),progress:d(x),recently_created:d(x),unparented:d(x),blockers:d(x),files:d(x),workload:d(x),staleness:d(x),tests:d(x)}))})),extensions:v({enabled:p(m),disabled:p(m),policy:Eu}),search:v({score_threshold:A(),hybrid_semantic_weight:d(A()),max_results:A({int:!0}),embedding_model:m,embedding_corpus_max_characters:d(A()),embedding_batch_size:A({int:!0}),embedding_timeout_ms:d(A({int:!0})),scanner_max_batch_retries:A({int:!0}),provider:d(m),corpus_fields:d(p(m)),mutation_refresh_policy:d(O("cache_only","semantic_configured","semantic_auto")),query_expansion:d(v({enabled:d(x),provider:d(m)})),rerank:d(v({enabled:d(x),model:d(m),top_k:d(A({int:!0,positive:!0}))})),bm25:d(v({k1:d(A()),b:d(A())}))}),providers:v({openai:v({base_url:m,api_key:m,model:m}),ollama:v({base_url:m,model:m})}),vector_store:v({adapter:d(m),collection_name:d(m),qdrant:v({url:m,api_key:m}),lancedb:v({path:m})})});function as(e){let t=vu(e);return t.ok?{success:!0,data:t.value}:{success:!1}}(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="2d377bc4-c624-561c-9856-405c82099070")}catch{}})();var Su={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},cs=120;function Mr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ls(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Iu=ls(Su),ds=new WeakMap;function xu(e){let t=ds.get(e);if(t)return t;let n=ls(e);return ds.set(e,n),n}function jy(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return cs;if(t){let o=xu(t).get(n);if(Mr(o))return Math.floor(o)}let r=Iu.get(n);return Mr(r)?Math.floor(r):cs}function Pr(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||!Mr(r)||(t[o]=Math.floor(r))}return t}import{stat as Tu}from"node:fs/promises";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="60da76ea-0bd3-56a9-a2bc-d88ba76e1013")}catch{}})();var _n=new Map;function us(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function Ou(e){try{let t=await Tu(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function me(e){let t=us(e),n=await Promise.all(t.map(r=>Ou(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function mt(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 fs(e){return _n.get(e)}function pn(e,t){let n=us(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));_n.set(e,{tracked_paths:n,signatures:r,value:t.value})}function _e(e){if(e){_n.delete(e);return}_n.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]="a434b9ea-4692-51c5-8761-0f1759fff394")}catch{}})();var Au="settings:write",hs=Symbol("pm.settings.persist_source"),Cu=128,Ru=new Set(["off","advisory","strict"]);function ms(e){return structuredClone(Kr[e])}function Nu(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function _s(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 Du(e){return e.preset==="custom"?_s({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):_s({preset:e.preset},e)}function Mu(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),Ru.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 hn(e){let t=e.governance??{},n=Nu(t.preset),r=Mu(t);if(n==="custom"){let s=ms("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=ms(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function gs(){return structuredClone(b)}function bs(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function ws(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function Es(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function ks(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function vs(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function Ss(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function Is(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Cu);return n.length>0?n:b.vector_store.collection_name}function Lr(e){return{present:Array.isArray(e),values:Array.isArray(e)?structuredClone(e):[]}}function Pu(e,t){let n=e.schema,r=Lr(n?.statuses),o=Lr(n?.fields),i=Lr(n?.type_workflows);return{source_settings:structuredClone(e),has_source_item_type_definitions:Array.isArray(e.item_types?.definitions),source_item_type_definitions:Ve(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:Ve(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 xs(e,t){Object.defineProperty(e,hs,{value:t,writable:!0,configurable:!0,enumerable:!1})}function Ts(e){let t=e[hs];if(!(!t||typeof t!="object"))return t}function yn(e){let t=structuredClone(e.settings),n=Ts(e.settings);return n&&xs(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Lu(e,t,n){let r=Ke(t);return[n,Ye(e,r.files.types,Je.types),Ye(e,r.files.statuses,Je.statuses),Ye(e,r.files.fields,Je.fields),Ye(e,r.files.workflows,Je.workflows)]}async function ju(e,t,n){let r=await me(t);pn(e,{tracked_paths:t,signatures:r,value:yn(n)})}async function Fu(e,t,n){try{await ju(e,t,n)}catch{_e(e)}}function ps(e,t){return e.find(n=>n.path===t)}function $u(e,t,n){for(let r of n){let o=ps(e,r),i=ps(t,r);if(!o||!i||!mt([o],[i]))return!1}return!0}async function jr(e,t,n,r,o){try{let i=await me(t);if(!$u(r,i,o)){_e(e);return}pn(e,{tracked_paths:t,signatures:i,value:yn(n)})}catch{_e(e)}}function zu(e,t){let n=Ke(e.schema),r=Ve(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=Ae(r,t.runtime_item_type_definitions),s=Ae(n.statuses,t.runtime_schema_statuses),a=Ae(n.fields,t.runtime_schema_fields),c=Ae(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?Ve(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 _t(e){return{settings:gs(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function Uu(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;let t=e.item_format;return t==="toon"||t==="json_markdown"}function $r(e){return[...new Set((e??[]).map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Os(e){let t=b.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:$r(e?.last_checked_files??t.last_checked_files)}}function X(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Hu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function Wu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function As(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function Bu(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=As(e.sandbox_profile));let r=X(e.allowed_capabilities),o=X(e.blocked_capabilities),i=X(e.allowed_surfaces),s=X(e.blocked_surfaces),a=X(e.allowed_commands),c=X(e.blocked_commands),l=X(e.allowed_actions),f=X(e.blocked_actions),u=X(e.allowed_services),_=X(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),l.length>0&&(n.allowed_actions=l),f.length>0&&(n.blocked_actions=f),u.length>0&&(n.allowed_services=u),_.length>0&&(n.blocked_services=_),n}function Vu(e){let t=new Map;for(let n of e??[]){let r=Bu(n);r&&t.set(r.name,r)}return[...t.values()].sort((n,r)=>n.name.localeCompare(r.name))}function Fr(e){return e==="block"||e==="warn"?e:void 0}function qu(e){if(typeof e=="string")return Fr(e);if(typeof e=="object"&&e!==null&&!Array.isArray(e)){let t=Fr(e.global),n=Fr(e.project);return t===void 0&&n===void 0?void 0:{...t!==void 0?{global:t}:{},...n!==void 0?{project:n}:{}}}}function H(e,t){return X(e?.[t]??b.extensions.policy[t])}function Cs(e){let t=qu(e?.pm_max_version_exceeded_mode);return{mode:Hu(e?.mode),trust_mode:Wu(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:H(e,"trusted_extensions"),default_sandbox_profile:As(e?.default_sandbox_profile),allowed_extensions:H(e,"allowed_extensions"),blocked_extensions:H(e,"blocked_extensions"),allowed_capabilities:H(e,"allowed_capabilities"),blocked_capabilities:H(e,"blocked_capabilities"),allowed_surfaces:H(e,"allowed_surfaces"),blocked_surfaces:H(e,"blocked_surfaces"),allowed_commands:H(e,"allowed_commands"),blocked_commands:H(e,"blocked_commands"),allowed_actions:H(e,"allowed_actions"),blocked_actions:H(e,"blocked_actions"),allowed_services:H(e,"allowed_services"),blocked_services:H(e,"blocked_services"),extension_overrides:Vu(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function Rs(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 pe(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function D(e,t){return e===void 0?t:e}function W(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function zr(e){return Array.isArray(e)?e:[]}function Gu(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Rs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:pe(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:pe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:pe(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:pe(e.validation?.lifecycle_closure_like_actual_result_patterns??t.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Pr(e.validation?.estimate_defaults_by_type)}}function Xu(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 Ju(e,t){return{...t.search,...e.search,mutation_refresh_policy:bs(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:ws(e.search?.query_expansion?.enabled),provider:Es(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:ks(e.search?.rerank?.enabled),model:vs(e.search?.rerank?.model),top_k:Ss(e.search?.rerank?.top_k)}}}function Ku(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Is(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Yu(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Qu(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 Zu(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function Ve(e){let t=(e??[]).map(r=>Qr(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 Ns(e){let t=gs(),n=hn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Yu(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},history:{...t.history,...e.history,compact_policy:{...t.history.compact_policy,...e.history?.compact_policy}},validation:Gu(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},telemetry:Xu(e,t),agent_guidance:Os(e.agent_guidance??t.agent_guidance),item_types:{definitions:Ve(e.item_types?.definitions)},schema:Ke(e.schema??t.schema),context:Qu(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:Cs(e.extensions.policy??t.extensions.policy)},search:Ju(e,t),providers:Zu(e,t),vector_store:Ku(e,t)}}function ef(e){e.agent_identity=k(e.agent_identity,["probes_enabled","identity_vocabulary","harness_signals"]);let t=e.agent_identity;Object.hasOwn(t,"identity_vocabulary")&&(t.identity_vocabulary=k(W(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=zr(e.agent_identity.harness_signals).map(n=>k(W(n),["harness","environment_keys","model_environment_keys","session_environment_keys","provenance_environment_keys","provenance_resolvers","provenance_unavailable_dimensions","argv_markers","client_names"])),e.locks=k(e.locks,["ttl_seconds","wait_ms"]),e.ids=k(e.ids,["token_length"]),e.mutation_guard=k(e.mutation_guard,["require_attributed_author","secret_guard","stale_in_progress_hours"]),e.checkpoints=k(e.checkpoints,["retention_days"]),e.output=k(e.output,["default_format"]),e.history=k(e.history,["missing_stream","compact_policy"]),e.validation=k(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=k(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=k(e.workflow,["definition_of_done"]),e.testing=k(e.testing,["record_results_to_items"]),e.telemetry=k(e.telemetry,["enabled","first_run_prompt_completed","capture_level","endpoint","installation_id","retention_days"]),e.agent_guidance=k(e.agent_guidance,["prompt_completed","declined","declined_at","template_version","last_checked_files"]),e.item_types=k(e.item_types,["definitions"]),e.schema=k(e.schema,["version","files","statuses","fields","workflow","type_workflows","unknown_field_policy"]),e.schema.files=k(W(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=k(W(e.schema.workflow),["draft_status","open_status","in_progress_status","blocked_status","close_status","canceled_status"]),e.context=k(e.context,["default_depth","activity_limit","stale_threshold_days","sections"]),e.context.sections=k(W(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=k(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=k(W(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=zr(e.extensions.policy.extension_overrides).map(n=>k(W(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=k(e.search,["score_threshold","hybrid_semantic_weight","max_results","embedding_model","embedding_corpus_max_characters","embedding_batch_size","embedding_timeout_ms","scanner_max_batch_retries","provider","mutation_refresh_policy","query_expansion","rerank"]),e.search.query_expansion=k(W(e.search.query_expansion),["enabled","provider"]),e.search.rerank=k(W(e.search.rerank),["enabled","model","top_k"]),e.providers=k(e.providers,["openai","ollama"]),e.providers.openai=k(W(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=k(W(e.providers.ollama),["base_url","model"]),e.vector_store=k(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=k(W(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=k(W(e.vector_store.lancedb),["path"])}function tf(e){return{...e,locks:D(e.locks,b.locks),ids:D(e.ids,b.ids),agent_identity:D(e.agent_identity,b.agent_identity),mutation_guard:D(e.mutation_guard,b.mutation_guard),checkpoints:D(e.checkpoints,b.checkpoints),output:D(e.output,b.output),history:D(e.history,b.history),validation:D(e.validation,b.validation),workflow:D(e.workflow,b.workflow),testing:D(e.testing,b.testing),telemetry:D(e.telemetry,b.telemetry),agent_guidance:D(e.agent_guidance,b.agent_guidance),item_types:D(e.item_types,b.item_types),schema:D(e.schema,b.schema),context:D(e.context,b.context),extensions:D(e.extensions,b.extensions),search:D(e.search,b.search),providers:D(e.providers,b.providers),vector_store:D(e.vector_store,b.vector_store)}}function nf(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Rs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:pe(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:pe(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:pe(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:pe(e.validation?.lifecycle_closure_like_actual_result_patterns??b.validation.lifecycle_closure_like_actual_result_patterns),estimate_defaults_by_type:Pr(e.validation?.estimate_defaults_by_type)}}function rf(e){return{...b.search,...e.search,mutation_refresh_policy:bs(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:ws(e.search?.query_expansion?.enabled),provider:Es(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:ks(e.search?.rerank?.enabled),model:vs(e.search?.rerank?.model),top_k:Ss(e.search?.rerank?.top_k)}}}function of(e){return{default_depth:e.context?.default_depth??b.context.default_depth,activity_limit:e.context?.activity_limit??b.context.activity_limit,stale_threshold_days:e.context?.stale_threshold_days??b.context.stale_threshold_days,sections:{...b.context.sections,...e.context?.sections}}}function sf(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:Is(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function af(e,t,n,r){return{...e,item_format:"toon",validation:nf(e,t),governance:t,agent_guidance:Os(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:rf(e),context:of(e),extensions:{enabled:$r(e.extensions?.enabled),disabled:$r(e.extensions?.disabled),policy:Cs(e.extensions?.policy)},vector_store:sf(e)}}function Ds(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(!Ae(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:{};Ds(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ms=["version","id_prefix","ids","author_default","agent_identity","mutation_guard","item_format","locks","checkpoints","output","history","validation","governance","workflow","testing","telemetry","agent_guidance","item_types","schema","context","extensions","search","providers","vector_store"];function ys(e,t){let n=tf(e),r=hn(n),o=Ke(n.schema),i=zu(n,t),s=af(n,r,o,i),a=k({...s,governance:Du(r)},Ms);return ef(a),a}function cf(e,t={}){let n=ys(e,t.persist_source);if(t.persist_source){let r=Ns(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=ys(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Ds(i,o,n),`${JSON.stringify(k(i,Ms),null,2)}
153
+ `}return`${JSON.stringify(n,null,2)}
154
+ `}async function Ps(e){let t=vn(e),n=[t];await K({path:t,scope:"project"});let r=fs(e);if(r){let l=await me(r.tracked_paths);if(mt(l,r.signatures))return yn(r.value)}let o=await me([t]),i;try{i=await se(t)}catch{return _t("settings_read_fs_error")}if(i===null){let l=_t();return await jr(e,[t],l,o,[t]),l}let s=await me([t]);if(!mt(o,s))return _e(e),Ps(e);let a;try{a=JSON.parse(i)}catch{let l=_t("settings_read_invalid_json");return await jr(e,[t],l,s,[t]),l}let c=as(a);if(!c.success){let l=_t("settings_read_invalid_schema");return await jr(e,[t],l,s,[t]),l}try{let l=Ns(c.data),f=Lu(e,l.schema,t);n=f;let u=await me(f),_=await fo(e,l.schema),y=await mo(e,l.schema),w=await me(f),S={...l,item_types:{definitions:Ve([...l.item_types.definitions,...zr(y.type_definitions_from_file)])},schema:y.schema};xs(S,Pu(c.data,S));let E={settings:S,metadata:{has_explicit_item_format:Uu(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],..._.created_paths.map(C=>`runtime_schema_bootstrap_created:${C}`),...y.warnings]};return _.created_paths.length===0?mt(u,w)?pn(e,{tracked_paths:f,signatures:w,value:yn(E)}):_e(e):_e(e),E}catch{let l=_t("settings_read_merge_failed");return await Fu(e,n,l),l}}async function Zy(e){return(await Ps(e)).settings}async function eh(e,t,n=Au){let r=vn(e),o=cf(t,{persist_source:Ts(t)});try{await ss({pmRoot:e,filePath:r,raw:o,op:n,author:Ro(void 0,t.author_default),lockTtlSeconds:t.locks.ttl_seconds,lockWaitMs:t.locks.wait_ms,recordCreation:!1}),await G({path:r,scope:"project",op:n})}finally{_e(e)}}import df from"node:fs/promises";import lf from"node:path";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="58fd6fef-9c13-5c6a-9110-b760461896aa")}catch{}})();function uf(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function ff(e,t){return new T(`Missing history stream for ${e}. ${t} requires history streams when settings.history.missing_stream is strict_error.`,I.NOT_FOUND)}async function mf(e,t){return await Yr(lf.dirname(e)),await(await df.open(e,"a")).close(),G({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Ur(e){return _f({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function _f(e){let t=uf(e.itemIds),n=[],r=[];for(let o of t){let i=Xe(e.pmRoot,o);if(!await vt(i)){if(e.settings.history.missing_stream==="strict_error")throw ff(o,e.commandLabel);r.push(...await mf(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import ye from"node:fs/promises";import qe 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]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function pf(e){try{return await ye.access(e),!0}catch{return!1}}function gn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function yf(e,t){e&&(e.includes(t)||e.push(t))}function Ls(e){return e??kt(rt())}function hf(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function bn(e){return new T(`Tracker root is not a directory at ${e}.`,I.USAGE,{code:"tracker_root_not_directory",reason:"not_a_directory",nextSteps:["Pass the tracker directory itself, usually <workspace>/.agents/pm."]})}async function gf(e){let t=qe.parse(qe.resolve(e)).root,n=qe.dirname(qe.resolve(e));for(;n!==t;){let r;try{r=await ye.stat(n)}catch(o){if(gn(o,"ENOTDIR"))throw bn(e);if(!gn(o,"ENOENT"))throw o;n=qe.dirname(n);continue}if(!r.isDirectory())throw bn(e);break}}async function Hr(e){let t;try{t=await ye.stat(e)}catch(n){throw gn(n,"ENOENT")?(await gf(e),new T(`Tracker root does not exist at ${e}.`,I.NOT_FOUND,{code:"tracker_root_missing",reason:"missing",nextSteps:["Confirm the tracker root path and retry the SDK read.","Initialize a tracker before enumerating its item metadata."]})):gn(n,"ENOTDIR")?bn(e):n}if(!t.isDirectory())throw bn(e)}async function js(e,t,n="pm-",r,o=he){let i=gr(t,n),s=hr(t),a=i===s?[i]:[i,s],c=Object.entries(o),l=hf(r);for(let f of a)for(let[u]of c)for(let _ of l){let y=Sn(e,u,f,_,o);if(await pf(y))return{id:f,type:u,itemPath:y,item_format:_}}return null}async function Fs(e,t={}){let n=await ye.readFile(e.itemPath,"utf8");await K({path:e.itemPath,scope:"project"});let r=Ft(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ls(t.extensionFieldNames),onWarning:o=>yf(t.warnings,o)});return{raw:n,document:r}}async function bf(e,t,n=he,r,o){return await Hr(e),(await ts(e,t,n,r,o)).map(s=>s.metadata)}async function Ah(e,t,n=he,r,o){return await Hr(e),(await ns(e,t,n,r,o)).map(s=>s.metadata)}async function Ch(e,t,n=he,r,o,i={}){return await Hr(e),(await fn(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function $s(e){return{async get(t){let n=await js(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await Fs(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>bf(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function wf(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await ye.readdir(qe.join(e,o));for(let s of i)for(let a of St)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function Ef(e,t,n,r){let o=gr(t,n),i=await wf(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:yt(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function kf(e,t,n,r){let o=await Ef(e,t,n,r),i=["Confirm the active --path/PM_PATH scope, then retry with a valid id."];return o.length>0&&i.unshift(`Did you mean one of: ${o.join(", ")}?`),new T(`Item ${t} not found`,I.NOT_FOUND,{nextSteps:i})}function vf(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 zs(e){let t=e.typeToFolder??Zr(e.settings,rt()).type_to_folder,n=await js(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await kf(e.pmRoot,e.id,e.settings.id_prefix,t);let r=await re(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 Fs(n,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames,warnings:o}),a=s.metadata.assignee?.trim(),c=s.metadata.claim_principal?.trim()||a,l=Co(e.author),f=hn(e.settings);if(a&&c!==l&&!e.force&&!vf(e.op,e.bypassAssigneeConflict)){if(f.ownership_enforcement==="strict")throw new T(`Item ${n.id} is assigned to ${a}. Use --force to override.`,I.CONFLICT);f.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 Sf(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 If(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await U(e.originalItemPath,e.originalRaw),await ye.rm(e.effectiveTargetItemPath,{force:!0});return}await U(e.originalItemPath,e.originalRaw)}}async function Rh(e){let t=await zs({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=q(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=q(structuredClone(i),{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),f=await e.mutate(l);if(e.skipNoop===!0&&f.changedFields.length===0)return{item:c.metadata,body:c.body,changedFields:[],warnings:[...s,...f.warnings??[]]};l.metadata.updated_at=ve();let u=q(l,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames});await rr({pm_root:e.pmRoot,operation:e.op,before:c,after:u,changed_fields:f.changedFields,sdk:$s({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let _=await Ur({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),y="toon",w=Zo(u,{format:y,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=Sn(e.pmRoot,u.metadata.type,r.id,y,n),E=Xe(e.pmRoot,r.id),C=await ee("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:E,item_format:y,before:c,after:u,contents:w}),{effectiveTargetItemPath:N,effectiveSerializedAfter:Q,skipItemWrite:L}=Sf(C,S,w),Te=await Or(e.pmRoot,e.author),oe=[];try{L||await U(N,Q),!L&&N!==r.itemPath&&await ye.rm(r.itemPath);let wn=ze({nowIso:u.metadata.updated_at,author:e.author,op:e.op,before:c,after:u,message:e.message});try{await Ue(E,wn)}catch(pt){throw await If({skipItemWrite:L,effectiveTargetItemPath:N,originalItemPath:r.itemPath,originalRaw:o}),pt}L||(oe=await Ar({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:n,schema:e.settings.schema,itemPath:N,previousItemPath:r.itemPath,document:u}))}finally{await Te()}let z=[...await G({path:N,scope:"project",op:e.op,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:f.changedFields}),...await G({path:E,scope:"project",op:`${e.op}:history`,item_id:u.metadata.id,item_type:u.metadata.type,before:c,after:u,changed_fields:f.changedFields})];return nr({id:u.metadata.id,op:e.op,item_type:u.metadata.type,previous_status:c.metadata.status,status:u.metadata.status,previous:$t(c.metadata,f.changedFields),current:$t(u.metadata,f.changedFields),changed_fields:f.changedFields}),{item:u.metadata,body:u.body,changedFields:f.changedFields,warnings:[...s,...f.warnings??[],..._.warnings,...C.warnings,...oe,...z]}}finally{await a()}}async function Nh(e){let t=await zs({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=Ls(void 0),c=q(o,{schema:e.settings.schema,extensionFieldNames:a});await rr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:$s({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:t.typeToFolder})});let l=await Ur({pmRoot:e.pmRoot,settings:e.settings,itemId:n.id,commandLabel:"delete"}),f=ve(),u=Oe,_=ze({nowIso:f,author:e.author,op:"delete",before:c,after:u,message:e.message}),y=Xe(e.pmRoot,n.id),w=await ee("item_store_delete",{op:"delete",pm_root:e.pmRoot,item_id:n.id,item_path:n.itemPath,history_path:y,before:c}),S=n.itemPath,E=!1;if(w.handled&&typeof w.result=="object"&&w.result!==null){let L=w.result;typeof L.item_path=="string"&&L.item_path.trim().length>0&&(S=L.item_path),L.skip_delete===!0&&(E=!0)}if(e.dryRun===!0)return{item:c.metadata,changedFields:["deleted"],targetPath:S,warnings:[...i,...l.warnings,...w.warnings]};let C=await Or(e.pmRoot,e.author),N=[];try{E||await ye.rm(S);try{await Ue(y,_)}catch(L){throw E||await U(S,r),L}E||(N=await Ar({pmRoot:e.pmRoot,preferredFormat:e.settings.item_format,typeToFolder:t.typeToFolder,schema:e.settings.schema,itemPath:S,document:null}))}finally{await C()}let Q=[...await G({path:S,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]}),...await G({path:y,scope:"project",op:"delete:history",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]})];return nr({id:c.metadata.id,op:"delete",item_type:c.metadata.type,previous_status:c.metadata.status,previous:$t(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...w.warnings,...N,...Q]}}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]="a9b23a46-0bba-5174-8793-dfc37016d1fb")}catch{}})();function xf(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:yt(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 Us(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function jh(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(_=>_.trim()))].filter(Boolean).sort((_,y)=>_.localeCompare(y));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",l=e.retry_command?void 0:xf(r,o),f=Us([...i,r,...s]),u=e.retry_command??(l?Us([...i,l,...s]):void 0);return new T(`Unknown ${a} ${c} "${r}". Allowed: ${o.join(", ")}${e.message_suffix??""}`,e.exit_code??I.USAGE,{code:"unknown_subcommand",reason:"unknown_positional_token",examples:[...u?[u]:[],...e.examples??[],`pm ${t} --help`],nextSteps:u?[`Retry with the suggested command: ${u}`]:["Choose one value from recovery.allowed_values."],recovery:{attempted_command:f,allowed_values:o,suggested_retry:u,fallback_candidates:e.fallback_candidates}})}export{Xm as a,Qc as b,a_ as c,ad as d,c_ as e,d_ as f,l_ as g,u_ as h,f_ as i,m_ as j,__ as k,rt as l,nr as m,$t as n,G as o,rr as p,K as q,or as r,p_ as s,y_ as t,ee as u,vd as v,we as w,Tn as x,Af as y,Cf as z,Tt as A,Nn as B,jf as C,Ff as D,$f as E,zf as F,Uf as G,Hf as H,$n as I,Ys as J,Yf as K,Qf as L,Zf as M,Wn as N,To as O,em as P,tm as Q,nm as R,ma as S,Co as T,Ro as U,ve as V,$ as W,um as X,fm as Y,re as Z,Ho as _,Qe as $,Sm as aa,Im as ba,Ne as ca,Fo as da,_m as ea,$o as fa,Da as ga,pm as ha,Mt as ia,Pa as ja,bm as ka,Pt as la,jt as ma,Ft as na,Zo as oa,q as pa,je as qa,M_ as ra,P_ as sa,np as ta,rp as ua,Rd as va,ot as wa,ue as xa,Ep as ya,pr as za,kp as Aa,ze as Ba,Ue as Ca,$d as Da,Jt as Ea,Xt as Fa,Kt as Ga,Cp as Ha,Rp as Ia,Si as Ja,Yt as Ka,Ii as La,Qt as Ma,Wd as Na,Np as Oa,Dp as Pa,ft as Qa,Cr as Ra,Cy as Sa,Ry as Ta,Ny as Ua,Dy as Va,ss as Wa,jy as Xa,hn as Ya,Ps as Za,Zy as _a,eh as $a,Ur as ab,_f as bb,Oi as cb,hr as db,gr as eb,zp as fb,qp as gb,Gp as hb,Xp as ib,Ki as jb,Al as kb,Or as lb,gy as mb,Ar as nb,fn as ob,js as pb,Fs as qb,bf as rb,Ah as sb,Ch as tb,$s as ub,kf as vb,Rh as wb,Nh as xb,jh as yb};
155
+ //# sourceMappingURL=chunk-QLNMCESQ.js.map