@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
@@ -1,155 +0,0 @@
1
- import{F as Zr,Ia as vt,K as kt,Ka as Ge,Ma as Xe,Na as Je,O as vn,P as Sn,Pa as fo,Q as In,Qa as mo,R as qe,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 _t,h as wt,o as Yr,p as Et,r as he,s as se,t as z,ta as oo,u as Ve,ua as io,va as so,wa as ao,xa as co,ya as lo,z as Qr,za as uo}from"./chunk-K7RWWOAG.js";import{C as gt,D as bt,E as kn,G as Jr,R as ye,S as ie,T as Kr,W as b,X as xe,Y as I,Z as T,aa as W,ba as Te,ca as ge,da as k,n as pt,o as Br,p as Vr,q as qr,r as Gr,v as yt,w as ht,x as Xr}from"./chunk-Q4YY3XNF.js";import{AsyncLocalStorage as Hs}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 Hs,go=/^[A-Za-z0-9](?:[A-Za-z0-9._:-]{0,127})$/u;function St(e,t){let n=typeof e=="string"?e.trim():"";return n.length>0?n.slice(0,t):void 0}function be(e,t){if(e===void 0)return;let n=typeof e=="object"&&e!==null?e:{},r=St(n.id,128),o=St(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=St(n.label,256);return{id:r,...i===void 0?{}:{label:i},...o===void 0?{}:{parent_id:o}}}function Oe(e){let t={};for(let[n,r]of Object.entries(e??{}).slice(0,32)){let o=n.trim().toLowerCase().slice(0,64),i=St(r,256);/^[a-z][a-z0-9_-]{0,63}$/u.test(o)&&i!==void 0&&(t[o]=i)}return t}function Ws(e,t,n){let r=xn.getStore(),o=Oe({role:t.PM_AGENT_SESSION_ROLE,topic:t.PM_AGENT_SESSION_TOPIC}),i=be(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={...Oe(r?.provenance),...o,...Oe(e?.provenance)},a=be(e?.episode,!1)??be(n,!1)??i??be(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 Ws(e.session_context,t,e.client_info?.episode)??{}}function Of(e,t){let n=xn.getStore(),r=be(e.episode,!0),o=be(n?.episode,!1),i=r!==void 0&&r.parent_id===void 0&&o!==void 0?{...r,parent_id:o.id}:r,s={...Oe(n?.provenance),...Oe(e.provenance)};return xn.run({...Object.keys(s).length===0?{}:{provenance:s},...i===void 0?o===void 0?{}:{episode:o}:{episode:i}},t)}function Af(e){let t=Oe(e.provenance),n=be(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 Xs}from"node:crypto";import xt from"node:fs";import Js from"node:os";import vo from"node:path";import{createHash as bo}from"node:crypto";import{existsSync as On,promises as wo,readFileSync as Bs}from"node:fs";import X 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 Vs="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 qs(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 X.join(to(e),Vs)}async function It(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=qs(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(X.dirname(n),{recursive:!0}),await z(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 It(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 Lf(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 jf(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 Ff(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 Gs(e,t){let n=t.PM_PATH?.trim();if(n){let o=X.resolve(e,n);if(On(X.join(o,"settings.json")))return o;let i=X.join(o,".agents","pm");if(On(X.join(i,"settings.json")))return i}let r=X.resolve(e);for(let o=0;o<32;o+=1){let i=X.join(r,".agents","pm");if(On(X.join(i,"settings.json")))return i;let s=X.dirname(r);if(s===r)break;r=s}}function ko(e){if(!e.key)return;let t=Gs(e.cwd,e.env);if(t)try{let n=JSON.parse(Bs(Cn(t),"utf8"));return Eo(n.semantic_attribution?.[e.key])}catch{return}}async function $f(e){return(await It(e)).focused_item}async function zf(e,t){let n=await It(e);await Rn(e,{...n,focused_item:t})}async function Uf(e){let n={...await It(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"],Ot=new Fn,So=new Fn,At=new Fn,Ks=[{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:[]}],Ae=new Map,Ln=/^[a-z0-9]+(?:-[a-z0-9]+)*$/u;function P(e){let t=typeof e=="string"?e.trim():void 0;return t&&t.length>0?t:void 0}function we(e){return[...new Set((e??[]).slice(0,64).map(t=>t.trim()).filter(t=>t.length>0).map(t=>t.slice(0,128)))]}function Ct(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:we(e.environment_keys),model_environment_keys:we(e.model_environment_keys),session_environment_keys:we(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),we(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:we(e.provenance_unavailable_dimensions).map(n=>n.toLowerCase()),argv_markers:we(e.argv_markers).map(n=>n.toLowerCase()),client_names:we(e.client_names).map(n=>n.toLowerCase())}}var Io=Ks.map(Ct);function Ys(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Tt(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,...[...Ae.values()].map(r=>r.descriptor),...At.getStore()?.descriptors??[],...e.map(Ct)],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=P(e[n]);if(r)return r.slice(0,256)}}function Qs(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 P(r[o+1])?.slice(0,256);let s=n.find(a=>i.startsWith(`${a}=`));if(s)return P(i.slice(s.length+1))?.slice(0,256)}}var Zs=new Set(["implementation","implementer","investigator","orchestrator","planner","release-operator","reviewer"]);function Ee(e,t){if(e!=="role"||t===void 0)return t;let n=t.trim().toLowerCase().replaceAll(/[_\s]+/gu,"-");return Zs.has(n)?n:void 0}function jn(e,t){return P(e?.[t])?.slice(0,256)}var ea=1048576;function ta(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 P(i)?.slice(0,256)}function na(e,t,n){let r=P(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??Js.homedir(),".claude","projects",i,`${r}.jsonl`);try{let a=xt.openSync(s,"r");try{let c=xt.fstatSync(a).size,l=Math.min(c,ea),f=Buffer.alloc(l);xt.readSync(a,f,0,l,Math.max(0,c-l));let u=f.toString("utf8").split(`
2
- `).reverse();for(let y of u.slice(0,4096)){let p=ta(y,e);if(p)return p}return}finally{xt.closeSync(a)}}catch{return}}function ra(e,t,n,r){let o=At.getStore();if(!(t.probes_enabled!==!1&&o?.probesEnabled!==!1&&!["0","false","off"].includes(P(n.PM_AGENT_PROBES)?.toLowerCase()??"")))return;let s=r?.provenance_resolvers[e];if(s==="claude_session_file")return na(e,t,n);if(s==="ai_agent_version"){let a=P(n.AI_AGENT);return!a||!r||!Tt(a,r.harness)?void 0:/(?:^|[@/\s])v?(\d+\.\d+(?:\.\d+)?(?:[-+][A-Za-z0-9.-]+)?)$/u.exec(a)?.[1]?.slice(0,256)}}function oa(e,t,n){if(e==="ai_agent_version"){let r=P(n.AI_AGENT);return r!==void 0&&Tt(r,t.harness)}return P(n.CLAUDE_CODE_SESSION_ID)!==void 0}function Hn(e){return e||(So.getStore()??{env:process.env,argv:process.argv})}function ia(e,t,n,r){let o=e.environment_keys.some(a=>P(t[a])!==void 0),i=e.argv_markers.some(a=>n.some(c=>{let l=c.replaceAll("\\","/");return Tt(l.slice(l.lastIndexOf("/")+1),a)})),s=e.client_names.some(a=>r===a||Tt(r,a));return o||i||s}function sa(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 aa(e){let t=e.find(([n])=>n!==void 0);return t?.[0]?{value:t[0],source:t[1]}:void 0}function ca(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=Ee(e,P(n[s])?.slice(0,256)),f=Ee(e,xo(t.argv??[],e)),l=Ee(e,Qs(t.argv??[],e)));let u={...r?.provenance_environment_keys,model:r?.model_environment_keys},y={...t.client_info?.provenance,model:t.client_info?.model},p=jn(o?.provenance,e),w=Ee(e,Un(n,u[e])),S=Ee(e,jn(y,e)),E=Ee(e,jn(t.provenance,e)),C=ra(e,t,n,r);return aa([[c,"override"],[p,"session"],[f,"argv"],[w,"environment"],[S,"mcp_client"],[E,"host"],[C,"probe"]])??sa(e,i)??(l?{value:l,source:"argv"}:void 0)}function da(e,t){if(!(!e||!t))return Xs("sha256").update(`pm-agent-instance:v1\0${e}\0${t}`).digest("hex").slice(0,24)}function la(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=ca(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 Kf(e){let t=e.map(Ct),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=Ae.get(i.harness);if(s&&!Ys(s.descriptor,i))throw new Error(`Harness signal descriptor collision for "${i.harness}"`);r.add(i.harness)}for(let i of t){let s=Ae.get(i.harness);Ae.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=Ae.get(i.harness);!s||s.registrations<=1?Ae.delete(i.harness):s.registrations-=1}}}}function Yf(e,t){return So.run(e,t)}function Qf(e,t,n={}){let r=e.map(Ct);return zn(r),At.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=>ia(w,n,o,i)),a=Tn(t,n),c=[Un(n,s?.session_environment_keys),P(t.client_info?.session)?.slice(0,256)].find(w=>w!==void 0),l=da(s?.harness,c),f=ko({cwd:t.cwd??process.cwd(),env:n,key:l}),u=la(t,n,s,a,f),y=u.model,p=[["harness",s?.harness],["model",y?.value],["model_source",y?.source],["session",c],["instance",l],["provenance",Object.keys(u).length>0?u:void 0],["episode",a.episode]];return Object.fromEntries(p.filter(w=>w[1]!==void 0))}function ua(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=oa(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&&At.getStore()?.probesEnabled!==!1&&!["0","false","off"].includes(P(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=P(l)?.slice(0,256);return f!==void 0&&Ee("role",f)===void 0}),c=Object.fromEntries($n.map(l=>[l,ua(l,n,r,o,i,l==="role"&&a)]));return{...n,provenance_outcomes:c}}function Zf(){return process.env.PM_AUTHOR}function em(e){e===void 0?delete process.env.PM_AUTHOR:process.env.PM_AUTHOR=e}function tm(e){return Wn(e).harness}function fa(e,t,n){let r=Hn(n),o=Wn(r);if(e!==void 0){let s=P(e);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}if(r.env?.PM_AUTHOR!==void 0){let s=P(r.env.PM_AUTHOR);return s?{author:s,source:"asserted",...o}:{author:"unknown",source:"unknown",...o}}let i=P(t);return i?{author:i,source:"configured",...o}:o.harness?{author:`harness:${o.harness}`,source:"detected",...o}:{author:"unknown",source:"unknown",...o}}function Oo(e){let t=Ot.getStore();return t?.author===e?t.source:e.startsWith("harness:")?"detected":e==="unknown"?"unknown":"asserted"}function Ao(e){let t=Ot.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=Ot.getStore();return t?.author===e&&t.source==="detected"&&t.instance?`${e}#${t.instance}`:e}function Ro(e,t){let n=fa(e,t);return Ot.enterWith(n),n.author}import ma from"node:crypto";import{AsyncLocalStorage as _a}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 _a,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=ma.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 pa=/^([+-]?)(\d+)([hdwm])$/i,ya=/^[+-]?\d+[hdwm](?:[+-]\d+[hdwm])+$/i,ha=/^(\d{4})(\d{2})(\d{2})$/,ga=/^(\d{4})(\d{2})(\d{2})(?:[T\s]?)(\d{2})(\d{2})(\d{2})?([.,]\d{1,3})?(Z|[+-]\d{2}:?\d{2})?$/i,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;function ke(){return Mo()??new Date().toISOString()}function ae(e){return Number.isFinite(Date.parse(e))}var Ea=1e4,Rt=new Map;function Lo(e){let t=Rt.get(e);if(t!==void 0)return t;let n=Date.parse(e);return Rt.size>=Ea&&vt(Rt),Rt.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 lm(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 ka(e,t,n){n&&n!==t&&(e.includes(n)||e.push(n))}function va(e){let t=[],n=l=>ka(t,e,l),r=ha.exec(e);if(r){let[,l,f,u]=r;n(`${l}-${f}-${u}`)}let o=ga.exec(e);if(o){let[,l,f,u,y,p,w,S,E]=o,C=w?`:${w}`:"";n(`${l}-${f}-${u}T${y}:${p}${C}${Bn(S)}${Vn(E)}`)}let i=ba.exec(e);if(i){let[,l,f,u,y,p,w]=i,S=y?`:${y}`:"";n(`${l}T${f}:${u}${S}${Bn(p)}${Vn(w)}`)}let s=wa.exec(e);if(s){let[,l,f,u,y,p,w]=s,S=y?`:${y}`:"";n(`${l}T${f}:${u}${S}${Bn(p)}${Vn(w)}`)}let a=10,c=e.slice(0,a);if(Ia(c)){let l=a;for(;l<e.length&&xa(e[l]);)l+=1;l<e.length&&n(`${c}T${e.slice(l)}`)}return t}function Sa(e){let t=Date.parse(e);if(Number.isFinite(t))return t;for(let n of va(e)){let r=Date.parse(n);if(Number.isFinite(r))return r}return Number.NaN}function Ia(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 xa(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 Ta=["January","February","March","April","May","June","July","August","September","October","November","December"],Oa=/^(\d{4})-(\d{2})-(\d{2})/,Aa=/^(\d{4})(\d{2})(\d{2})(?:[T ]?\d{2}|$)/;function Ca(e,t,n){let r=Oa.exec(t)??Aa.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}". ${Ta[i-1]} ${o} has ${c} days, so day "${r[3]}" does not exist. Use a real YYYY-MM-DD calendar date.`,I.USAGE)}function Ra(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 um(e,t=new Date,n="deadline"){let r=e.trim();if(r.toLowerCase()==="now")return t.toISOString();let o=pa.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 Ra(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()}Ca(e,r,n);let i=Sa(r);if(!Number.isFinite(i)){let s=n.trim().length>0?n.trim():"deadline",a=ya.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 Ce=1,Fo=1;function mm(e){let t=e.pm_format_version;return typeof t=="number"&&Number.isInteger(t)&&t>=Ce?t:Ce}function $o(e){if(!(typeof e!="number"||!Number.isInteger(e)||e<=Ce))return e}function Na(e,t=Fo){return e<t?"outdated":e>t?"ahead":"current"}function _m(e,t=Fo){let n=[],r=[];for(let o of e){let i=Na(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 Da={"in-progress":"in_progress",cancelled:"canceled"};function Nt(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=Da[n]??n;if(pt.includes(r))return r}function Ma(e,t){return Nt(e,t)??e}function gm(e,t){return t.terminal_statuses.has(Ma(e,t))}import{encode as Ua}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 Pa(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 Pa(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 La(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 Ke(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:La(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 ja(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 vm(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){ja(i,n)&&o.push(`--${i.cli_flag}`);continue}r[i.metadata_key]=Ke(i,s)}return{values:r,missing_required_flags:[...new Set(o)].sort((i,s)=>i.localeCompare(s))}}function Sm(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]=Ke(s,a)))}return r}import{decode as Fa}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:Fa(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 $a=/^\s*(<<<<<<<|=======|>>>>>>>)(?:\s.*)?$/;function za(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($a);if(!i)continue;let s=i[1];n.push({line:r+1,marker:s,text:o})}return n}function Dt(e){return za(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 Ha=new Set(["schema","tracker","auto"]),Wa=new Set(["passed","failed","stopped","canceled"]),Ba=new Set(Jr);function De(e){return e.replaceAll("\\","/")}function Go(e){for(let t of e)if(t!==0)return t;return 0}function Mt(e){for(let[t,n]of Object.entries(e))n===void 0&&delete e[t]}var Xo=["id","title","description","created_at","updated_at"],Va=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 qa(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 Ze(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(Va);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 et(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 Ga(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(bt.includes(n),`event.recurrence.by_weekday entries must be one of: ${bt.join(", ")}`)}}}function Xa(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 Ja(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 Ka(e){let t=et(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(gt.includes(n),`event.recurrence.freq must be one of: ${gt.join(", ")}`),Vo(t,"interval","event.recurrence.interval"),Vo(t,"count","event.recurrence.count"),Yn(t,"until","event.recurrence.until"),Ga(t.by_weekday),Xa(t.by_month_day),Ja(t.exdates)}function Ya(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>=Ce,`pm_format_version must be an integer >= ${Ce}`),t}function Qa(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=Nt(n,r),i=r?r.definitions.map(s=>s.id):[...pt];g(o!==void 0,`status must be one of: ${i.join(", ")}`)}function Za(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 ec(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"||ht.includes(n);g(r,`confidence string value must be one of: ${[...ht,"med"].join(", ")}`);return}g(!1,"confidence must be a number or string")}}function tc(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"||yt.includes(n);g(r,`severity value must be one of: ${[...yt,"med"].join(", ")}`)}function nc(e){e.regression!==void 0&&typeof e.regression!="boolean"&&ce("regression must be a boolean")}function rc(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=et(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 oc(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 ic(e){e.recurrence!==void 0&&(Ka(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 sc(e){let t=et(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")),oc(t),t.all_day!==void 0&&g(typeof t.all_day=="boolean","event.all_day must be a boolean"),ic(t)}function ac(e){let t=e.events;if(t!==void 0){g(Array.isArray(t),"events must be an array");for(let n of t)sc(n)}}function cc(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 dc(e){let t=e.type_options;if(t===void 0)return;let n=et(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 lc(e,t,n){if(n?.fieldRegistry)for(let r of n.fieldRegistry.definitions){let o=e[r.metadata_key];if(o===void 0){qa(r,t)&&ce(`missing required schema field: ${r.metadata_key}`);continue}try{e[r.metadata_key]=Ke(r,o,`metadata field "${r.metadata_key}"`)}catch(i){ce(String(i?.message).replace(/^Invalid\s+/u,""))}}}function uc(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=et(e,"item metadata must be an object"),r=Ya(n);Qa(n,t),Za(n),ec(n),tc(n),nc(n),Xn(n,"created_at"),Xn(n,"updated_at"),n.deadline!==void 0&&Xn(n,"deadline"),rc(n),ac(n),Yn(n,"closed_at","closed_at"),Yn(n,"completed_at","completed_at"),cc(n),dc(n),lc(n,r,t),uc(n,t)}function fc(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 mc(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 _c(e){if(!e)return;let t=e.freq.trim().toLowerCase();if(!gt.includes(t))return;let n=Array.from(new Set((e.by_weekday??[]).map(s=>s.trim().toLowerCase()).filter(s=>bt.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 pc(e){return!Array.isArray(e)||e.length===0?void 0:[...e].map(yc).sort(hc)}function yc(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:_c(e.recurrence)};return Mt(t),t}function hc(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 gc(e){if(!(!e||e.length===0))return e.map(t=>({path:De(t.path),scope:t.scope,note:t.note?.trim()||void 0}))}function bc(e){if(!e||e.length===0)return;let t=e.map(kc).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 Re(e){return typeof e=="number"&&Number.isFinite(e)&&e>=0?Math.floor(e):void 0}function wc(e){return typeof e=="number"&&Number.isFinite(e)&&e>=1?Math.floor(e):void 0}function Kn(e){return typeof e=="string"?e:""}function Ec(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 kc(e){let t=typeof e.run_id=="string"?e.run_id.trim():"",n=e.kind==="test"||e.kind==="test-all"?e.kind:"test",r=Wa.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:wc(e.attempt),resumed_from:e.resumed_from?.trim()||void 0,passed:Re(e.passed)??0,failed:Re(e.failed)??0,skipped:Re(e.skipped)??0,items:Re(e.items),linked_tests:Re(e.linked_tests),fail_on_skipped_triggered:e.fail_on_skipped_triggered===!0?!0:void 0,measurements:Ec(e.measurements)};return Mt(o),o}function vc(e){if(!(!Array.isArray(e)||e.length===0))return e.map(xc)}function Ye(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 Sc(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 Ic(e){let t=e?.trim().toLowerCase();if(!(!t||!Ha.has(t)))return t}function xc(e){let t={command:e.command?.trim()||void 0,path:e.path?De(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:Ic(e.pm_context_mode),env_set:qo(e.env_set),env_clear:Ye(e.env_clear),shared_host_safe:e.shared_host_safe===!0?!0:void 0,assert_stdout_contains:Ye(e.assert_stdout_contains),assert_stdout_regex:Ye(e.assert_stdout_regex),assert_stderr_contains:Ye(e.assert_stderr_contains),assert_stderr_regex:Ye(e.assert_stderr_regex),assert_stdout_min_lines:Re(e.assert_stdout_min_lines),assert_json_field_equals:qo(e.assert_json_field_equals),assert_json_field_gte:Sc(e.assert_json_field_gte),note:e.note?.trim()||void 0};return Mt(t),t}function Tc(e){if(!(!e||e.length===0))return[...e].map(t=>({path:De(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 Oc(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 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.path);if(!o)continue;let i={path:De(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 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.command),i=h(r.path);if(!o&&!i)continue;let s={};o&&(s.command=o),i&&(s.path=De(i));let a=h(r.note);a&&(s.note=a),t.push(s)}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.path);if(!o)continue;let i={path:De(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 Nc(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&&Ba.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 Dc(l,t),l}function Dc(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",Oc],["files","files",Ac],["tests","tests",Cc],["docs","docs",Rc]];for(let[i,s,a]of o){let c=a(t[s]);c&&(e[i]=c)}}function Mc(e){if(!Array.isArray(e))return;let t=e.flatMap(n=>{let r=Nc(n);return r?[r]:[]});return t.sort((n,r)=>n.order-r.order),t.length>0?t:void 0}function Pc(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 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.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 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=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 Fc(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 Ne(e){let t=0;for(;t<e.length&&e[t]===`
4
- `;)t+=1;return e.slice(t).trimEnd()}function $c(e){if(e===void 0)return;if(typeof e=="number")return e;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(ht.includes(t))return t}function zc(e){if(e===void 0)return;let t=e.trim().toLowerCase();if(t==="med")return"medium";if(yt.includes(t))return t}function Qe(e){return e||void 0}function Uc(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 Hc(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]=Ke(r,o,`metadata field "${r.metadata_key}"`))}}function Wc(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 Pt(e,t={}){let n=Jo(t),r=Nt(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:Fc(e.type_options),status:r,priority:e.priority,tags:o,created_at:e.created_at,updated_at:e.updated_at,dependencies:fc(e.dependencies),comments:Jn(e.comments),notes:Jn(e.notes),learnings:Jn(e.learnings),files:gc(e.files),tests:vc(e.tests),test_runs:bc(e.test_runs),docs:Tc(e.docs),deadline:Qe(e.deadline),reminders:mc(e.reminders),events:pc(e.events),closed_at:Qe(e.closed_at),completed_at:Qe(e.completed_at),assignee:h(e.assignee),claim_principal:h(e.claim_principal),source_owner:h(e.source_owner),author:Qe(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:$c(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:zc(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:Qe(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:Mc(e.plan_steps),plan_decisions:Pc(e.plan_decisions),plan_discoveries:Lc(e.plan_discoveries),plan_validation:jc(e.plan_validation)};return Uc(i,e),Hc(i,n),Wc(i,n),Mt(i),i}function Qo(e){return k(e,ie)}function Bc(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 Vc(e){if(!e.startsWith("{"))return{frontMatter:"",body:e};let t=Bc(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 qc(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 Pt(e,{...t,onWarning:void 0})}function Gc(e,t,n={}){let r=qc(e);r.stripped&&n.onWarning?.("json_markdown_leading_yaml_frontmatter_ignored");let{frontMatter:o,body:i}=Vc(r.content);o||(e.trimStart().startsWith("{")&&Ze("json_markdown","JSON front matter is not valid JSON"),Ze("json_markdown","JSON Markdown item document is missing JSON front matter"));let s;try{s=JSON.parse(o)}catch{Ze("json_markdown","JSON front matter is not valid JSON")}return Qn(s,t),{metadata:Zn(s,n),body:Ne(i)}}function Xc(e,t,n={}){let r;try{r=Gn(e).value}catch{Ze("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")&&Ze("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:Ne(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:Ne(typeof i=="string"?i:"")}}function Jc(e,t={}){let n=Pt(e.metadata,t),r=Qo(n),o=JSON.stringify(r,null,2),i=Ne(e.body??"");return i?`${o}
6
-
7
- ${i}
8
- `:`${o}
9
- `}function Kc(e,t={}){let n=Pt(e.metadata,t),r=Qo(n),o=Ne(e.body??""),i={...r,body:o},s=JSON.parse(JSON.stringify(i)),a=Ua(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 Lt(e,t={}){let n=Dt(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"?Xc(e,o,t):Gc(e,o,t)}function Zo(e,t={}){return(t.format??"toon")==="toon"?Kc(e,t):Jc(e,t)}function V(e,t={}){return{metadata:Pt(e.metadata,t),body:Ne(e.body??"")}}import{existsSync as Qc}from"node:fs";import{AsyncLocalStorage as Zc}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 Gm(){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 Yc(){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 Me=null,ti=null,ed=null,td=null,tr=null,nd=null,ni=null,rd=null;var od=[],ri=new Zc;function L(){return ri.getStore()}function s_(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 id=new Set(["body","comments","dependencies","docs","events","files","learnings","notes","reminders","test_runs","tests"]);function ei(e){let t=Z.resolve(e);for(;;){if(Qc(Z.join(t,".git")))return t;let n=Z.dirname(t);if(n===t)return;t=n}}function sd(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 a_(e){let t=L();if(t){t.hooks=e;return}Me=e}function c_(e){let t=L();if(t){t.commands=e;return}ti=e}function d_(e){let t=L();if(t){t.parsers=e;return}ed=e}function l_(e){let t=L();if(t){t.preflight=e;return}td=e}function u_(e){let t=L();if(t){t.services=e;return}tr=e}function f_(e){let t=L();if(t){t.renderers=e;return}nd=e}function m_(e){let t=L();if(t){t.registrations=e;return}ni=e}function tt(){let e=L();return e?e.registrations:ni}function nr(e){if(!e)return;let t=L();t?t.affectedItems.push(e):od.push(e)}function jt(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"||id.has(i)||Object.hasOwn(r,i)&&r[i]!==void 0&&(n[i]=r[i])}return n}async function q(e){let t=L(),n=t?t.hooks:Me;return n?io(n,e):[]}async function rr(e){let t=L(),n=t?t.hooks:Me;n&&await oo(n,e)}async function J(e){let t=L(),n=t?t.hooks:Me;return n?so(n,e):[]}function or(){let e=L();return((e?e.hooks:Me)?.onRead?.length??0)>0}async function __(e){let t=L(),n=t?t.hooks:Me;return n?ao(n,e):[]}async function p_(e){let t=L(),n=t?t.commands:ti;return n?co(n,{...e,...sd(e.pm_root)}):{handled:!1,result:null,warnings:[]}}function oi(e,t){let n=L(),r=n?n.commandContext:rd;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=L(),r=n?n.services:tr;return r?uo(r,oi(e,t)):{handled:!1,result:t,warnings:[]}}function ii(e,t){let n=L(),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 Pe(e,t){let n=await se(e);if(n===null)return[];if(await J({path:e,scope:"project"}),n.trim()==="")return[];let r=Dt(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 ad}from"node:crypto";import{createRequire as cd}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 dd="history-event-index.sqlite",ir="2";function zt(e){return te.join(e,"runtime",dd)}function ld(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}function ud(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?ld(t):null}var Ft;function sr(){return Ft!==void 0||(Ft=ud(process.versions.node,cd(import.meta.url))),Ft}function fd(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 D_(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=zt(e);await de.mkdir(te.dirname(i),{recursive:!0});let s=`${i}.${ad()}.tmp`,a;try{a=new t(s),fd(a),a.exec("BEGIN IMMEDIATE");for(let c of o){let l=c.name.slice(0,-6),f=await Pe(te.join(n,c.name),l);for(let[u,y]of f.entries())si(a,{stream_id:l,stream_offset:u,entry:y})}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=zt(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 Ut(e){await de.rm(zt(te.dirname(te.dirname(e))),{force:!0})}function $t(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function md(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 M_(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)),$t(r,o,"op",t.ops),$t(r,o,"author",t.authors),md(r,o,t.harnesses,t.harness_alias_authors),$t(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);$t(r,o,"stream_id",t.stream_ids);let i=r.length===0?"":` WHERE ${r.join(" AND ")}`,s;try{if(s=new n(zt(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 je 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 Ht="changed_fields",_d="changed_field_count",ar="rows",pd=new Set(["apply","rollback"]),ci=new Set(["deleted","would_delete"]);function ve(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[Ht];if(!Array.isArray(t))return null;let n=Object.getPrototypeOf(e)===null?Object.create(null):{};for(let[r,o]of Object.entries(e))r!==Ht&&(n[r]=o);return n[_d]=t.length,n}function yd(e){return"item"in e&&Array.isArray(e[Ht])}function hd(e){return typeof e.mode=="string"&&pd.has(e.mode)&&Array.isArray(e[ar])}function gd(e,t){let n=Object.getPrototypeOf(e)===null?Object.create(null):{};return Object.assign(n,e),n[ar]=t,n}function bd(e){if(!ve(e))return null;let t=ve(e.item)?e.item:ve(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 wd(e){if(!ve(e)||!ve(e.item)||typeof e.item.id!="string")return null;let t=e[Ht];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 Ed(e){let t=hd(e)?e[ar]:void 0;if(!Array.isArray(t))return{projected:e,changed:!1};let n=!1,r=t.map(o=>{if(!ve(o))return o;let i=di(o);return i?(n=!0,i):o});return n?{projected:gd(e,r),changed:!0}:{projected:e,changed:!1}}function kd(e,t={}){if(t.idOnly===!0){let a=bd(e);if(a!==null)return a}if(t.compactEnvelope===!0){let a=wd(e);if(a!==null)return a}if((t.changedFields??"full")==="full"||!ve(e))return e;let r=!1,o=e,i=yd(e)?di(e):null;i!==null&&(o=i,r=!0);let s=Ed(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]="88eb8f29-72a2-536f-8fc9-394ed3e0e0fb")}catch{}})();var ep=new Set(Object.values(I));var li=!1;function Le(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function cr(e){return typeof e=="object"&&e!==null&&e.code==="EPIPE"}function vd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.SUCCESS)}function Sd(){(process.exitCode===void 0||process.exitCode===I.SUCCESS)&&(process.exitCode=I.GENERIC_FAILURE)}function dr(e){if(e==="stdout"){vd();return}Sd()}function ui(e){let t=e instanceof Error?e:new Error(String(e));setImmediate(()=>{throw t})}function Id(){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 xd(e,t){Id();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 Wt(e){return xd("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 Td(e){return e===null||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}function mi(e){if(e.length===0||!e.every(Le))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)&&Td(n[r])))}function _i(e,t){let n=" ".repeat(t);return e.split(`
45
- `).map(r=>`${n}${r}`).join(`
46
- `)}function Od(e,t,n){let r=" ".repeat(n);return!Le(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):Le(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(Le(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(!Le(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(Le(e)){let r=Object.entries(e);return r.length===0?"{}":r.map(([o,i])=>Od(o,i,t)).join(`
52
- `)}return`${n}${lr(e)}`}function tp(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 np(e){let t=ii("error_format",{message:e}),n=t.handled&&typeof t.result=="string"?t.result:e;Wt(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 Ad=je.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 Cd(e){let t=je.join(e,Ad),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){Wt(`[pm] warning: history_drift_cache_invalidation_failed:${r}
58
- `);return}try{await mr.rm(t,{force:!0})}catch(o){let i=yi(o);if(he(o))return;let s=i===void 0?"unknown":pi[i]??"filesystem_error";Wt(`[pm] warning: history_drift_cache_invalidation_failed:${s}
59
- `)}}async function nt(e){let t=je.dirname(je.resolve(e));je.basename(t)==="history"&&await Cd(je.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 Nd={front_matter:{},body:""},K=2,qt=[1,2];function Bt(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 Dd(e,t){return[e.scope.localeCompare(t.scope),Bt(e.path,t.path),Bt(e.command,t.command),hi(e.timeout_seconds,t.timeout_seconds),Bt(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,{}),Bt(e.note,t.note)].find(r=>r!==0)??0}function Md(e){return!e||e==="/"?[]:e.startsWith("/")?e.slice(1).split("/").map(t=>t.replaceAll("~1","/").replaceAll("~0","~")):[]}function Pd(e,t){let n=Md(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 Ld(e,t){let n=[],r=structuredClone(e);for(let o of t){let i=o.op==="replace"&&!Pd(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=V(e),o=t===1&&r.metadata.tests?{...r.metadata,tests:[...r.metadata.tests].sort(Dd)}: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=V(e);return{metadata:k(n.metadata,ie),body:n.body}}function wp(e){return pr(e,K)}function pr(e,t){if(!qt.some(n=>n===t))throw new TypeError(`unsupported_item_hash_version:${String(t)}`);return ge(W(_r(e,t)))}function Ep(){return ge(W(Nd))}function Fe(e){let t=_r(e.before,K),n=_r(e.after,K),r=gi(e.before),o=gi(e.after),i=Ei.compare(r,o),s=Ld(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:ge(W(t)),after_hash:ge(W(n)),item_hash_version:K,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 jd(e){let t=e.ts.trim();return t.length>0?t:ke()}function wi(e,t){let n=e.ts;return typeof n=="string"&&n.trim().length>0?e:{...e,ts:t}}function Vt(e,t){let n=jd(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 $e(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 Ve(e,Vt(n.result,t)),await nt(e),await Ut(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 Ve(o,Vt(r.line,t)),await nt(o),await Ut(o);return}await Ve(o,Vt(r.entry??t,t)),await nt(o),await Ut(o);return}}await Ve(e,Vt(t,t)),await nt(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]="a1283470-00c7-5e91-8676-e1c1a667537f")}catch{}})();var Fd={metadata:{},body:""};function Xt(){return structuredClone(Fd)}function Gt(e,t=K){if(Object.keys(e.metadata).length===0||Array.isArray(e.metadata.tags))try{return pr(Jt(e),t)}catch{}return ge(W({replay_fallback:!0,metadata:e.metadata,body:e.body}))}function Jt(e){return{metadata:e.metadata,body:e.body}}function Ap(e,t={}){return V(Jt(e),t)}function Cp(e){if(!e.metadata||Object.keys(e.metadata).length===0)return{metadata:{},body:e.body??""};let t=V(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 $d(e){return typeof e=="object"&&e!==null&&typeof e.op=="string"&&typeof e.path=="string"}function Si(e){return Array.isArray(e)?e.filter($d).map(t=>({...t,path:ki(t.path),from:typeof t.from=="string"?ki(t.from):void 0})):[]}function zd(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 Kt(e,t){try{let n=Si(t),r=yr.applyPatch(structuredClone(e),n,!0,!1).newDocument;return zd(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 Ud(e){let t=Xt(),n;for(let r=0;r<e.length;r+=1){let o=e[r],i=o.item_hash_version;if(i!==void 0&&!qt.includes(i))return{ok:!1,errors:[`verify_failed:unsupported_item_hash_version:${String(i)}:entry_${r+1}`]};let s=Kt(t,o.patch);if(!s.ok)return{ok:!1,errors:[`verify_failed:patch_apply_failed:entry_${r+1}`]};let c=(i===void 0?[K,1]:[i]).filter(f=>Gt(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=>Gt(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 Yt(e){let t=Ud(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 Rp(e){let t=e.findIndex(l=>l.item_hash_version!==void 0&&!qt.includes(l.item_hash_version));if(t>=0)throw new TypeError(`unsupported_item_hash_version:${String(e[t]?.item_hash_version)}:entry_${t+1}`);let n=Xt(),r=[],o=[],i=0,s=0,a=0,c=0;for(let l=0;l<e.length;l+=1){let f=e[l],u=Gt(n,K),y=Kt(n,f.patch),p,w,S=!1,E=0,C=0;if(y.ok)p=y.document,w=f.patch;else{let M=Hd(n,f.patch);p=M.document,w=yr.compare(n,p),S=!0,E=M.convertedReplaceToAdd,C=M.skippedOps,a+=E,c+=C,s+=1}let N=Gt(p,K),oe=u!==f.before_hash||N!==f.after_hash;oe&&(i+=1),r.push({...f,patch:w,before_hash:u,after_hash:N,item_hash_version:K}),o.push({index:l+1,rehashed:oe,patch_repaired:S,converted_replace_to_add:E,skipped_ops:C}),n=p}return{entries:r,finalDocument:n,entriesRehashed:i,entriesPatchRepaired:s,convertedReplaceToAdd:a,skippedOps:c,details:o}}function Np(e){return e.length===0?"":`${e.map(t=>JSON.stringify(t)).join(`
60
- `)}
61
- `}import Wd from"node:crypto";import Ii 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 Ti(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=Ti(t),r=hr(e);return r.startsWith(n)?r:`${n}${r}`}function Bd(e){let t=Po(e);if(t!==void 0)return t;let n="";for(let r=0;r<e;r+=1)n+=Wd.randomInt(0,36).toString(36);return n}async function Vd(e,t,n){let r=[...new Set(Object.values(n))].flatMap(o=>[Ii.join(e,o,`${t}.md`),Ii.join(e,o,`${t}.toon`)]);return(await Promise.all(r.map(o=>Et(o)))).some(Boolean)}var xi=4,Oi=12;function qd(e){return typeof e!="number"||!Number.isFinite(e)?xi:Math.min(Oi,Math.max(xi,Math.trunc(e)))}async function $p(e,t,n={}){let r=qd(n.tokenLength),o=Math.min(r+6,Oi),i=0;for(;r<=o;){for(let s=0;s<32;s+=1){let a=`${Ti(t)}${Bd(r)}`;if(n.probeExisting===!1||!await Vd(e,a,n.typeToFolder??ye))return a;i+=1}r+=1}throw new Error(`Unable to generate unique id after ${i} attempts`)}import Se from"node:fs/promises";import Ci from"node:path";import{randomUUID as Gd}from"node:crypto";import{createRequire as Xd}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 Jd="metadata-query-index.sqlite",rt="4";function Kd(e){try{return e(["node","sqlite"].join(":")).DatabaseSync??null}catch{return null}}var Qt;function Yd(e,t){let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>=22?Kd(t):null}function ot(){return Qt!==void 0||(Qt=Yd(process.versions.node,Xd(import.meta.url))),Qt}function Ai(e,t){return Math.max(0,Math.floor(e===void 0?t:e))}function ze(e){return Ci.join(e,"runtime",Jd)}function Qd(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 en(e,t,n){e.prepare("INSERT INTO metadata(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,n)}function Ri(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 Ni(e){let t=ze(e.pmRoot),n=ot();if(!n){await Se.rm(t,{force:!0});return}await Se.mkdir(Ci.dirname(t),{recursive:!0});let r=`${t}.${Gd()}.tmp`,o;try{o=new n(r),Qd(o),o.exec("BEGIN IMMEDIATE"),en(o,"version",rt),en(o,"context_fingerprint",e.contextFingerprint),en(o,"source_cursor",e.sourceCursor);for(let i of e.rows)Ri(o,i);o.exec("COMMIT"),o.close(),o=void 0,await Se.rm(t,{force:!0}),await Se.rename(r,t)}catch(i){throw o?.close(),await Promise.allSettled([Se.rm(r,{force:!0})]),i}}function tn(e){return Object.fromEntries(e.prepare("SELECT key, value FROM metadata").all().map(t=>[String(t.key),String(t.value)]))}async function Di(e){let t=ze(e.pmRoot),n;try{await Se.access(t);let r=ot();if(!r)return!1;n=new r(t),n.exec("PRAGMA foreign_keys = ON");let o=tn(n);if(o.version!==rt||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&&Ri(n,e.row),en(n,"source_cursor",e.sourceCursor),n.exec("COMMIT"),n.close(),!0}catch{try{n?.exec("ROLLBACK")}catch{}return n?.close(),!1}}function Zt(e,t,n,r,o){!r||r.length===0||(e.push(`${n} ${o} (${r.map(()=>"?").join(", ")})`),t.push(...r))}function Zd(e){let t=[],n=[];Zt(t,n,"status",e.statuses,"IN"),Zt(t,n,"status",e.excludeStatuses,"NOT IN"),Zt(t,n,"type",e.types,"IN"),Zt(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 Vp(e){let t=ot();if(!t)return null;let n=e.query??{},{where:r,parameters:o}=Zd(n),i;try{i=new t(ze(e.pmRoot),{readOnly:!0});let s=tn(i);if(s.version!==rt||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(y=>{let p=JSON.parse(String(y.metadata_json));if(!p.id)throw new TypeError("Indexed metadata row has no id");return p});return i.close(),{source_cursor:s.source_cursor,total:Number(a.count),items:u}}catch{return i?.close(),null}}async function qp(e){let t=ot();if(!t||e.paths.length===0)return null;let n;try{n=new t(ze(e.pmRoot),{readOnly:!0});let r=tn(n);if(r.version!==rt||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=Ai(e.limit,50),f=Ai(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),y=[];if(u.length>0){let p=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 (${p.map(()=>"?").join(", ")})
144
- AND ${a}
145
- ORDER BY path ASC, scope ASC`).all(...p,...s),S=new Map(p.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));y.push({item:C,files:S.get(String(E.id))})}}return n.close(),{source_cursor:r.source_cursor,total:Number(c.count),matches:y}}catch{return n?.close(),null}}async function Gp(e){let t=ot();if(!t)return null;let n;try{n=new t(ze(e.pmRoot),{readOnly:!0});let r=tn(n);if(r.version!==rt||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 nn(e){await Se.rm(ze(e),{force:!0})}import F from"node:fs/promises";import R from"node:path";import{createHash as El,randomUUID as Xi}from"node:crypto";import ne from"node:fs/promises";import br from"node:path";import{randomUUID as el}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 tl(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 ji(e){try{let t=await ne.readFile(e,"utf8");return await J({path:e,scope:"project"}),tl(t)}catch(t){return he(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 Fi(e,t){await q({path:e,scope:"project",op:t})}function nl(e,t,n){return{id:e,pid:process.pid,owner:t,created_at:ke(),ttl_seconds:n}}async function rl(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(nl(t,n,r),null,2)}
151
- `,"utf8")}finally{await o.close()}await Fi(e,"lock:create")}async function $i(e,t){try{return await ne.unlink(e),await Fi(e,t),!0}catch{return!1}}function zi(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 ol(e){return e?.owner?` (owner ${e.owner})`:""}var il=25,sl=200,al=250,cl=3,dl=".stale-cleanup",Ui="owner.json",ll=1e4,ul=5*6e4;function Mi(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 fl(e){let t=process.env.PM_LOCK_WAIT_MS,n=Mi(t);if(n!==void 0)return n;let r=Mi(e);return r!==void 0?r:0}function ml(e){let t=Math.max(1,Math.round(e*(.5+Math.random())));return new Promise(n=>setTimeout(n,t))}function Hi(e,t,n){let r=n>0?` after waiting ${n}ms`:"";return new T(`Item ${e} is locked${ol(t)}${r}`,I.CONFLICT,{code:"lock_conflict",recovery:{retry_after_ms:al}})}function _l(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 pl(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 yl(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 Wi(e){try{return yl(await ne.readFile(br.join(e,Ui),"utf8"))}catch{return null}}function hl(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 Pi(e,t){let n=await Wi(e);n===null||n.token!==t||await Er(e)}async function Li(e){try{await ne.mkdir(e)}catch(n){return wr(n,"EEXIST"),null}let t={pid:process.pid,token:el()};try{await ne.writeFile(br.join(e,Ui),`${JSON.stringify(t)}
152
- `,"utf8")}catch{return await Er(e),null}return t}async function gl(e){let t;try{let r=await ne.stat(e);if(t=Date.now()-r.mtimeMs,t<=ll)return!1}catch(r){return he(r)}let n=await Wi(e);return n!==null&&hl(n.pid)&&t<=ul?!1:Er(e)}async function bl(e,t){let n=`${e}${dl}`,r=await Li(n);if(r!==null)return async()=>Pi(n,r.token);if(!await gl(n))return null;let o=await Li(n);return o===null?null:async()=>Pi(n,o.token)}async function wl(e){let t=await bl(e.lockPath,e.id);if(t===null)return{lockInfo:e.fallbackLockInfo,shouldRetryCreate:!1,staleRemovalCounted:!1};try{let n=await ji(e.lockPath);if(n.info===null&&n.warnings.length===0)return{lockInfo:n,shouldRetryCreate:!0,staleRemovalCounted:!1};if(!zi(n.info,e.ttlSeconds))return{lockInfo:n,shouldRetryCreate:!1,staleRemovalCounted:!1};if(pl(e.id,n,e.force,e.forceRequiredForStaleLock),e.staleRemovals>=cl)throw Hi(e.id,n.info,Date.now()-e.startedAtMs);return{lockInfo:n,shouldRetryCreate:await $i(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 p=_l(a.result);if(p)return async()=>{await Promise.resolve(p()),await ee("lock_release",{pm_root:e,id:t,owner:r})}}let c=eo(e,t),l=fl(s),f=Date.now(),u=0,y=il;for(;;)try{return await rl(c,t,r,n),async()=>{await $i(c,"lock:release"),await ee("lock_release",{pm_root:e,id:t,owner:r})}}catch(p){if(!wr(p,"EEXIST"))throw new T(`Failed to acquire lock for ${t}: ${no(p)}`,I.GENERIC_FAILURE);let w=await ji(c);if(zi(w.info,n)){let E=await wl({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 Hi(t,w.info,l===0?0:S);await ml(Math.min(y,l-S)),y=Math.min(y*2,sl)}}(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,Ji=500,kl="metadata-derived-index",vl="metadata-cache.json",Sl="metadata-cache-bodies.json",Il="metadata-cache-collections.json",xl="metadata-cache-delta.json",Tl="metadata-cache-manifest.json",Bi=4,Ol=["comments","notes","learnings","files","tests","test_runs","docs"];function Ki(){return wt(tt())}function on(e){let t={...e},n={};for(let r of Ol)r in t&&(n[r]=t[r],delete t[r]);return{light:t,heavy:n}}function Yi(e,t){return!t||Object.keys(t).length===0?e:{...e,...t}}function Qi(e,t,n,r){let o=El("sha256");o.update(`format:${e??"default"}`);let i=Object.entries(t).sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>`${s}=${a}`).join(",");return o.update(`|types:${i}`),n&&o.update(`|schema:${JSON.stringify(n)}`),r.length>0&&o.update(`|extension_fields:${r.join(",")}`),o.digest("hex").slice(0,16)}function sn(e){return R.join(e,"runtime",vl)}function an(e){return R.join(e,"runtime",Sl)}function cn(e){return R.join(e,"runtime",Il)}function vr(e){return R.join(e,"runtime",xl)}function Sr(e){return R.join(e,"runtime",Tl)}function dn(e,t){let n=R.extname(e);return`${e.slice(0,-n.length)}.${t}${n}`}var Al=24,B=new Map,ln=new WeakMap;function Ir(e){return ln.get(e)??e.source_cursor}function Cl(e,t){let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){ln.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 Rl(e,t){if(!e)return;let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){ln.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 Nl(e,t){if(!e)return;let n=Ir(e);if(!(t.base_source_cursor!==n||e.source_cursor===t.source_cursor)){ln.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 Dl(e,t,n,r){!e||!r||e.context_fingerprint!==r.context_fingerprint||(Cl(e,r),Rl(t,r),Nl(n,r))}function kr(e,t){B.size>=Al&&!B.has(e)&&vt(B),B.set(e,t)}async function ue(e,t){let n;try{n=await F.stat(e)}catch{return B.delete(e),null}let r=B.get(e);if(r&&it(r.signature,n.mtimeMs,n.ctimeMs,n.size))return B.delete(e),B.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 Ml(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=sn(e),i=await ue(o,r);if(!t||i===null||i.context_fingerprint===t)return i;let s=await ue(dn(o,t),r);return s===null&&ct(n,`metadata_cache_context_changed:${i.context_fingerprint}->${t}`),s}async function Pl(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=an(e),o=await ue(r,n);return t&&o?.context_fingerprint!==t?await ue(dn(r,t),n):o}async function Ll(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=cn(e),o=await ue(r,n);return t&&o?.context_fingerprint!==t?await ue(dn(r,t),n):o}async function xr(e){let t=vr(e),n=await ue(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 ue(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 Ue(e)}catch{}return null}async function st(e,t){await F.mkdir(R.dirname(e),{recursive:!0}),await z(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{B.delete(e)}let n=R.dirname(R.dirname(e));if(e===sn(n)||e===an(n)||e===cn(n)){let r=dn(e,t.context_fingerprint);await z(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{B.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>Bi){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-Bi)))await F.rm(l.path,{force:!0}),B.delete(l.path)}}}function jl(e,t,n){return n?t===n&&e!==n:t==="toon"&&e!=="toon"}function Zi(e,t,n){return e===void 0||jl(e,t,n)}function ct(e,t){e&&!e.includes(t)&&e.push(t)}function it(e,t,n,r){return e.mtime_ms===t&&e.ctime_ms===n&&e.size===r}async function Fl(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&&!he(o)&&ct(n,`item_list_directory_read_failed:${t}`),{folder:t,dirPath:r,files:[]}}}async function $l(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 rn(e,t){return Object.fromEntries(await Promise.all(t.map(async n=>await $l(e,n))))}function at(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&&it(o,r.mtime_ms,r.ctime_ms,r.size)})}function zl(e){return kt.some(t=>e.toLowerCase().endsWith(t))}function Ul(e,t,n,r,o,i){r||(e.metadata=!0),t&&!o&&(e.body=!0),n&&!i&&(e.collections=!0)}async function Hl(e,t,n){if(n)for(let r of await J({path:e,scope:"project"}))ct(t,r)}function Vi(e,t,n,r){if(e)return t&&n?n.collections:r}async function Wl(e,t,n){let r=await F.stat(e),o=r.mtimeMs,i=r.ctimeMs,{size:s}=r,a=In(e);await Hl(e,n.warnings,n.dispatchReadHooks);let c=n.previousEntries[t],l=!n.forceSourceRead&&c!==void 0&&it(c,o,i,s),f=n.previousBodies[t],u=!n.forceSourceRead&&f!==void 0&&it(f,o,i,s),y=n.previousCollections[t],p=!n.forceSourceRead&&y!==void 0&&it(y,o,i,s);if(!(!l||n.includeBody&&!u||n.includeCollections&&!p))return{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:c.metadata,heavyMetadata:Vi(n.includeCollections,p,y,void 0),bodyLength:c.body_length,body:n.includeBody?f.body:void 0};let S=await F.readFile(e,"utf8"),E=Lt(S,{format:a,schema:n.schema,extensionFieldNames:n.extensionFieldNames,onWarning:N=>ct(n.warnings,N)}),C=on(E.metadata);return Ul(n.state.misses,n.includeBody,n.includeCollections,l,u,p),{mtimeMs:o,ctimeMs:i,size:s,itemFormat:a,lightMetadata:l?c.metadata:C.light,heavyMetadata:Vi(n.includeCollections,p,y,C.heavy),bodyLength:l?c.body_length:E.body.length,body:n.includeBody?E.body:void 0}}function Bl(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?Yi(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};Zi(i?.itemFormat,r.itemFormat,n.preferredFormat)&&n.state.documentsById.set(o.id,{candidate:s,itemFormat:r.itemFormat})}async function Vl(e,t,n,r){try{let o=await Wl(t,n,r);Bl(t,n,r,o)}catch{ct(r.warnings,`item_list_item_read_failed:${e}/${R.basename(t)}`)}}function ql(e,t){return e&&e.context_fingerprint===t?e.entries:{}}function Gl(e,t){return e&&e.context_fingerprint===t?e.bodies:{}}function Xl(e,t){return e&&e.context_fingerprint===t?e.collections:{}}function Jl(){return{newEntries:{},newBodies:{},newCollections:{},documentsById:new Map,misses:{metadata:!1,body:!1,collections:!1}}}function Kl(e,t){let n=[];for(let{folder:r,dirPath:o,files:i}of e)for(let s of i){if(!zl(s))continue;let a=R.join(o,s),c=R.relative(t.pmRoot,a);n.push(Vl(r,a,c,t))}return n}async function Yl(e){if(!(!(e.state.misses.metadata||Object.keys(e.previousEntries).length!==Object.keys(e.state.newEntries).length||!at(e.existingCache?.directory_signatures,e.directorySignatures))&&e.existingCache!==null&&e.existingCache.context_fingerprint===e.contextFingerprint))try{await st(sn(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,directory_signatures:e.directorySignatures,entries:e.state.newEntries}),await st(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:on(r.metadata).light,linkedFiles:r.metadata.files??[]}));n.length>=e.minimumIndexedItems?await Ni({pmRoot:e.pmRoot,contextFingerprint:e.contextFingerprint,sourceCursor:e.sourceCursor,rows:n}):await nn(e.pmRoot)}catch{}}async function Ql(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 st(an(e.pmRoot),{version:Y,context_fingerprint:e.contextFingerprint,source_cursor:e.sourceCursor,bodies:e.state.newBodies}).catch(()=>{})}async function Zl(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 st(cn(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<Ji)?async()=>{}:re(e,kl,30,t,!1,!1,3e3)}async function hy(e,t){let n=await Tr(e);if(n===null)return null;let r=await xr(e);if(r.invalid)return await Ue(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&&!at(i,await rn(e,t))?null:{source_cursor:o,entry_count:n.entry_count}}function qi(e,t){let n=R.relative(e,t);return n===""||n===".."||n.startsWith(`..${R.sep}`)||R.isAbsolute(n)?null:n}async function Ue(e){await Promise.all([sn(e),an(e),cn(e),vr(e),Sr(e)].map(async t=>{await F.rm(t,{force:!0}),B.delete(t)})),await nn(e)}async function eu(e){if(e.mutation.document===null)return{entry:null,body:null,collections:null};let t=await F.stat(e.mutation.itemPath),n=on(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 tu(e,t,n){return e?.context_fingerprint===t&&e.base_source_cursor===n?structuredClone(e.changes):{}}async function Ar(e){let t=qi(e.pmRoot,e.itemPath),n=e.previousItemPath?qi(e.pmRoot,e.previousItemPath):void 0;if(t===null||n===null)return await Ue(e.pmRoot),["metadata_derived_index_path_invalidated"];try{let r=Qi(e.preferredFormat,e.typeToFolder,e.schema,Ki()),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 Ue(e.pmRoot),["metadata_derived_index_refresh_failed"];let a=tu(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 eu({mutation:e});let l=Xi();return await st(vr(e.pmRoot),{version:Y,context_fingerprint:r,base_source_cursor:i,source_cursor:l,directory_signatures:await rn(e.pmRoot,[...new Set(Object.values(e.typeToFolder))]),changes:a}),await Di({pmRoot:e.pmRoot,contextFingerprint:r,expectedSourceCursor:c,sourceCursor:l,row:e.document===null?null:{relativePath:t,metadata:on(e.document.metadata).light,linkedFiles:e.document.metadata.files},deletedRelativePaths:[...n===void 0?[]:[n],...e.document===null?[t]:[]]})||await nn(e.pmRoot),[]}catch{return await Ue(e.pmRoot).catch(()=>{}),["metadata_derived_index_refresh_failed"]}}function nu(e){return[...e.documentsById.values()].sort((t,n)=>t.candidate.metadata.id.localeCompare(n.candidate.metadata.id)).map(t=>t.candidate)}function Gi(e,t,n){return e?.context_fingerprint===t&&e.source_cursor===n}function ru(e,t,n,r,o){return e.every(i=>(!t||r[i]!==void 0)&&(!n||o[i]!==void 0))}function ou(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?Yi(r.metadata,e.previousCollections[n]?.collections):r.metadata,s=t.get(i.id);Zi(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 iu(e){return e.forceSourceScan||or()||e.existingCache?.context_fingerprint!==e.contextFingerprint||e.entryKeys.length<e.minimumIndexedItems||!at(e.existingCache?.directory_signatures,e.directorySignatures)?!1:[!e.includeBody||Gi(e.existingBodyCache,e.contextFingerprint,e.existingCache.source_cursor),!e.includeCollections||Gi(e.existingCollectionsCache,e.contextFingerprint,e.existingCache.source_cursor)].every(Boolean)&&ru(e.entryKeys,e.includeBody,e.includeCollections,e.previousBodies,e.previousCollections)}async function un(e,t,n,r,o,i={}){let s=i.includeBody!==!1,a=i.includeCollections!==!1,c=Ki(),l=Qi(t,n,o,c),f=await xr(e);f.invalid&&await Ue(e);let u=await Ml(e,l,i.cacheDiagnostics),y=s?await Pl(e,l):null,p=a?await Ll(e,l):null;Dl(u,y,p,f.envelope);let w=ql(u,l),S=Gl(y,l),E=Xl(p,l),C=[...new Set(Object.values(n))],N=await rn(e,C),oe=Object.keys(w),M=Math.max(1,Math.floor(i.derivedIndexMinimumItems??Ji));if(iu({forceSourceScan:i.forceSourceScan===!0,contextFingerprint:l,existingCache:u,existingBodyCache:y,existingCollectionsCache:p,directorySignatures:N,entryKeys:oe,minimumIndexedItems:M,includeBody:s,includeCollections:a,previousBodies:S,previousCollections:E}))return ou({pmRoot:e,preferredFormat:t,includeBody:s,includeCollections:a,previousEntries:w,previousBodies:S,previousCollections:E});let bn=await Promise.all(C.map(Us=>Fl(e,Us,r))),ft=or(),Q=Jl(),wn={pmRoot:e,preferredFormat:t,warnings:r,schema:o,extensionFieldNames:c,includeBody:s,includeCollections:a,forceSourceRead:i.forceSourceScan===!0,dispatchReadHooks:ft,previousEntries:w,previousBodies:S,previousCollections:E,state:Q};await Promise.all(Kl(bn,wn));let mt=await rn(e,C),Wr=at(N,mt)?mt:{},En=Q.misses.metadata||Object.keys(w).length!==Object.keys(Q.newEntries).length||!at(u?.directory_signatures,Wr)||u===null?Xi():u.source_cursor;return await Yl({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingCache:u,previousEntries:w,directorySignatures:Wr,state:Q,minimumIndexedItems:M}),s&&await Ql({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingBodyCache:y,previousBodies:S,state:Q}),a&&await Zl({pmRoot:e,contextFingerprint:l,sourceCursor:En,existingCollectionsCache:p,previousCollections:E,state:Q}),nu(Q)}async function es(e,t,n,r,o){return(await un(e,t,n,r,o,{includeBody:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}async function ts(e,t,n,r,o){return(await un(e,t,n,r,o,{includeBody:!1,includeCollections:!1})).map(s=>({metadata:s.metadata,body:s.body??""}))}import su from"node:fs/promises";import He 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 dt="_workspace";function Cr(e){return He.join(e,"history",`${dt}.jsonl`)}function au(e,t){return{metadata:{id:dt,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=Xt();for(let r of e.slice(0,t))n=Kt(n,r.patch).document;return Jt(n)}function ns(e){return"documents"in e.metadata&&typeof e.metadata.documents=="object"&&e.metadata.documents!==null&&!Array.isArray(e.metadata.documents)?e.metadata.documents:{}}function cu(e,t){let n=He.resolve(t),r=He.relative(e,n).replaceAll("\\","/");if(r.length===0||r===".."||r.startsWith("../")||He.isAbsolute(r))throw new TypeError("Workspace history document path must stay inside the tracker root");return{documentPath:r,absolutePath:n}}async function Ay(e){let t=await Pe(Cr(e),dt),n=Yt(t);if(!n.ok)throw new TypeError(`Workspace history verification failed: ${n.errors.join(", ")}`);let r=ns(t.length===0?xe:Rr(t)),o=[],i=[],s=[],a=[];for(let c of Object.keys(r).sort()){let l;try{let f=cu(e,He.resolve(e,c));if(l=await se(f.absolutePath),l===null){s.push(c);continue}let u=JSON.parse(l);(W(u)===W(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 rs(e){let t=Cr(e.pmRoot),n=await Pe(t,dt),r=Yt(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?xe:Rr(n),a=ns(s),c=a[e.documentPath];if(c!==void 0&&W(c)!==W(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=au({...a,[e.documentPath]:e.after},n.length===0?i:s.metadata.created_at),f=Fe({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 $e(t,f),{entry:f,historyPath:t}}async function Cy(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await rs(e)}finally{await t()}}async function Ry(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 Pe(n,dt),o=Yt(r);if(!o.ok)throw new TypeError(`Workspace history verification failed: ${o.errors.join(", ")}`);let i=r.length===0?xe:Rr(r),s=Fe({nowIso:new Date().toISOString(),author:e.author,op:e.op,before:i,after:i,message:e.message,context:e.context});return await $e(n,s),{entry:s,historyPath:n}}finally{await t()}}async function os(e,t){if(t===e.raw)return!1;let n=t===null?null:JSON.parse(t),r=JSON.parse(e.raw);await z(e.filePath,e.raw);try{(t!==null||e.recordCreation!==!1)&&await rs({pmRoot:e.pmRoot,documentPath:He.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 su.rm(e.filePath,{force:!0}):await z(e.filePath,t),o}return!0}async function Ny(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 os({...e,raw:r.raw},n),result:r.result}}finally{await t()}}async function is(e){let t=await re(e.pmRoot,"workspace-history",e.lockTtlSeconds,e.author,!1,!1,e.lockWaitMs);try{return await os(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 _(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 fn(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 du=v({key:m,values:_(m),required:d(x),aliases:d(_(m)),description:d(m)}),lu=v({command:O("create","update"),option:m,required:d(x),visible:d(x),enabled:d(x)}),uu=v({name:m,description:d(m),default_status:d(m),folder:d(m),aliases:d(_(m)),required_create_fields:d(_(m)),required_create_repeatables:d(_(m)),options:d(_(du)),command_option_policies:d(_(lu))}),fu=v({id:m,aliases:d(_(m)),roles:d(_(O(...Br))),description:d(m),order:d(A())}),mu=v({key:m,metadata_key:d(m),front_matter_key:d(m),cli_flag:d(m),cli_aliases:d(_(m)),description:d(m),type:d(O(...Vr)),commands:d(_(O(...qr))),repeatable:d(x),required:d(x),required_on_create:d(x),required_types:d(_(m)),allow_unset:d(x)}),_u=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]}},pu=v({type:m,allowed_transitions:_(_u)}),yu=d(v({version:d(A({int:!0})),files:d(v({types:d(m),statuses:d(m),fields:d(m),workflows:d(m)})),statuses:d(_(fu)),fields:d(_(mu)),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(_(pu)),unknown_field_policy:d(O(...Gr))})),hu=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}))})),gu=v({name:m,disabled:d(x),require_trusted:d(x),require_provenance:d(x),sandbox_profile:d(O("none","restricted","strict")),allowed_capabilities:d(_(m)),blocked_capabilities:d(_(m)),allowed_surfaces:d(_(m)),blocked_surfaces:d(_(m)),allowed_commands:d(_(m)),blocked_commands:d(_(m)),allowed_actions:d(_(m)),blocked_actions:d(_(m)),allowed_services:d(_(m)),blocked_services:d(_(m))}),Nr=O("block","warn"),bu=e=>typeof e=="string"?Nr(e):v({global:d(Nr),project:d(Nr)})(e),wu=d(v({mode:d(O("off","warn","enforce")),trust_mode:d(O("off","warn","enforce")),pm_max_version_exceeded_mode:d(bu),require_provenance:d(x),trusted_extensions:d(_(m)),default_sandbox_profile:d(O("none","restricted","strict")),allowed_extensions:d(_(m)),blocked_extensions:d(_(m)),allowed_capabilities:d(_(m)),blocked_capabilities:d(_(m)),allowed_surfaces:d(_(m)),blocked_surfaces:d(_(m)),allowed_commands:d(_(m)),blocked_commands:d(_(m)),allowed_actions:d(_(m)),blocked_actions:d(_(m)),allowed_services:d(_(m)),blocked_services:d(_(m)),extension_overrides:d(_(gu))})),Ie=Dr(128),Eu=v({harness:Dr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u),environment_keys:d(_(Ie,64)),model_environment_keys:d(_(Ie,64)),session_environment_keys:d(_(Ie,64)),provenance_environment_keys:d(fn(_(Ie,64))),provenance_resolvers:d(fn(O("ai_agent_version","claude_session_file"))),provenance_unavailable_dimensions:d(_(Ie,64)),argv_markers:d(_(Ie,64)),client_names:d(_(Ie,64))}),ku=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:fn(Dr(128,/^[a-z0-9]+(?:-[a-z0-9]+)*$/u))})),harness_signals:_(Eu)})),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(_(m)),lifecycle_stale_blocker_reason_patterns:d(_(m)),lifecycle_closure_like_blocked_reason_patterns:d(_(m)),lifecycle_closure_like_resolution_patterns:d(_(m)),lifecycle_closure_like_actual_result_patterns:d(_(m)),estimate_defaults_by_type:d(fn(A({int:!0,positive:!0})))})),governance:hu,workflow:d(v({definition_of_done:_(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(_(m))})),item_types:d(v({definitions:_(uu)})),schema:yu,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:_(m),disabled:_(m),policy:wu}),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(_(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 ss(e){let t=ku(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 vu={Epic:2880,Feature:480,Story:480,Milestone:2880,Task:120,Issue:60,Bug:60,Chore:30,Decision:15,Plan:120},as=120;function Mr(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function ds(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n.toLowerCase(),r);return t}var Su=ds(vu),cs=new WeakMap;function Iu(e){let t=cs.get(e);if(t)return t;let n=ds(e);return cs.set(e,n),n}function Ly(e,t){let n=(e??"").trim().toLowerCase();if(n.length===0)return as;if(t){let o=Iu(t).get(n);if(Mr(o))return Math.floor(o)}let r=Su.get(n);return Mr(r)?Math.floor(r):as}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 xu}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 mn=new Map;function ls(e){return[...new Set(e.map(t=>t.trim()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}async function Tu(e){try{let t=await xu(e);return{path:e,mtime_ms:t.mtimeMs,size:t.size}}catch{return{path:e,mtime_ms:null,size:null}}}async function fe(e){let t=ls(e),n=await Promise.all(t.map(r=>Tu(r)));return n.sort((r,o)=>r.path.localeCompare(o.path)),n}function lt(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 us(e){return mn.get(e)}function _n(e,t){let n=ls(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));mn.set(e,{tracked_paths:n,signatures:r,value:t.value})}function me(e){if(e){mn.delete(e);return}mn.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 Ou="settings:write",ys=Symbol("pm.settings.persist_source"),Au=128,Cu=new Set(["off","advisory","strict"]);function fs(e){return structuredClone(Kr[e])}function Ru(e){return e==="minimal"||e==="default"||e==="strict"||e==="custom"?e:b.governance.preset}function ms(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 Nu(e){return e.preset==="custom"?ms({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):ms({preset:e.preset},e)}function Du(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),Cu.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 yn(e){let t=e.governance??{},n=Ru(t.preset),r=Du(t);if(n==="custom"){let s=fs("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=fs(n),i=r.require_close_reason??o.require_close_reason;return{preset:n,...o,...r,require_close_reason:i}}function hs(){return structuredClone(b)}function gs(e){return e==="cache_only"||e==="semantic_configured"||e==="semantic_auto"?e:b.search.mutation_refresh_policy}function bs(e){return typeof e=="boolean"?e:b.search.query_expansion.enabled}function ws(e){return typeof e!="string"?b.search.query_expansion.provider:e.trim()}function Es(e){return typeof e=="boolean"?e:b.search.rerank.enabled}function ks(e){return typeof e!="string"?b.search.rerank.model:e.trim()}function vs(e){return typeof e=="number"&&Number.isFinite(e)&&Number.isInteger(e)&&e>0?e:b.search.rerank.top_k}function Ss(e){if(typeof e!="string")return b.vector_store.collection_name;let n=e.trim().replaceAll(/[^a-zA-Z0-9_-]/g,"_").slice(0,Au);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 Mu(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:We(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:We(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 Is(e,t){Object.defineProperty(e,ys,{value:t,writable:!0,configurable:!0,enumerable:!1})}function xs(e){let t=e[ys];if(!(!t||typeof t!="object"))return t}function pn(e){let t=structuredClone(e.settings),n=xs(e.settings);return n&&Is(t,n),{settings:t,metadata:{has_explicit_item_format:e.metadata.has_explicit_item_format},warnings:[...e.warnings]}}function Pu(e,t,n){let r=Xe(t);return[n,Je(e,r.files.types,Ge.types),Je(e,r.files.statuses,Ge.statuses),Je(e,r.files.fields,Ge.fields),Je(e,r.files.workflows,Ge.workflows)]}async function Lu(e,t,n){let r=await fe(t);_n(e,{tracked_paths:t,signatures:r,value:pn(n)})}async function ju(e,t,n){try{await Lu(e,t,n)}catch{me(e)}}function _s(e,t){return e.find(n=>n.path===t)}function Fu(e,t,n){for(let r of n){let o=_s(e,r),i=_s(t,r);if(!o||!i||!lt([o],[i]))return!1}return!0}async function jr(e,t,n,r,o){try{let i=await fe(t);if(!Fu(r,i,o)){me(e);return}_n(e,{tracked_paths:t,signatures:i,value:pn(n)})}catch{me(e)}}function $u(e,t){let n=Xe(e.schema),r=We(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=Te(r,t.runtime_item_type_definitions),s=Te(n.statuses,t.runtime_schema_statuses),a=Te(n.fields,t.runtime_schema_fields),c=Te(o,t.runtime_schema_type_workflows);return{item_type_definitions:i?t.has_source_item_type_definitions?We(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 ut(e){return{settings:hs(),metadata:{has_explicit_item_format:!1},warnings:e?[e]:[]}}function zu(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 Ts(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 G(e){return[...new Set((e??[]).map(t=>t.trim().toLowerCase()).filter(t=>t.length>0))].sort((t,n)=>t.localeCompare(n))}function Uu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.mode}function Hu(e){return e==="off"||e==="warn"||e==="enforce"?e:b.extensions.policy.trust_mode}function Os(e){return e==="none"||e==="restricted"||e==="strict"?e:b.extensions.policy.default_sandbox_profile}function Wu(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=Os(e.sandbox_profile));let r=G(e.allowed_capabilities),o=G(e.blocked_capabilities),i=G(e.allowed_surfaces),s=G(e.blocked_surfaces),a=G(e.allowed_commands),c=G(e.blocked_commands),l=G(e.allowed_actions),f=G(e.blocked_actions),u=G(e.allowed_services),y=G(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),y.length>0&&(n.blocked_services=y),n}function Bu(e){let t=new Map;for(let n of e??[]){let r=Wu(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 Vu(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 U(e,t){return G(e?.[t]??b.extensions.policy[t])}function As(e){let t=Vu(e?.pm_max_version_exceeded_mode);return{mode:Uu(e?.mode),trust_mode:Hu(e?.trust_mode),...t!==void 0?{pm_max_version_exceeded_mode:t}:{},require_provenance:e?.require_provenance===!0,trusted_extensions:U(e,"trusted_extensions"),default_sandbox_profile:Os(e?.default_sandbox_profile),allowed_extensions:U(e,"allowed_extensions"),blocked_extensions:U(e,"blocked_extensions"),allowed_capabilities:U(e,"allowed_capabilities"),blocked_capabilities:U(e,"blocked_capabilities"),allowed_surfaces:U(e,"allowed_surfaces"),blocked_surfaces:U(e,"blocked_surfaces"),allowed_commands:U(e,"allowed_commands"),blocked_commands:U(e,"blocked_commands"),allowed_actions:U(e,"allowed_actions"),blocked_actions:U(e,"blocked_actions"),allowed_services:U(e,"allowed_services"),blocked_services:U(e,"blocked_services"),extension_overrides:Bu(e?.extension_overrides??b.extensions.policy.extension_overrides)}}function Cs(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 _e(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 H(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)?e:{}}function zr(e){return Array.isArray(e)?e:[]}function qu(e,t,n){return{...t.validation,...e.validation,parent_reference:n.parent_reference,metadata_profile:n.metadata_profile,metadata_required_fields:Cs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:_e(e.validation?.lifecycle_stale_blocker_reason_patterns??t.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:_e(e.validation?.lifecycle_closure_like_blocked_reason_patterns??t.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:_e(e.validation?.lifecycle_closure_like_resolution_patterns??t.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:_e(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 Gu(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 Xu(e,t){return{...t.search,...e.search,mutation_refresh_policy:gs(e.search?.mutation_refresh_policy),query_expansion:{...t.search.query_expansion,...e.search?.query_expansion,enabled:bs(e.search?.query_expansion?.enabled),provider:ws(e.search?.query_expansion?.provider)},rerank:{...t.search.rerank,...e.search?.rerank,enabled:Es(e.search?.rerank?.enabled),model:ks(e.search?.rerank?.model),top_k:vs(e.search?.rerank?.top_k)}}}function Ju(e,t){return{adapter:e.vector_store.adapter??t.vector_store.adapter,collection_name:Ss(e.vector_store.collection_name),qdrant:{...t.vector_store.qdrant,...e.vector_store.qdrant},lancedb:{...t.vector_store.lancedb,...e.vector_store.lancedb}}}function Ku(e,t){return e.item_format==="json_markdown"?"toon":e.item_format??t.item_format}function Yu(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 Qu(e,t){return{openai:{...t.providers.openai,...e.providers.openai},ollama:{...t.providers.ollama,...e.providers.ollama}}}function We(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 Rs(e){let t=hs(),n=yn({governance:e.governance??{preset:"default"}});return{...t,...e,item_format:Ku(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:qu(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:Gu(e,t),agent_guidance:Ts(e.agent_guidance??t.agent_guidance),item_types:{definitions:We(e.item_types?.definitions)},schema:Xe(e.schema??t.schema),context:Yu(e,t),extensions:{enabled:[...e.extensions.enabled],disabled:[...e.extensions.disabled],policy:As(e.extensions.policy??t.extensions.policy)},search:Xu(e,t),providers:Qu(e,t),vector_store:Ju(e,t)}}function Zu(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(H(t.identity_vocabulary),["version","aliases"])),e.agent_identity.harness_signals=zr(e.agent_identity.harness_signals).map(n=>k(H(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(H(e.schema.files),["types","statuses","fields","workflows"]),e.schema.workflow=k(H(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(H(e.context.sections),["hierarchy","activity","progress","blockers","files","workload","staleness","tests"]),e.extensions=k(e.extensions,["enabled","disabled","policy"]),e.extensions.policy=k(H(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(H(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(H(e.search.query_expansion),["enabled","provider"]),e.search.rerank=k(H(e.search.rerank),["enabled","model","top_k"]),e.providers=k(e.providers,["openai","ollama"]),e.providers.openai=k(H(e.providers.openai),["base_url","api_key","model"]),e.providers.ollama=k(H(e.providers.ollama),["base_url","model"]),e.vector_store=k(e.vector_store,["adapter","collection_name","qdrant","lancedb"]),e.vector_store.qdrant=k(H(e.vector_store.qdrant),["url","api_key"]),e.vector_store.lancedb=k(H(e.vector_store.lancedb),["path"])}function ef(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 tf(e,t){return{...e.validation,parent_reference:t.parent_reference,metadata_profile:t.metadata_profile,metadata_required_fields:Cs(e.validation?.metadata_required_fields),lifecycle_stale_blocker_reason_patterns:_e(e.validation?.lifecycle_stale_blocker_reason_patterns??b.validation.lifecycle_stale_blocker_reason_patterns),lifecycle_closure_like_blocked_reason_patterns:_e(e.validation?.lifecycle_closure_like_blocked_reason_patterns??b.validation.lifecycle_closure_like_blocked_reason_patterns),lifecycle_closure_like_resolution_patterns:_e(e.validation?.lifecycle_closure_like_resolution_patterns??b.validation.lifecycle_closure_like_resolution_patterns),lifecycle_closure_like_actual_result_patterns:_e(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 nf(e){return{...b.search,...e.search,mutation_refresh_policy:gs(e.search?.mutation_refresh_policy),query_expansion:{...b.search.query_expansion,...e.search?.query_expansion,enabled:bs(e.search?.query_expansion?.enabled),provider:ws(e.search?.query_expansion?.provider)},rerank:{...b.search.rerank,...e.search?.rerank,enabled:Es(e.search?.rerank?.enabled),model:ks(e.search?.rerank?.model),top_k:vs(e.search?.rerank?.top_k)}}}function rf(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 of(e){return{...e.vector_store,adapter:e.vector_store?.adapter??b.vector_store.adapter,collection_name:Ss(e.vector_store?.collection_name),qdrant:{...e.vector_store?.qdrant},lancedb:{...e.vector_store?.lancedb}}}function sf(e,t,n,r){return{...e,item_format:"toon",validation:tf(e,t),governance:t,agent_guidance:Ts(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:nf(e),context:rf(e),extensions:{enabled:$r(e.extensions?.enabled),disabled:$r(e.extensions?.disabled),policy:As(e.extensions?.policy)},vector_store:of(e)}}function Ns(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(!Te(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:{};Ns(c,i,s),Object.keys(c).length>0?e[o]=c:delete e[o];continue}e[o]=structuredClone(s)}}}var Ds=["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 ps(e,t){let n=ef(e),r=yn(n),o=Xe(n.schema),i=$u(n,t),s=sf(n,r,o,i),a=k({...s,governance:Nu(r)},Ds);return Zu(a),a}function af(e,t={}){let n=ps(e,t.persist_source);if(t.persist_source){let r=Rs(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=ps(r,t.persist_source),i=structuredClone(t.persist_source.source_settings);return Ns(i,o,n),`${JSON.stringify(k(i,Ds),null,2)}
153
- `}return`${JSON.stringify(n,null,2)}
154
- `}async function Ms(e){let t=vn(e),n=[t];await J({path:t,scope:"project"});let r=us(e);if(r){let l=await fe(r.tracked_paths);if(lt(l,r.signatures))return pn(r.value)}let o=await fe([t]),i;try{i=await se(t)}catch{return ut("settings_read_fs_error")}if(i===null){let l=ut();return await jr(e,[t],l,o,[t]),l}let s=await fe([t]);if(!lt(o,s))return me(e),Ms(e);let a;try{a=JSON.parse(i)}catch{let l=ut("settings_read_invalid_json");return await jr(e,[t],l,s,[t]),l}let c=ss(a);if(!c.success){let l=ut("settings_read_invalid_schema");return await jr(e,[t],l,s,[t]),l}try{let l=Rs(c.data),f=Pu(e,l.schema,t);n=f;let u=await fe(f),y=await fo(e,l.schema),p=await mo(e,l.schema),w=await fe(f),S={...l,item_types:{definitions:We([...l.item_types.definitions,...zr(p.type_definitions_from_file)])},schema:p.schema};Is(S,Mu(c.data,S));let E={settings:S,metadata:{has_explicit_item_format:zu(a)},warnings:[...c.data.item_format==="json_markdown"?["settings_item_format_legacy_json_markdown_coerced_to_toon"]:[],...y.created_paths.map(C=>`runtime_schema_bootstrap_created:${C}`),...p.warnings]};return y.created_paths.length===0?lt(u,w)?_n(e,{tracked_paths:f,signatures:w,value:pn(E)}):me(e):me(e),E}catch{let l=ut("settings_read_merge_failed");return await ju(e,n,l),l}}async function Qy(e){return(await Ms(e)).settings}async function Zy(e,t,n=Ou){let r=vn(e),o=af(t,{persist_source:xs(t)});try{await is({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 q({path:r,scope:"project",op:n})}finally{me(e)}}import cf from"node:fs/promises";import df 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 lf(e){return[...new Set(e.filter(t=>t.trim().length>0))].sort((t,n)=>t.localeCompare(n))}function uf(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 ff(e,t){return await Yr(df.dirname(e)),await(await cf.open(e,"a")).close(),q({path:e,scope:"project",op:`${t}:history:auto_create`})}async function Ur(e){return mf({pmRoot:e.pmRoot,settings:e.settings,itemIds:[e.itemId],commandLabel:e.commandLabel})}async function mf(e){let t=lf(e.itemIds),n=[],r=[];for(let o of t){let i=qe(e.pmRoot,o);if(!await Et(i)){if(e.settings.history.missing_stream==="strict_error")throw uf(o,e.commandLabel);r.push(...await ff(i,e.commandLabel)),r.push(`history_stream_auto_created:${o}`),n.push(o)}}return{auto_created_ids:n,warnings:r}}import pe 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]="f43e1170-e797-5a0c-b02e-d31e002ab275")}catch{}})();async function _f(e){try{return await pe.access(e),!0}catch{return!1}}function hn(e,t){return typeof e=="object"&&e!==null&&"code"in e&&e.code===t}function pf(e,t){e&&(e.includes(t)||e.push(t))}function Ps(e){return e??wt(tt())}function yf(e){return e==="toon"?["toon","json_markdown"]:e==="json_markdown"?["json_markdown","toon"]:["toon","json_markdown"]}function gn(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 hf(e){let t=Be.parse(Be.resolve(e)).root,n=Be.dirname(Be.resolve(e));for(;n!==t;){let r;try{r=await pe.stat(n)}catch(o){if(hn(o,"ENOTDIR"))throw gn(e);if(!hn(o,"ENOENT"))throw o;n=Be.dirname(n);continue}if(!r.isDirectory())throw gn(e);break}}async function Hr(e){let t;try{t=await pe.stat(e)}catch(n){throw hn(n,"ENOENT")?(await hf(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."]})):hn(n,"ENOTDIR")?gn(e):n}if(!t.isDirectory())throw gn(e)}async function Ls(e,t,n="pm-",r,o=ye){let i=gr(t,n),s=hr(t),a=i===s?[i]:[i,s],c=Object.entries(o),l=yf(r);for(let f of a)for(let[u]of c)for(let y of l){let p=Sn(e,u,f,y,o);if(await _f(p))return{id:f,type:u,itemPath:p,item_format:y}}return null}async function js(e,t={}){let n=await pe.readFile(e.itemPath,"utf8");await J({path:e.itemPath,scope:"project"});let r=Lt(n,{format:e.item_format,schema:t.schema,extensionFieldNames:Ps(t.extensionFieldNames),onWarning:o=>pf(t.warnings,o)});return{raw:n,document:r}}async function gf(e,t,n=ye,r,o){return await Hr(e),(await es(e,t,n,r,o)).map(s=>s.metadata)}async function Oh(e,t,n=ye,r,o){return await Hr(e),(await ts(e,t,n,r,o)).map(s=>s.metadata)}async function Ah(e,t,n=ye,r,o,i={}){return await Hr(e),(await un(e,t,n,r,o,{includeBody:!0,forceSourceScan:i.forceSourceScan})).map(a=>({...a.metadata,body:a.body}))}function Fs(e){return{async get(t){let n=await Ls(e.pmRoot,t,e.settings.id_prefix,e.settings.item_format,e.typeToFolder);if(!n)return null;let{document:r}=await js(n,{schema:e.settings.schema});return{item:r.metadata,body:r.body}},list:()=>gf(e.pmRoot,e.settings.item_format,e.typeToFolder,void 0,e.settings.schema)}}async function bf(e,t){let n=new Set(Object.values(t)),r=[];return await Promise.all([...n].map(async o=>{try{let i=await pe.readdir(Be.join(e,o));for(let s of i)for(let a of kt)if(s.toLowerCase().endsWith(a)){r.push(s.slice(0,-a.length));break}}catch{}})),r}async function wf(e,t,n,r){let o=gr(t,n),i=await bf(e,r);if(i.length===0)return[];let s=Math.max(3,Math.floor(o.length/2));return i.map(c=>({id:c,distance:_t(c,o,s)})).filter(c=>c.distance!==null).sort((c,l)=>c.distance-l.distance).slice(0,3).map(c=>c.id)}async function Ef(e,t,n,r){let o=await wf(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 kf(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 $s(e){let t=e.typeToFolder??Zr(e.settings,tt()).type_to_folder,n=await Ls(e.pmRoot,e.id,e.settings.id_prefix,e.settings.item_format,t);if(!n)throw await Ef(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 js(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=yn(e.settings);if(a&&c!==l&&!e.force&&!kf(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 vf(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 Sf(e){if(!e.skipItemWrite){if(e.effectiveTargetItemPath!==e.originalItemPath){await z(e.originalItemPath,e.originalRaw),await pe.rm(e.effectiveTargetItemPath,{force:!0});return}await z(e.originalItemPath,e.originalRaw)}}async function Ch(e){let t=await $s({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=V(i,{schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),l=V(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=ke();let u=V(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:Fs({pmRoot:e.pmRoot,settings:e.settings,typeToFolder:n})});let y=await Ur({pmRoot:e.pmRoot,settings:e.settings,itemId:r.id,commandLabel:e.op}),p="toon",w=Zo(u,{format:p,schema:e.settings.schema,extensionFieldNames:e.extensionFieldNames}),S=Sn(e.pmRoot,u.metadata.type,r.id,p,n),E=qe(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:p,before:c,after:u,contents:w}),{effectiveTargetItemPath:N,effectiveSerializedAfter:oe,skipItemWrite:M}=vf(C,S,w),bn=await Or(e.pmRoot,e.author),ft=[];try{M||await z(N,oe),!M&&N!==r.itemPath&&await pe.rm(r.itemPath);let wn=Fe({nowIso:u.metadata.updated_at,author:e.author,op:e.op,before:c,after:u,message:e.message});try{await $e(E,wn)}catch(mt){throw await Sf({skipItemWrite:M,effectiveTargetItemPath:N,originalItemPath:r.itemPath,originalRaw:o}),mt}M||(ft=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 bn()}let Q=[...await q({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 q({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:jt(c.metadata,f.changedFields),current:jt(u.metadata,f.changedFields),changed_fields:f.changedFields}),{item:u.metadata,body:u.body,changedFields:f.changedFields,warnings:[...s,...f.warnings??[],...y.warnings,...C.warnings,...ft,...Q]}}finally{await a()}}async function Rh(e){let t=await $s({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=Ps(void 0),c=V(o,{schema:e.settings.schema,extensionFieldNames:a});await rr({pm_root:e.pmRoot,operation:"delete",before:c,after:null,changed_fields:["deleted"],sdk:Fs({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=ke(),u=xe,y=Fe({nowIso:f,author:e.author,op:"delete",before:c,after:u,message:e.message}),p=qe(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:p,before:c}),S=n.itemPath,E=!1;if(w.handled&&typeof w.result=="object"&&w.result!==null){let M=w.result;typeof M.item_path=="string"&&M.item_path.trim().length>0&&(S=M.item_path),M.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 pe.rm(S);try{await $e(p,y)}catch(M){throw E||await z(S,r),M}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 oe=[...await q({path:S,scope:"project",op:"delete",item_id:c.metadata.id,item_type:c.metadata.type,before:c,after:u,changed_fields:["deleted"]}),...await q({path:p,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:jt(c.metadata,Object.keys(c.metadata)),changed_fields:["deleted"]}),{item:c.metadata,changedFields:["deleted"],warnings:[...i,...l.warnings,...w.warnings,...N,...oe]}}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 If(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:_t(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 zs(e){return["pm",...e].map(t=>/^[A-Za-z0-9_./:@=-]+$/u.test(t)?t:JSON.stringify(t)).join(" ")}function Lh(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(y=>y.trim()))].filter(Boolean).sort((y,p)=>y.localeCompare(p));if(t.length===0||r.length===0||o.length===0)throw new TypeError("Unknown-subcommand contracts require a path, token, and allowed set");let i=t.split(" "),s=e.trailing_args??[],a=e.display_name??`pm ${t}`,c=e.token_kind??"subcommand",l=e.retry_command?void 0:If(r,o),f=zs([...i,r,...s]),u=e.retry_command??(l?zs([...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{Gm as a,Yc as b,s_ as c,sd as d,a_ as e,c_ as f,d_ as g,l_ as h,u_ as i,f_ as j,m_ as k,tt as l,nr as m,jt as n,q as o,rr as p,J as q,or as r,__ as s,p_ as t,ee as u,kd as v,be as w,Tn as x,Of as y,Af as z,It as A,Nn as B,Lf as C,jf as D,Ff as E,$f as F,zf as G,Uf as H,$n as I,Ks as J,Kf as K,Yf as L,Qf as M,Wn as N,To as O,Zf as P,em as Q,tm as R,fa as S,Co as T,Ro as U,ke as V,$ as W,lm as X,um as Y,re as Z,Ho as _,Ke as $,vm as aa,Sm as ba,Ce as ca,Fo as da,mm as ea,$o as fa,Na as ga,_m as ha,Nt as ia,Ma as ja,gm as ka,Dt as la,Pt as ma,Lt as na,Zo as oa,V as pa,Pe as qa,D_ as ra,M_ as sa,tp as ta,np as ua,Cd as va,nt as wa,K as xa,wp as ya,pr as za,Ep as Aa,Fe as Ba,$e as Ca,Fd as Da,Xt as Ea,Gt as Fa,Jt as Ga,Ap as Ha,Cp as Ia,Si as Ja,Kt as Ka,Ud as La,Yt as Ma,Rp as Na,Np as Oa,dt as Pa,Cr as Qa,Ay as Ra,Cy as Sa,Ry as Ta,Ny as Ua,is as Va,Ly as Wa,yn as Xa,Ms as Ya,Qy as Za,Zy as _a,Ur as $a,mf as ab,Ti as bb,hr as cb,gr as db,$p as eb,Vp as fb,qp as gb,Gp as hb,Ji as ib,Ol as jb,Or as kb,hy as lb,Ar as mb,un as nb,Ls as ob,js as pb,gf as qb,Oh as rb,Ah as sb,Fs as tb,Ef as ub,Ch as vb,Rh as wb,Lh as xb};
155
- //# sourceMappingURL=chunk-PGXJQLCT.js.map